API REST desenvolvida durante a Next Level Week 6 (NLW Together) da Rocketseat.
Sistema de reconhecimento entre usuários: envie elogios com tags para seus colegas! 🚀
O NLW Valoriza é uma aplicação back-end que permite:
- Cadastrar usuários
- Criar tags de reconhecimento (somente administradores)
- Enviar elogios entre usuários associados a uma tag
Usuários
- Não é permitido cadastrar mais de um usuário com o mesmo e-mail
- Não é permitido cadastrar usuário sem e-mail
Tags
- Não é permitido cadastrar tag sem nome
- Não é permitido cadastrar mais de uma tag com o mesmo nome
- Somente administradores podem cadastrar tags
Elogios (em desenvolvimento)
- Não é permitido um usuário elogiar a si mesmo
- Não é permitido cadastrar elogios para usuários inválidos
- O usuário precisa estar autenticado
src/
├── controllers/ # Controladores das rotas
├── database/ # Configuração do banco e migrations
│ └── migrations/ # Criação das tabelas
├── entities/ # Entidades TypeORM (modelos)
├── middlewares/ # Middlewares (ex: autenticação admin)
├── repositories/ # Camada de acesso ao banco
├── services/ # Regras de negócio
├── routes.ts # Definição das rotas
└── server.ts # Entrada da aplicação
git clone https://github.com/danielfalcaodf/apiNodeJS-nlwValoriza.git
cd apiNodeJS-nlwValorizayarn installcp .env.example .envEdite o arquivo .env conforme necessário.
yarn typeorm migration:runO banco SQLite será criado automaticamente em
src/database/database.sqlite.
yarn devO servidor estará disponível em: http://localhost:3001
docker build -t nlw-valoriza .
docker run -p 3001:3001 nlw-valoriza| Método | Rota | Descrição | Auth |
|---|---|---|---|
| GET | / | Health check | — |
| POST | /users | Cadastrar usuário | — |
| POST | /login | Autenticar usuário (retorna token) | — |
| POST | /tags | Cadastrar tag de reconhecimento | Admin |
| POST | /compliments | Enviar elogio com tag | JWT |
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.