Um aplicativo moderno de anotações com sincronização em tempo real, suporte a múltiplos tipos de conteúdo e interface intuitiva.
- Notas de texto - Crie anotações rápidas e simples
- Notas com imagens - Faça upload de imagens
- Desenhos - Crie desenhos à mão livre com canvas interativo
- Listas de tarefas - Organize tarefas com checklists marcáveis
- Preview de links - Cole URLs e veja previews automáticos
- Fixar notas - Mantenha notas importantes sempre no topo
- Redimensionar cards - Alterne entre tamanho normal e largo
- Grid responsivo - Layout adaptável para mobile e desktop
- Expandir cards - Pressione e segure para visualização completa
- Atualizações automáticas a cada 3 segundos
- Sincronização entre múltiplos dispositivos
- Indicador visual de sincronização
- Updates otimistas para resposta instantânea
- Landing page na primeira visita
- Background quadriculado animado
- Animações suaves com Framer Motion
- Design responsivo e moderno
- PWA Ready
- Next.js 15 - Framework React com App Router
- React 19 - Biblioteca UI com hooks modernos
- TypeScript - Type safety e melhor DX
- Tailwind CSS 4 - Estilização utilitária
- Framer Motion - Animações fluidas
- MongoDB - Banco de dados NoSQL
- Onest Font - Tipografia moderna
# Clone o repositório
git clone <seu-repositorio>
# Instale as dependências
npm install
# ou
yarn install
# ou
pnpm install- Crie um arquivo
.env.localna raiz do projeto:
MONGODB_URI=sua_connection_string_do_mongodb- Configure seu banco de dados MongoDB (local ou MongoDB Atlas)
# Modo desenvolvimento
npm run dev
# Build para produção
npm run build
# Iniciar produção
npm startAbra http://localhost:3000 no navegador.
checkered/
├── src/
│ ├── app/
│ │ ├── api/
│ │ │ ├── auth/ # NextAuth configuração
│ │ │ ├── notes/ # API REST para notas
│ │ │ └── link-preview/ # API para preview de links
│ │ ├── privacy/ # Política de Privacidade
│ │ ├── terms/ # Termos de Serviço
│ │ ├── layout.tsx
│ │ ├── page.tsx
│ │ └── globals.css
│ ├── components/
│ │ ├── Card.tsx # Componente de nota
│ │ ├── Input.tsx # Input de criação
│ │ ├── LandingPage.tsx # Página inicial
│ │ ├── DrawingCanvas.tsx # Canvas de desenho
│ │ ├── TasksModal.tsx # Modal de tarefas
│ │ ├── SyncIndicator.tsx # Indicador de sync
│ │ └── ...
│ ├── hooks/
│ │ └── useMongoDB.ts # Hook de sincronização
│ └── lib/
│ └── linkPreview.ts # Lógica de preview
├── public/
│ ├── manifest.json # PWA manifest
│ └── ...
└── package.json
- Criar nota de texto: Digite no input e pressione Enter ou clique na seta
- Adicionar imagem/desenho/tarefa: Clique no ícone + ao lado do input
- Fixar nota: Expanda o card e clique no ícone de pin no menu
- Redimensionar: Expanda o card e use o switch de tamanho
- Copiar texto: Toque rápido em uma nota de texto
- Deletar: Expanda o card e clique no ícone de lixeira
GET /api/notes- Lista todas as notasPOST /api/notes- Cria uma nova notaPUT /api/notes/[id]- Atualiza uma notaDELETE /api/notes/[id]- Deleta uma notaGET /api/link-preview?url=...- Obtém preview de um link
O app está configurado como Progressive Web App. Para instalar:
- Acesse o site no navegador
- Clique em "Instalar" ou "Adicionar à tela inicial"
- Use como app nativo!