Uma API RESTful simples e funcional para gerenciar informações de Clínicas, Médicos e Pacientes. Este projeto é o meu campo de treino no ecossistema Node.js, focado em Express e MongoDB!
Este projeto foi desenvolvido com o objetivo principal de treinamento e aprofundamento em desenvolvimento Backend com Node.js. Serve como meu campo de prática para consolidar o conhecimento em:
- Arquitetura RESTful com Express.
- Modelagem de Dados e persitência com Mongoose e MongoDB.
- Organização de código em controllers, models e routers.
Embora funcional, ele foi criado com foco em aprendizado contínuo, e está sendo usado como peça central do meu portfólio.
O projeto foi construído utilizando o seguinte stack:
| Categoria | Pacote/Tecnologia | Versão | Descrição |
|---|---|---|---|
| Backend | Node.js | N/A | Ambiente de execução JavaScript. |
| Framework | Express | ^5.1.0 | Estrutura minimalista e flexível para a API. |
| Banco de Dados | MongoDB | N/A | Banco de dados NoSQL. |
| ORM | Mongoose | ^9.0.0 | Modelagem e validação de dados para o MongoDB. |
| Ambiente | dotenv | ^17.2.3 | Carrega variáveis de ambiente (como a string de conexão) de um arquivo .env. |
| Desenvolvimento | Nodemon | ^3.1.11 | Monitora e reinicia automaticamente o servidor durante o desenvolvimento. |
- Node.js (Versão recomendada: 18 ou superior)
- MongoDB (Local ou acesso a um cluster Atlas)
- Git
-
Clone o repositório:
git clone https://github.com/MiguelSanCruz/APInode.git
-
Acesse o diretório:
cd [pasta-do-seu-projeto] -
Instale as dependências:
npm install
-
Configure o Banco de Dados:
- Crie um arquivo chamado
.envna raiz do projeto. - Adicione sua string de conexão e a porta (o pacote
dotenvcuidará de carregá-las):MONGO_URI="[SUA STRING DE CONEXÃO DO MONGODB AQUI]"
- Crie um arquivo chamado
Para iniciar o servidor usando o Nodemon (modo de desenvolvimento):
npm run devEndpoints Disponíveis
| Método | Rota | Descrição |
|---|---|---|
| POST | /api/clinicas | Cria uma nova clínica. |
| GET | /api/clinicas | Lista todas as clínicas. |
| GET | /api/clinicas/:id | Busca uma clínica específica pelo ID. |
| GET | /api/clinicas/:id/medicos | Lista todos os médicos vinculados a uma clínica. |
| GET | /api/clinicas/especialidades/:especialidade | Filtra clínicas por especialidade. |
| PUT | /api/clinicas/:id | Atualiza os dados de uma clínica. |
| DELETE | /api/clinicas/:id | Deleta uma clínica. |
Autor Miguel S Cruz