TaskHub é uma aplicação web de código aberto que permite o gerenciamento de tarefas e a colaboração em projetos. Com funcionalidades como autenticação de usuários, gerenciamento de projetos e tarefas, e uma interface intuitiva, TaskHub é a ferramenta perfeita para equipes que precisam organizar seu fluxo de trabalho.
-
Autenticação e Autorização
- Registro de usuários
- Login e Logout
- Recuperação de senha
- Autorização baseada em funções (Admin, Usuário)
-
Gerenciamento de Projetos
- Criação, edição e exclusão de projetos
- Adicionar membros a projetos
- Visualização de tarefas por projeto
-
Gerenciamento de Tarefas
- Criação, edição e exclusão de tarefas
- Atribuir tarefas a membros do projeto
- Definir prazos e prioridades
- Marcar tarefas como concluídas
-
Dashboard
- Visão geral dos projetos e tarefas
- Filtros por status de tarefas (pendente, em progresso, concluída)
- React.js com Next.js
- Styled Components ou Tailwind CSS
- Formik e Yup para formulários e validação
- Node.js com Express
- PostgreSQL ou MongoDB
- Prisma ou Sequelize
- JWT para autenticação
- Jest e React Testing Library (frontend)
- Supertest e Jest (API)
- Testes unitários e de integração
- CI/CD com GitHub Actions
- Hospedagem do frontend no Vercel ou Netlify
- Hospedagem do backend em uma VPS ou Heroku
- Docker para containerização
- ESLint e Prettier
- Husky e lint-staged
- Documentação com Storybook
- Controle de versionamento usando Git e GitHub
-
Clone o repositório:
git clone https://github.com/seu-usuario/taskhub.git cd taskhub
-
Instale as dependências:
npm install
-
Configure as variáveis de ambiente:
Crie um arquivo
.env
na raiz do projeto e defina as variáveis de ambiente necessárias:DATABASE_URL=seu-banco-de-dados-url JWT_SECRET=seu-segredo-jwt
-
Execute a aplicação:
Para iniciar o servidor de desenvolvimento:
npm run dev
Para buildar a aplicação para produção:
npm run build npm start
-
Acesse a aplicação:
Acesse
http://localhost:3000
no seu navegador para visualizar a aplicação.
-
Para rodar os testes unitários e de integração:
npm test
-
Buildar a imagem Docker:
docker build -t taskhub .
-
Rodar o container:
docker run -p 3000:3000 taskhub
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.
- Faça um fork do projeto.
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature
). - Commit suas alterações (
git commit -m 'Adiciona nova feature'
). - Faça push para a branch (
git push origin feature/nova-feature
). - Abra um Pull Request.
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Lucas Ultremare - @lucasultremare
TaskHub - Organize, colabore e conquiste suas tarefas com eficiência.