Este projeto é uma aplicação full-stack para gerenciamento de tarefas, composta por uma API desenvolvida com NestJS e um frontend desenvolvido com React e TypeScript.
.
├── .editorconfig
├── .env
├── .env.production
├── .eslintrc.js
├── .idea/
├── .prettierrc
├── docker-compose.yml
├── readme.md
├── task-api/
│ ├── .editorconfig
│ ├── .eslintignore
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── .prettierrc
│ ├── Dockerfile
│ ├── nest-cli.json
│ ├── package.json
│ ├── README.md
│ ├── src/
│ ├── test/
│ ├── tsconfig.build.json
│ ├── tsconfig.json
├── task-ui-react/
│ ├── .gitignore
│ ├── Dockerfile
│ ├── eslint.config.js
│ ├── index.html
│ ├── package.json
│ ├── postcss.config.js
│ ├── src/
│ ├── tailwind.config.js
│ ├── tsconfig.json
│ ├── tsconfig.app.json
│ ├── tsconfig.node.json
│ ├── vite.config.ts
- Backend: NestJS, TypeScript, TypeORM, PostgreSQL
- Frontend: React, TypeScript, Vite, TailwindCSS
- Infraestrutura: Docker, Docker Compose
- Docker
- Docker Compose
Crie um arquivo .env na raiz do projeto com o seguinte conteúdo:
NODE_ENV=development
API_PORT=3000
INTERNAL_API_PORT=3000
API_COMMAND=start:dev
UI_PORT=5173
UI_COMMAND=dev
UI_URL=http://localhost
DB_HOST=postgres
DB_PORT=5432
DB_USERNAME=DB_USERNAME
DB_PASSWORD=DB_PASSWORD
DB_DATABASE_NAME=task_manager
Para iniciar a aplicação, execute o seguinte comando:
docker-compose --env-file .env up -d --buildO backend é uma API desenvolvida com NestJS seguindo os princípios da Arquitetura Limpa (Clean Architecture).
- GET /task: Lista todas as tarefas
- POST /task: Cria uma nova tarefa
- GET /task/:id: Retorna uma tarefa específica
- PATCH /task/:id: Atualiza uma tarefa específica
- DELETE /task/:id: Remove uma tarefa específica
Para executar os testes, utilize o comando:
npm run testO frontend é uma aplicação React desenvolvida com TypeScript e Vite.
npm run dev: Inicia o servidor de desenvolvimentonpm run build: Compila a aplicação para produçãonpm run lint: Executa o linter
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.
Este projeto está licenciado sob a licença MIT. Consulte o arquivo LICENSE para obter mais informações.