A API foi desenvolvida como Projeto Final do curso de Back-End da Reprograma (Turma On15) com o auxílio da professora Hanna e das monitoras, sendo pré-requisito para a conclusão do curso.
A API tem a finalidade de informar para a população a quantidade de pacientes que estão em atendimento em cada UPA (Unidade de Pronto Atendimento), com o propósito de distribuir os pacientes por UPA, a fim de melhorar o tempo e a qualidade do atendimento e, criar um banco de dados com UPAs e pacientes.
A cidade de Presidente Prudente está localizada no interior de SP e, foi escolhida para testar a API, pois a cidade não tem nenhum sistema que apresente essa informação a população.
A motivação para escolha do projeto, foi a lotação nas UPAs de Presidente Prudente / SP e a falta de informação para facilitar e distribuir melhor o atendimento. Atualmente a cidade conta com uma linha de ônibus que percorre as unidades de saúde da cidade. A prefeitura disponibiliza um site com as informações sobre atestado médico, médicos de plantão, normas etc., porém não consta em pesquisas realizadas, a informação em um banco de dados, sobre a quantidade de pacientes sendo atendidos por dia, por exemplo.
O projeto é uma API REST que permite que funcionários das Unidades de Pronto Atendimento (UPA), consigam cadastrar os pacientes em atendimento, informando os dados cadastrais dos pacientes que procuram atendimento em alguma unidade de pronto atendimento da cidade. Após o atendimento, o paciente é deletado do sistema. A população tem acesso à quantidade de pacientes em atendimento em cada UPA, separadamente, podendo assim se dirigir a UPA com menos pacientes.
A interface é um CRUD completo integrado com o banco de dados (Mongo DB), onde é possível listar os pacientes em cada UPA, as UPA's cadastradas, cadastrar novos pacientes, cadastrar novas UPA's, atualizar os dados e deletar os cadastros dos paciente e das UPA's.
- Criar um banco de dados com as UPA’s;
- Criar um banco de dados com os pacientes;
- Informar para a população a quantidade de pacientes que estão em atendimento em cada UPA;
- Distribuir os pacientes por UPA, a fim de melhorar o tempo e a qualidade do atendimento.
O projeto final consiste em ter uma ideia, colocar em prática e criar uma API fundamentada no CRUD, que contém os verbos: CREATE (CRIAR), READ (LER-CONSULTAR), UPDATE (ATUALIZAR) e DELETE (APAGAR).
## 🛠️ Tecnologias utilizadas nesse projeto
Para a construção do projeto, as seguintes tecnologias foram utilizadas:
📁 projeto_final
|
|- 📁 src
| |
| |- 📁 controller
| |- 📑 anajacinta.js
| |- 📑 guanabara.js
|- 📑 upa.js
|
|
| |- 📁 database
| |- 📑 mongoConfig.js
|
|
| |- 📁 models
| |- 📑 anajacintaSchema.js
| |- 📑 guanabaraSchema.js
|- 📑 upaSchema.js
|
|
| |- 📁 routes
| |- 📑 anajacintaRoutes.js
| |- 📑 guanabaraRoutes.js
| |- 📑 upaRoutes.js
|
| |- 📑 app.js
|
|- 📑 .env
|- 📑 .env.example
|- 📑 .gitignore
|- 📑 package-lock.json
|- 📑 package.json
|- 📑 README.md
|- 📑 Procfile.md
|- 📑 server.js
- Autenticação, login e senha.
- Testes.
-
local: http://localhost:9000
-
Heroku:
-
https://projetoupap.herokuapp.com/anajacinta/listar/anajacinta
-
https://projetoupap.herokuapp.com/guanabara/listar/guanabara
-
https://projetoupap.herokuapp.com/upa/listar
- Utilize o Postman para testar os endpoints da API localmente ou via Heroku.
| Método HTTP | Endpoint | Descrição |
|---|---|---|
| GET | /upa/listar |
Lista todas as UPA's |
| GET | /upa/listar/:id |
Lista uma UPA por id |
| POST | /upa/cadastrar |
Cria/cadastra uma nova UPA |
| PUT | /upa/atualizar/:id |
Altera informações de uma UPA |
| DELETE | /upa/deletar/:id |
Deleta uma UPA por id |
| Método HTTP | Endpoint | Descrição |
|---|---|---|
| GET | /anajacinta/listar/anajacinta |
Lista a quantidade de pacientes da UPA Ana Jacinta |
| GET | /anajacinta/listar/anajacinta/:id |
Lista um paciente da UPA Ana Jacinta por id |
| POST | /anajacinta/cadastrar/anajacinta |
Cria/cadastra um novo paciente na UPA na UPA Ana Jacinta |
| PUT | /anajacinta/atualizar/anajacinta/:id |
Altera informações de um paciente da UPA Ana Jacinta |
| DELETE | /anajacinta/deletar/anajacinta/:id |
Deleta um paciente da UPA Ana Jacinta por id |
| Método HTTP | Endpoint | Descrição |
|---|---|---|
| GET | /guanabara/listar/guanabara |
Lista a quantidade de pacientes da UPA Guanabara |
| GET | /guanabara/listar/guanabara/:id |
Lista um paciente da UPA Guanabara por id |
| POST | /guanabara/cadastrar/guanabara |
Cria/cadastra um novo paciente na UPA na UPA Guanabara |
| PUT | /guanabara/atualizar/guanabara/:id |
Altera informações de um paciente da UPA Guanabara |
| DELETE | /guanabara/deletar/guanabara/:id |
Deleta um paciente da UPA Guanabara por id |
- id: gerado automaticamente
- nome: tipo string / obrigatório
- nomeSocial: tipo string / optativo
- dataDeNascimento: tipo string / obrigatório
- endereco: tipo string / obrigatório
- telefoneDeContato: tipo number / obrigatório
- cpf: tipo string / obrigatório
- createAt: tipo date / gerada automaticamente
{
"message": "Total de pacientes em atendimento na UPA Guanabara: 9"
}- id: gerado automaticamente
- nome: tipo string / obrigatório
- endereco: tipo string / obrigatório
- telefone: tipo number / obrigatório
{
"message": "Lista das upas da cidade Presidente Prudente / SP",
"upa": [
{
"_id": "62d9f19130d29ff45b94c4b9",
"nome": "UPA do Ana Jacinta",
"endereco": "Av. José Zerial - Conj. Hab. Ana Jacinta, Pres. Prudente - SP",
"telefone": "(18) 3909-4985",
"createdAt": "2022-07-22T00:38:42.104Z",
"updatedAt": "2022-07-22T00:38:42.104Z",
"__v": 0
}]
}Primeiramente a Deus, a todos os Santos e Anjos. Aos meus pais e irmãos pelo apoio e compreensão. Agradecer ao meu primo, Vinícius Foltran, por ter feito as imagens e design dos slides. Agradecer também a Reprograma pela oportunidade de transformação da vida de mulheres, que é uma causa de extrema importância. E finalmente, a todas as meninas da turma On15.
