Este é um projeto consiste em uma aplicação CRUD simples para um sistema de gerenciamento de tarefas (to-do list) utilizando React, Typescript e Bootstrap no Frontend e Nodejs, Typescript e MySQL no Backend.
Este repositório utiliza Docker para unir as aplicações do front e back end em um sistema isolado e preparado para executar em qualquer ambiente.
- Logar
- Criar perfil
- Visualizar perfil
- Editar Perfil
- Excluir Perfil
- Criar tarefas
- Visualizar tarefas em tabela paginada
- Filtrar tarefas por status
- Buscar tarefas por título e descrição
- Marcar tarefas como concluídas
- Editar tarefas
- Excluir tarefas
| Campo | Regras |
|---|---|
| name | 2 <= tamanho <= 50 |
| name | Obrigatório |
| 5 <= tamanho <= 60 | |
| incluir @ no meio | |
| Obrigatório | |
| password | 8 <= tamanho <= 30 |
| password | Obrigatório |
| Campo | Regras |
|---|---|
| title | 3 <= tamanho <= 100 |
| title | Obrigatório |
| description | tamanho <= 300 |
| description | Opcional |
| deadline | Data futura |
| deadline | Obrigatório |
| status | "pending" ou "complete" |
| status | Sṍ pode ser "complete" se estiver dentro do prazo |
| status | Obrigatório |
Foi desenvolvida uma API Rest para o backend da aplicação, realizando o CRUD de usuários e tarefas, aplicando todas as regras de negócios e realizando o login de usuário.
As ferramentas escolhidas para o backend foram:
| TypeScript | Node | MySQL | Docker |
Mais informações (como endpoints e as regras aplicadas) na pasta backend.
Foi construído uma interface visualmente agradável, responsiva e funcional, apresentando todas as funcionalidades exigidas e algumas mais.
As ferramentas escolhidas para o frontend foram:
![]() |
![]() |
|
|---|---|---|
| TypeScript | React | Bootstrap |
Mais informações (como rotas e as regras aplicadas) na pasta frontend.
| Ferramenta | Versão |
|---|---|
| Docker | 27.3.1 |
| Docker Compose | 2.20.3 |
É usado um .env para o backend e outro para o frontend para garantir maior versatilidade e modularização do código, contudo, há valores padrões pré-estabelecidos que garantem a funcionalidade mesmo sem o .env.
Porém, é necessário passar a variável APP_MODE=dev para o backend para que ele use os valores padrões com maior segurança.
Recomenda-se seguir o .env_sample, que é um .env único usado tanto para o back quanto para o front.
É necessário permitir a execução com:
chmod +x ./*.sh./start.sh./stop.sh./clean.sh
