Skip to content

Projeto de um sistemas de clínicas desenvolvido em Java utilizando o framework Spring Boot, banco de dados MySQL e Auth0 JWT

Notifications You must be signed in to change notification settings

Gustavo-AOliveira/gerenciamento-de-clinicas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API para Sistema de Gestão de Clínicas Médicas

Descrição do Projeto

Este projeto consiste em uma API REST desenvolvida em Java com Spring Boot para gerenciar informações em um sistema de gestão de clínicas médicas. A API oferece operações CRUD (Create, Read, Update, Delete) para as entidades Paciente, Médico e Consulta, permitindo o cadastro, consulta, atualização e exclusão de dados relacionados a essas entidades. Além disso, a API utiliza autenticação e autorização fornecidas pelo Spring Security com a biblioteca Auth0 Java JWT para garantir a segurança e o controle de acesso aos recursos da aplicação.

Tecnologias Utilizadas

  • Java
  • Spring Boot
  • Spring Security
  • Auth0 Java JWT
  • MySQL
  • Padrões de Projeto: SOLID, Design Patterns
  • Swagger

Documentação da API - Swagger

A documentação da API foi elaborada utilizando o Swagger, uma ferramenta que facilita a visualização e interação com os endpoints disponíveis na aplicação.

Para a Entidade Paciente:

  • Criação de Paciente: Permite adicionar novos pacientes ao sistema através de requisições POST.
{
  "nome": "string",
  "email": "string",
  "telefone": "27751885965",
  "cpf": "21873980072",
  "endereco": {
    "logradouro": "string",
    "bairro": "string",
    "cep": "81866934",
    "cidade": "string",
    "uf": "string",
    "complemento": "string",
    "numero": "string"
  }
}
  • Consulta de Paciente: Permite recuperar informações de pacientes cadastrados no sistema através de requisições GET.

      {
      "page": 0,
      "size": 20,
      "sort": [
        "string"
      ]
    }
    
  • Atualização de Paciente: Permite atualizar informações de pacientes existentes no sistema através de requisições PUT.

  {
  "id": 0,
  "nome": "string",
  "telefone": "string",
  "endereco": {
    "logradouro": "string",
    "bairro": "string",
    "cep": "61648920",
    "cidade": "string",
    "uf": "string",
    "complemento": "string",
    "numero": "string"
  }
}
  • Exclusão de Paciente: Permite remover pacientes do sistema através de requisições DELETE.
  {
 /pacientes/id
}

Para a Entidade Médico:

  • Criação de Médico: Permite adicionar novos médicos ao sistema através de requisições POST.

        {
      "nome": "string",
      "email": "string",
      "telefone": "48041816063",
      "crm": "398428",
      "especialidade": "ORTOPEDIA",
      "endereco": {
        "logradouro": "string",
        "bairro": "string",
        "cep": "63121042",
        "cidade": "string",
        "uf": "string",
        "complemento": "string",
        "numero": "string"
      }
    }
  • Consulta de Médico: Permite recuperar informações de médicos cadastrados no sistema através de requisições GET.

       {
    "page": 0,
    "size": 1,
    "sort": [
      "string"
    ]
    }
  • Atualização de Médico: Permite atualizar informações de médicos existentes no sistema através de requisições PUT.

      {
    "id": 0,
    "nome": "string",
    "telefone": "string",
    "endereco": {
     "logradouro": "string",
     "bairro": "string",
     "cep": "30697252",
     "cidade": "string",
     "uf": "string",
     "complemento": "string",
     "numero": "string"
     }
    }
  • Exclusão de Médico: Permite remover médicos do sistema através de requisições DELETE.

    {
      medicos/{id}
    }

    Consulta de Médico por id: Permite recuperar informações de um médico cadastrado no sistema através de requisições GET passando o Id como parâmentro .

    {
      medicos/{id}
    }

Para a Entidade Consulta:

  • Agendamento de Consulta: Permite agendar consultas entre médicos e pacientes, registrando a data e hora da consulta através de requisições POST.

    {
    "idMedico": 0,
    "idPaciente": 0,
    "data": "2024-03-19T00:21:56.693Z",
    "especialidade": "ORTOPEDIA"
    }
  • Cancelamento de Consulta: Permite cancelar consultas agendadas no sistema através de requisições DELETE.

    {
    "idConsulta": 0,
    "motivo": "PACIENTE_DESISTIU"
    }

Funcionalidades Adicionais:

  • Autenticação e Autorização: Utiliza o Spring Security juntamente com a biblioteca Auth0 Java JWT para garantir a segurança e autenticação na API REST. Isso proporciona um ambiente confiável para a gestão de identidades e o controle de acesso, garantindo que apenas usuários autorizados tenham acesso aos recursos da aplicação.

    {
    "login": "string",
    "senha": "string"
    }
  • Padrão DTO (Data Transfer Object): Utiliza o padrão DTO para transferência de dados entre as camadas de persistência e serviço, oferecendo uma estrutura organizada e eficiente para o desenvolvimento da API.

Como Executar o Projeto

  1. Clone este repositório ou faça o download dos arquivos para sua máquina local.
  2. Abra o projeto na sua IDE Java preferida.
  3. Compile o projeto para garantir que não haja erros de compilação.
  4. Execute a aplicação.

About

Projeto de um sistemas de clínicas desenvolvido em Java utilizando o framework Spring Boot, banco de dados MySQL e Auth0 JWT

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages