Este é um projeto de gerenciamento de tarefas, com funcionalidades de criação, leitura, atualização e exclusão (CRUD). A aplicação possui autenticação e cadastro de usuários, além de uma interface responsiva e intuitiva para gerenciar as tarefas. Este projeto foi desenvolvido com foco na utilização de boas práticas e tecnologias modernas.
Antes de acessar o deploy do frontend, entre no link do backend para a aplicação voltar a funcionar. Pode levar alguns segundos para inicializar devido à suspensão automática da Render
- Repositório no GitHub: https://github.com/Kaduh15/task-manager
- Deploy do Frontend (Vercel): https://task-manager-rose-zeta.vercel.app/
- Deploy do Backend (Render): https://task-manager-wysd.onrender.com
- Express.js
- TypeScript
- Prisma ORM
- Zod
- JWT (para autenticação)
- Next.js
- shadcn/ui
- Tailwind CSS
- React Hook Form
- Zod (para validação)
- Server Actions (ZSA)
- Cadastro e autenticação de usuários (usando JWT)
- Criação, leitura, atualização e exclusão de tarefas
- Interface responsiva e intuitiva
- Marcação de tarefas como concluídas
- Validação de formulários com React Hook Form e Zod
A API possui as seguintes rotas:
- POST
/api/auth/login
: Login do usuário - POST
/api/auth/register
: Cadastro de usuário
- GET
/api/task/
: Listar tarefas - POST
/api/task/
: Criar nova tarefa - DELETE
/api/task/{id}
: Excluir tarefa - GET
/api/task/{id}
: Obter tarefa por ID - PUT
/api/task/{id}
: Atualizar tarefa - PUT
/api/task/{id}/completed
: Marcar tarefa como concluída - PUT
/api/task/{id}/un-completed
: Marcar tarefa como não concluída
Para mais detalhes e testes, a documentação Swagger está disponível em:
https://task-manager-wysd.onrender.com/docs
O backend foi deployado na Render e o frontend na Vercel.
As URLs podem levar alguns segundos para carregar devido à suspensão automática dos servidores quando inativos.
- Frontend Deploy: https://task-manager-rose-zeta.vercel.app/
- Backend Deploy: https://task-manager-wysd.onrender.com
- Docker e Docker Compose instalados
-
Clone o projeto:
git clone https://github.com/Kaduh15/task-manager.git
-
Navegue até a pasta do projeto:
cd task-manager
-
Inicie os containers em modo de produção:
pnpm compose:up
Para rodar em modo de desenvolvimento, utilize:
pnpm compose:up:dev
-
Para parar os containers:
pnpm compose:down
-
A aplicação estará disponível em
http://localhost:3002
(Frontend) ehttp://localhost:3001
(Backend).
Caso prefira rodar a aplicação sem Docker, siga os passos abaixo:
-
Navegue até a pasta do backend e instale as dependências:
cd apps/api pnpm install
-
Faça o mesmo para o frontend:
cd ../web pnpm install
-
Configure as variáveis de ambiente conforme necessário (consultar
.env.example
). -
Execute ambos os servidores:
pnpm dev
Este projeto foi desenvolvido com foco em boas práticas de desenvolvimento, utilizando tecnologias modernas e garantindo uma boa experiência de usuário. Sinta-se à vontade para clonar o repositório e contribuir com melhorias.