Tamarind é uma aplicação completa de produtividade que permite gerenciar tarefas, notas, listas e rotinas diárias. Construída com uma arquitetura moderna de monorepo, oferece uma experiência de usuário fluida e intuitiva com sincronização em tempo real.
- ✅ Gerenciamento de Tarefas - Crie, edite e organize suas tarefas com facilidade
- 📝 Notas Ricas - Editor de texto formatado para suas anotações
- 📋 Listas Personalizadas - Organize tarefas em listas customizadas
- 🔄 Rotinas Diárias - Acompanhe e gerencie suas rotinas com reset automático
- 📊 Visualização Kanban - Visualize suas tarefas em formato de quadro Kanban
- 🎨 Interface Moderna - Design responsivo com suporte a tema claro/escuro
- 🔐 Autenticação Segura - Integração com Clerk para autenticação robusta
- ⏱️ Pomodoro Timer - Técnica Pomodoro integrada para melhor produtividade
Este projeto utiliza uma arquitetura de monorepo gerenciada pelo Turborepo, permitindo compartilhamento de código e configurações entre os diferentes pacotes e aplicações.
Tamarind/
├── apps/
│ ├── tamarind-api/ # API REST backend
│ └── tamarind-web/ # Aplicação Next.js frontend
├── packages/
│ ├── eslint-config/ # Configurações compartilhadas do ESLint
│ ├── typescript-config/ # Configurações TypeScript compartilhadas
│ └── ui/ # Componentes UI compartilhados
└── turbo.json # Configuração do Turborepo
- Next.js 15 - Framework React com App Router
- React 19 - Biblioteca UI
- TypeScript - Tipagem estática
- Tailwind CSS - Estilização utilitária
- Clerk - Autenticação e gerenciamento de usuários
- Draft.js - Editor de texto rico
- Axios - Cliente HTTP
- Express.js - Framework web Node.js
- MongoDB - Banco de dados NoSQL
- Clerk Express - Middleware de autenticação
- Node Cron - Agendamento de tarefas (reset de rotinas)
- CORS - Configuração de políticas de origem cruzada
- Turborepo - Build system e cache para monorepo
- pnpm - Gerenciador de pacotes
- ESLint - Linter de código
- Prettier - Formatador de código
- TypeScript - Verificação de tipos
- Node.js >= 18.0.0
- pnpm >= 9.0.0
- MongoDB (local ou cluster remoto)
- Conta no Clerk para autenticação
-
Clone o repositório
git clone https://github.com/PHCavalcante/Tamarind.git cd Tamarind -
Instale as dependências
pnpm install
-
Configure as variáveis de ambiente
Crie um arquivo
.envna raiz do projeto e em cada app conforme necessário:Backend (
apps/tamarind-api/.env):STRING_CONNECTION=mongodb://localhost:27017/todoDB CORS_ORIGIN=http://localhost:3001 CLERK_SECRET_KEY=your_clerk_secret_key
Frontend (
apps/tamarind-web/.env.local):NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key CLERK_SECRET_KEY=your_clerk_secret_key NEXT_PUBLIC_API_URL=http://localhost:3000
-
Execute o projeto em modo desenvolvimento
pnpm dev
Isso iniciará:
- Frontend em
http://localhost:3001 - Backend em
http://localhost:3000(API)
- Frontend em
No diretório raiz, você pode executar:
| Comando | Descrição |
|---|---|
pnpm dev |
Inicia todos os apps em modo desenvolvimento |
pnpm build |
Constrói todos os apps e pacotes |
pnpm lint |
Executa o linter em todos os pacotes |
pnpm format |
Formata o código com Prettier |
pnpm check-types |
Verifica tipos TypeScript em todo o projeto |
-
tamarind-web- Aplicação frontend Next.js- Interface de usuário completa
- Gerenciamento de estado com Context API
- Componentes reutilizáveis
-
tamarind-api- API REST Express.js- Endpoints para tarefas, notas, listas e rotinas
- Scheduler para reset automático de rotinas
- Integração com MongoDB
Contribuições são bem-vindas! Por favor:
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Feito com ❤️ por PHCavalcante