Skip to content

DeveloperCommunitty/to-do-list_back-end

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

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5