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