Uma API RESTful com autenticação de usuários, desenvolvida em Node.js e MongoDB. Projeto ideal para aprender os fundamentos de back-end, segurança e integração com banco de dados!
Todo o passo a passo de criação e desenvolvimento desse projeto se encontra em meu canal do youtube! Acesse: youtube.com/@Francinaldob
Olá, Sou Francinaldo Batista
📍 Localidade: Campina Grande, Paraíba
🎓 Formação: Sistemas de informação - UniFacisa, 4° Semestre
- Cadastro e autenticação de usuários (JWT)
- Criptografia de senhas com Bcrypt
- CRUD de recursos protegidos por token
- Configuração segura usando variáveis de ambiente (Dotenv)
- Integração profissional com MongoDB (Mongoose)
Biblioteca | Finalidade |
---|---|
Express | Servidor web e rotas |
Mongoose | Conexão e modelos do MongoDB |
Nodemon | Reinicialização automática (dev) |
Dotenv | Gerenciamento de variáveis de ambiente |
Bcrypt | Criptografia de senhas |
JSON Web Token | Autenticação stateless |
UUID | Geração de IDs únicos |
- Node.js (v18+)
- MongoDB (local ou Atlas)
- Postman (para testar endpoints)
# Clone o repositório
git clone [https://github.com/Batissta/node-auth-api.git](https://github.com/Batissta/node-auth-api.git)
# Instale as dependências
npm install
# Crie o arquivo .env (veja o exemplo abaixo)
cp .env.example .env
PORT=3000
MONGODB_URI=sua_uri_mongodb
# Modo desenvolvimento (com Nodemon)
npm run dev
Método | Endpoint | Descrição | Exemplo de Body |
---|---|---|---|
POST | /usuarios | Registra novo usuário | { "apelido": "seuapelidomaiscriativo", "idade":19, "senha": "***" } |
GET | /usuarios | Lista todos os usuários criados | não é necessário |
- Senhas nunca armazenadas em texto puro (hash com Bcrypt)
- Tokens JWT com expiração e assinatura criptografada
- Variáveis sensíveis isoladas em
.env
- IDs imutáveis gerados com UUID do node::crypto
Deixa uma estrela no repositório! Depois disso:
- Faça um fork do projeto
- Crie sua branch (
git checkout -b feature/nova-funcionalidade
) - Commit suas mudanças (
git commit -m "Add nova funcionalidade Co-authored-by: Batissta <francinaldofilho05@gmail.com>"
) - Push para a branch (
git push origin feature/nova-funcionalidade
) - Abra um Pull Request
Este projeto está sob a licença MIT - veja o arquivo LICENSE para detalhes.
Feito por [Francinaldo Batista]
📺 Assista à série completa no YouTube: Youtube ->