Skip to content

Sistema de gerenciamento de tarefas (to-do list). Aplicação desenvolvida com Nodejs, Typescript e MySQL (backend) e React, Typescript e Bootstrap (frontend).

Notifications You must be signed in to change notification settings

Propato/to-do-list

Repository files navigation

To Do List

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.

Funcionalidades

  • 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

Regras de Negocio

Usuários

Campo Regras
name 2 <= tamanho <= 50
name Obrigatório
email 5 <= tamanho <= 60
email incluir @ no meio
email Obrigatório
password 8 <= tamanho <= 30
password Obrigatório

Tarefas

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

⚙️ Tools

Backend

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:

Icon TypeScript Icon Node Icon MySQL Icon Docker
TypeScript Node MySQL Docker

Mais informações (como endpoints e as regras aplicadas) na pasta backend.

Frontend

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:

Icon TypeScript Icon React Icon Bootstrap
TypeScript React Bootstrap

Mais informações (como rotas e as regras aplicadas) na pasta frontend.

Pré-requisitos

Versões utilizadas

Ferramenta Versão
Docker 27.3.1
Docker Compose 2.20.3

.env

É 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.

Scripts

É necessário permitir a execução com:

chmod +x ./*.sh

Executando

./start.sh

Encerrando

./stop.sh

Limpando recursos Docker

./clean.sh
by David Propato @Propato

About

Sistema de gerenciamento de tarefas (to-do list). Aplicação desenvolvida com Nodejs, Typescript e MySQL (backend) e React, Typescript e Bootstrap (frontend).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published