Este projeto é uma API RESTful completa para gerenciamento de uma Lista de Tarefas (To-Do List).
O objetivo é demonstrar conhecimentos sólidos em Node.js, Express, Docker e MySQL, aplicando boas práticas de arquitetura e desenvolvimento back-end.
o Front-end Sera feito e Desenvolvimento com javascript, HTML e CSS. o Basico mas funcional.
Com essa aplicação, é possível criar, listar, atualizar e deletar tarefas, persistindo os dados em um banco relacional.
- Node.js – ambiente de execução JavaScript no servidor.
- Express.js – framework para criação da API RESTful.
- MySQL – banco de dados relacional para persistência das tarefas.
- Docker – conteinerização da aplicação para padronizar o ambiente de execução.
- Criar uma nova tarefa ✅
- Listar todas as tarefas 📋
- Atualizar uma tarefa ✏️
- Deletar uma tarefa 🗑️
Antes de rodar o projeto, verifique se possui instalado:
- Node.js (versão LTS recomendada)
- Docker e Docker Compose
- MySQL Workbench ou outro cliente SQL (opcional, para visualizar os dados).
- Clonar o repositório
git clone https://github.com/apenasjoo/ToDoList.git
cd ToDoList- Instalar as dependências
npm install- Configurar variáveis de ambiente
Crie um arquivo.envna raiz do projeto com as credenciais do banco de dados:
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=sua_senha
DB_NAME=todolist
DB_PORT=3306- Rodar com Docker
docker-compose up --build- Testar a API
Acesse:
http://localhost:3000/api/tasks
| Método | Rota | Descrição |
|---|---|---|
| GET | /api/tasks |
Lista todas as tarefas |
| POST | /api/tasks |
Cria uma nova tarefa |
| PUT | /api/tasks/:id |
Atualiza uma tarefa |
| DELETE | /api/tasks/:id |
Remove uma tarefa |
- Uso de Docker para garantir portabilidade e fácil setup do ambiente.
- Arquitetura baseada em RESTful APIs, aplicando boas práticas.
- Integração com banco de dados relacional (MySQL).
- Projeto estruturado para crescer em complexidade, permitindo futuras implementações de autenticação, testes automatizados e frontend integrado.
Este projeto foi desenvolvido com o objetivo de demonstrar habilidades práticas em desenvolvimento back-end e front-end usando o ecossistema Node.js aliado a bancos de dados relacionais e práticas modernas como containerização com Docker.
Se você é recrutador: este repositório reflete meu comprometimento em escrever código limpo, estruturado e escalável, pronto para evoluir em ambientes de produção.
Feito com dedicação por João 🚀