|
| 1 | +# 🧪 Mongoose Demo |
| 2 | + |
| 3 | +Este é um projeto simples de API REST criada com **Node.js**, **Express** e **MongoDB (Mongoose)**. |
| 4 | +Permite criar, listar, atualizar e deletar usuários a partir de requisições HTTP. |
| 5 | + |
| 6 | +--- |
| 7 | + |
| 8 | +## 🚀 Tecnologias Utilizadas |
| 9 | + |
| 10 | +- [Node.js](https://nodejs.org/) |
| 11 | +- [Express](https://expressjs.com/) |
| 12 | +- [MongoDB](https://www.mongodb.com/) |
| 13 | +- [Mongoose](https://mongoosejs.com/) |
| 14 | +- [Validator](https://www.npmjs.com/package/validator) |
| 15 | +- [CORS](https://www.npmjs.com/package/cors) *(para permitir acesso da interface HTML)* |
| 16 | +- [MongoDB Compass](https://www.mongodb.com/products/compass) *(para visualizar os dados)* |
| 17 | + |
| 18 | +--- |
| 19 | + |
| 20 | +## 📂 Estrutura do Projeto |
| 21 | + |
| 22 | +mongoose-demo/ |
| 23 | +├── controllers/ |
| 24 | +│ └── userController.js |
| 25 | +├── models/ |
| 26 | +│ └── user.js |
| 27 | +├── routes/ |
| 28 | +│ └── userRoutes.js |
| 29 | +├── node_modules/ |
| 30 | +├── index.html |
| 31 | +├── .env |
| 32 | +├── server.js |
| 33 | +├── package.json |
| 34 | +├── package-lock.json |
| 35 | +└── README.md |
| 36 | + |
| 37 | + |
| 38 | + |
| 39 | +--- |
| 40 | + |
| 41 | +## 📌 Funcionalidades da API |
| 42 | + |
| 43 | +| Método | Rota | Descrição | |
| 44 | +|--------|------------------|--------------------------------------| |
| 45 | +| GET | `/users` | Lista todos os usuários | |
| 46 | +| GET | `/users/:id` | Mostra um usuário específico por ID | |
| 47 | +| POST | `/users` | Cria um novo usuário | |
| 48 | +| PUT | `/users/:id` | Atualiza os dados de um usuário | |
| 49 | +| DELETE | `/users/:id` | Remove um usuário do banco de dados | |
| 50 | + |
| 51 | +--- |
| 52 | + |
| 53 | +## 📦 Como Rodar o Projeto |
| 54 | + |
| 55 | +1. Clone o repositório: |
| 56 | + ```bash |
| 57 | + git clone https://github.com/Sara-source01/api-users-node-mongoose-.git |
| 58 | + |
| 59 | + |
| 60 | +2. Instale as dependências: |
| 61 | +npm install express mongoose dotenv cors validator |
| 62 | + |
| 63 | +3. Configure o arquivo .env: |
| 64 | +MONGO_URI=mongodb://localhost:27017/mongoose_demo |
| 65 | +PORT=3000 |
| 66 | + |
| 67 | +4. Inicie o servidor: |
| 68 | +node server.js |
| 69 | + |
| 70 | + |
| 71 | + |
| 72 | +🧪 Testando a API |
| 73 | +Você pode testar a API de três formas: |
| 74 | + |
| 75 | +1. Com Postman ou Insomnia: |
| 76 | +Envie requisições para: |
| 77 | +http://localhost:3000/users |
| 78 | + |
| 79 | + |
| 80 | +2. Com interface HTML (index.html): |
| 81 | +Abra o arquivo index.html no navegador, preencha os campos de nome e e-mail e clique em "Create". |
| 82 | +Isso envia um POST para a rota /users usando fetch(). |
| 83 | + |
| 84 | +Atenção: o servidor precisa estar rodando e com CORS ativado. |
| 85 | + |
| 86 | +A biblioteca CORS permite que navegadores (como uma página HTML local) consigam acessar a API sem bloqueio. |
| 87 | + |
| 88 | +3. Via MongoDB Compass: |
| 89 | +Abra o MongoDB Compass. |
| 90 | + |
| 91 | +Conecte-se a: |
| 92 | +mongodb://localhost:27017 |
| 93 | + |
| 94 | +Acesse o banco de dados mongoose_demo. |
| 95 | + |
| 96 | +Clique na coleção users para ver os dados inseridos pela API ou HTML. |
| 97 | + |
| 98 | +Dessa forma, você pode acompanhar visualmente as alterações feitas pelos endpoints da API. |
| 99 | + |
| 100 | +📄 Licença |
| 101 | +Este projeto é livre para estudos e testes. |
| 102 | + |
| 103 | +## 👩💻 Autor |
| 104 | + |
| 105 | +Desenvolvido por [Sara George](https://github.com/Sara-source01) 🚀 |
| 106 | +Sinta-se à vontade para entrar em contato ou contribuir com melhorias! |
0 commit comments