API REST completa para gerenciamento de usuarios, desenvolvida com Node.js, Express e MongoDB.
- Autenticacao com JWT
- Gerenciamento completo de usuarios (CRUD)
- Validacao de entrada com Joi
- Hash seguro de senhas com bcrypt
- Tratamento de erros robusto
- Modulos bem estruturados
- Documentacao com Swagger
- Node.js - Runtime JavaScript
- Express - Framework web
- MongoDB - Banco de dados NoSQL
- Mongoose - ODM para MongoDB
- JWT - Autenticacao
- bcrypt - Hashing de senhas
- Joi - Validacao de schema
- Node.js (v14+)
- npm ou yarn
- MongoDB
- Clone o repositorio:
git clone https://github.com/nilotj/api-usuarios-nodejs.git
cd api-usuarios-nodejs- Instale as dependencias:
npm install- Configure as variaveis de ambiente:
cp .env.example .env- Inicie a API:
npm start
# ou em modo desenvolvimento
npm run devPOST /api/auth/register - Registrar novo usuario
POST /api/auth/login - Login de usuario
GET /api/users - Listar todos os usuarios
GET /api/users/:id - Obter usuario por ID
POST /api/users - Criar novo usuario
PUT /api/users/:id - Atualizar usuario
DELETE /api/users/:id - Deletar usuario
api-usuarios-nodejs/
├── src/
│ ├── models/
│ │ └── User.js # Schema do Mongoose
│ ├── routes/
│ │ ├── auth.js # Rotas de autenticacao
│ │ └── users.js # Rotas de usuarios
│ ├── controllers/
│ │ ├── authController.js
│ │ └── userController.js
│ ├── middleware/
│ │ ├── auth.js # Middleware de autenticacao
│ │ └── errorHandler.js # Tratamento de erros
│ └── app.js # Configuracao da aplicacao
├── .env.example # Variaveis de ambiente
├── package.json # Dependencias
└── README.md # Este arquivo
PORT=3000
MONGODB_URI=mongodb://localhost:27017/usuarios
JWT_SECRET=sua_chave_secreta_super_segura
NODE_ENV=development
Este projeto eh de codigo aberto sob a licenca MIT.
Contribuicoes sao bem-vindas! Por favor:
- Fork o projeto
- Crie uma branch para sua feature
- Commit suas mudancas
- Push para a branch
- Abra um Pull Request
Se este projeto foi util, considere dar uma star!