Skip to content

Repository files navigation

📝 Lista Colaborativa de Tarefas (To-Do List)

Este repositório contém o backend de um sistema simples onde os usuários podem: Fazer login para acessar uma lista de tarefas. Criar, editar, excluir e marcar tarefas como concluídas. com filtros de "Concluídas" e "Pendentes". Além de recuperar sua senha via um token enviado por email.

📋 Funcionalidades

  1. Autenticação e Autorização
  • Login com JWT e separação de papéis (usuário/administrador).
  • Recuperação de senha via token enviado por e-mail.
  • Registro de usuário com validação.
  1. Usuário
  • Tarefas: criar, editar, excluir, marcar como concluída/pendente.
  • Listagem: filtro de tarefas concluídas e pendentes.
  • Perfil: atualizar informações pessoais.
  1. Administrador
  • Usuários: listar, editar, excluir usuários.

  • Administração: Permissões específicas para usuários administradores, incluindo operações avançadas de gerenciamento.

🛠 Tecnologias Utilizadas

  • 🔴 NestJS: Framework Node.js para a construção de APIs robustas e escaláveis.
  • 🔗 Prisma: ORM para Node.js e JavaScript, facilitando o gerenciamento do banco de dados.
  • 🐳 Docker: Solução para desenvolvimento e execução de aplicativos em contêineres.
  • 📦 PostgreSQL: Banco de dados relacional robusto e eficiente.

🚀 Começando

Pré-requisitos

  • Node.js (v20 ou superior)

  • Docker Compose (opcional, para rodar o ambiente de forma isolada)

  • PostgreSQL (se preferir rodar o banco de dados localmente)

💻 Instalação

# Clone este repositório
$ git clone https://github.com/DeveloperCommunitty/to-do-list_back-end.git

# Acesse a pasta do projeto no terminal/cmd
$ cd to-do-list_back-end

# Instale as dependências
$ npm install

# Configure o banco de dados
# Duplique o arquivo .env.example e renomeie a cópia para .env.
# Em seguida, adicione as credenciais corretas no campo DATABASE_URL:
DATABASE_URL="postgresql://usuario:senha@localhost:5432/nome_do_banco"

# Rode as migrações do banco de dados
$ npx prisma migrate dev

#Crie o usuário administrador para as rotas protegidas
$ npm run access-dm

# Execute a aplicação em modo de desenvolvimento
$ npm run start:dev

🐳 Utilização com Docker

# Caso prefira rodar com Docker, utilize o comando abaixo para iniciar o ambiente com Docker Compose
$ docker-compose up

Abrir http://localhost:3000/docs com seu navegador para ver o resultado.

🔑 Autenticação e Autorização

Este projeto utiliza autenticação baseada em tokens JWT para proteger as rotas. Abaixo esta o usuário de teste disponível

Tipo de Usuário Email Senha
Admin admin@example.com secret

📄 Licença

Este projeto está licenciado sob a licença MIT.

👥 Autores


Jhoão Pedro

Gerente de Projeto

Pedro Gabriel

Analista do Backend

Victor Daniel

Programador

José Vítor

Programador

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages