5 minutos
Vollmed API

Voll.med é uma clínica médica fictícia que precisa de um aplicativo para gerenciamento de consultas. O aplicativo deve ter funcionalidades para registrar médicos e pacientes, bem como agendar e cancelar consultas.


Funcionalidades

  • Operações CRUD para médicos;
  • Operações CRUD para pacientes;
  • Agendamento de consultas;
  • Cancelamento de consultas.

Como Usar Este Projeto

  1. Clone o Repositório:
git clone https://github.com/AfranioCaires/vollmed-api.git
  1. Configure o Banco de Dados:
  • Certifique-se de ter o MySQL instalado e em execução.
  • Defina as seguintes variáveis de ambiente no seu ambiente de desenvolvimento ou em um arquivo .env:
spring.datasource.url=jdbc:mysql://${DB_HOST}:${DB_PORT}/${DB_NAME}
spring.datasource.username=${DB_USER}
spring.datasource.password=${DB_PASSWORD}

Substitua ${DB_HOST}, ${DB_PORT}, ${DB_NAME}, ${DB_USER} e ${DB_PASSWORD} pelos detalhes reais da sua conexão com o banco de dados.

  1. Construa o Projeto:
mvn clean install
  1. Execute o Aplicativo: Execute o aplicativo Spring Boot usando Maven:
mvn spring-boot:run

Tecnologias

As seguintes tecnologias foram usadas no desenvolvimento da API REST para o projeto:


Documentação da API

Sumário

  1. Visão Geral
  2. Servidores
  3. Endpoints

Servidores

URLDescrição
http://localhost:8080URL do servidor gerado

Endpoints

/pacientes

GET /pacientes

  • Tags: patient-controller
  • ID da Operação: patientListData
  • Parâmetros:
NomeLocalObrigatórioEsquema
pageablequerytruePageable

Respostas:

CódigoDescriçãoConteúdo
200OKPagePatientListData

PUT /pacientes

  • Tags: patient-controller
  • ID da Operação: updatePatientData
  • Corpo da Requisição:
Tipo de ConteúdoEsquema
application/jsonPatientUpdateData

Respostas:

CódigoDescriçãoConteúdo
200OKstring

POST /pacientes

  • Tags: patient-controller
  • ID da Operação: registerPatient
  • Corpo da Requisição:
Tipo de ConteúdoEsquema
application/jsonPatientRegisterData

Respostas:

CódigoDescriçãoConteúdo
200OKstring

/medicos

GET /medicos

  • Tags: physician-controller
  • ID da Operação: physicianList
  • Parâmetros:
NomeLocalObrigatórioEsquema
pageablequerytruePageable

Respostas:

CódigoDescriçãoConteúdo
200OKPagePhysicianListData

PUT /medicos

  • Tags: physician-controller
  • ID da Operação: updatePhysicianData
  • Corpo da Requisição:
Tipo de ConteúdoEsquema
application/jsonPhysicianUpdateData

Respostas:

CódigoDescriçãoConteúdo
200OKstring

POST /medicos

  • Tags: physician-controller
  • ID da Operação: register
  • Corpo da Requisição:
Tipo de ConteúdoEsquema
application/jsonPhysicianRegisterData

Respostas:

CódigoDescriçãoConteúdo
200OKstring

/consultas

POST /consultas

  • Tags: appointment-controller
  • ID da Operação: createAppointment
  • Corpo da Requisição:
Tipo de ConteúdoEsquema
application/jsonAppointmentData

Respostas:

CódigoDescriçãoConteúdo
200OKobject

DELETE /consultas

  • Tags: appointment-controller
  • ID da Operação: cancel
  • Corpo da Requisição:
Tipo de ConteúdoEsquema
application/jsonAppointmentCancelData

Respostas:

CódigoDescriçãoConteúdo
200OKstring

/auth

POST /auth

  • Tags: auth-controller
  • ID da Operação: signIn
  • Corpo da Requisição:
Tipo de ConteúdoEsquema
application/jsonUserAuthData

Respostas:

CódigoDescriçãoConteúdo
200OKstring

/pacientes/:id

GET /pacientes/:id

  • Tags: patient-controller
  • ID da Operação: getPatient
  • Parâmetros:
NomeLocalObrigatórioEsquema
idpathtrueinteger (int64)

Respostas:

CódigoDescriçãoConteúdo
200OKstring

DELETE /pacientes/:id

  • Tags: patient-controller
  • ID da Operação: deletePatient
  • Parâmetros:
NomeLocalObrigatórioEsquema
idpathtrueinteger (int64)

Respostas:

CódigoDescriçãoConteúdo
200OKstring

/medicos/:id

GET /medicos/:id

  • Tags: physician-controller
  • ID da Operação: getPhysician
  • Parâmetros:
NomeLocalObrigatórioEsquema
idpathtrueinteger (int64)

Respostas:

CódigoDescriçãoConteúdo
200OKstring

DELETE /medicos/:id

  • Tags: physician-controller
  • ID da Operação: deletePhysician
  • Parâmetros:
NomeLocalObrigatórioEsquema
idpathtrueinteger (int64)

Respostas:

CódigoDescriçãoConteúdo
200OKstring