Este projeto consiste em uma aplicação web fullstack para gerenciamento de tarefas. Os usuários podem criar, visualizar, editar e excluir tarefas, utilizando autenticação baseada em JWT. A aplicação é composta por um front-end em React, um back-end em Node.js com Express e um banco de dados MongoDB gerenciado via Mongoose.
- Front-end: React + TypeScript
- Back-end: Node.js + Express + TypeScript
- Banco de Dados: MongoDB
- ODM: Mongoose
- Autenticação: JWT
- Docker: Docker Compose para ambiente de desenvolvimento
- Testes: Jest + Supertest para a API
/project-root
│── /client # Front-end React
│── /server # Back-end Express
│── docker-compose.yml
│── README.md
Caso não utilize o Docker, é necessário rodar um servidor MongoDB localmente.
cd server
npm install
npm run start
A API ficará acessível em http://localhost:3000
cd client
npm install
npm run dev
A aplicação React ficará acessível em http://localhost:8080
A aplicação pode ser inicializada completamente usando o Docker Compose, para isso é necessário instalar as dependências do frontend inicialmente.
cd client
npm install
docker-compose up --build
Isso iniciará os seguintes serviços:
- Front-end React em
http://localhost:8080
- API Express em
http://localhost:3000
- Banco de dados MongoDB
Os testes estão configurados para a API e podem ser executados com:
cd server
npm run test