O 4Paws é uma API projetada para otimizar e simplificar a gestão de clínicas veterinárias. Oferecendo um conjunto de ferramentas para donos de clínicas veterinários, recepcionistas e veterinários gerenciarem consultas, exames, prescrições, pets e seus respectivos tutores.
https://4paws-api.up.railway.app/
📌 Dados de Acesso (para testes)
📌 Licença
📌 Autor
- Gerenciamento de consultas: 📅
- Agendamento, atualização e cancelamento de consultas
- Listagem de consultas para veterinários (ordenadas por data)
- Gerenciamento de pets: 🐶🐱
- Registro de novos pets
- Atualização de informações dos pets
- Gerenciamento de exames: 🔬
- Registro, edição e remoção de exames
- Controle de prescrições: 💊
- Registro, edição e remoção de prescrições médicas
- Administração de tipos de serviços: 📋
- Cadastro e atualização de tipos de consultas e tipos de exames
- Listagem de tipos de consultas e tipos de exames disponíveis
- Gerenciamento de usuários: 👥
- Registro de veterinários 👨⚕️👩⚕️, recepcionistas 💼 e administradores 🔑
- Autenticação de usuários (login) 🔐
- Visualização de perfil de usuário 👤
- Gerenciamento de tutores: 🧑🤝🧑
- Registro de novos tutores
- Atualização de informações dos tutores
- Busca de tutores por CPF 🔍
{
"email": "[email protected]",
"password": "123"
}
{
"email": "[email protected]",
"password": "123"
}
{
"email": "[email protected]",
"password": "123"
}
sequenceDiagram
actor Admin
actor Tutor
actor Recepcionista
actor Veterinário
participant Sistema
Admin ->> Sistema: Cadastra Serviços
Admin ->> Sistema: Cadastra Veterinários
Admin ->> Sistema: Cadastra Recepcionista
Tutor ->> Recepcionista: Entra em contato
Recepcionista ->> Tutor: Solicita informações
Tutor ->> Recepcionista: Fornece informações
Recepcionista ->> Sistema: Cadastra Tutor
Recepcionista ->> Sistema: Cadastra Pet
Recepcionista ->> Sistema: Cadastra Consulta
Veterinário ->> Tutor: Consulta Pet
Veterinário ->> Sistema: Registra observações sobre a Consulta
classDiagram
class Usuario {
-UUID id
-String email
-String senha
-String nome
-String cpf
-Cargo cargo
}
class Tutor {
-UUID id
-String nome
-String telefone
-String cpf
-Endereco endereco
-List~Pet~ pets
}
class Veterinario {
-Especialidade especialidade
-long crmv
-UF UF
-List~Consulta~ consultas
}
class UF {
<<enumeration>>
PB
PE
SP
...
}
class Especialidade {
<<enumeration>>
CIRURGIA
PATOLOGIA
CARDIOLOGIA
NEFROLOGIA_E_UROLOGIA
NUTRICAO_E_NUTROLOGIA
...
}
class Recepcionista {
}
class Pet {
-UUID id
-String nome
-double peso
-Sexo sexo
-Raca raça
-LocalDateTime dataDeNascimento
-Tutor tutor
}
class Raca {
-Integer id
-String nome
-Especie especie
}
class Especie {
-Integer id
-String nome
}
class Sexo {
<<enumeration>>
FEMEA
MACHO
}
%% class Servico {
%% <<abstract>>
%% -UUID id
%% -TipoServico tipoServico
%% -Status status
%% }
%% class Pagamento {
%% -Long id
%% -double desconto
%% -double precoFinal
%% -LocalDateTime dataPagamento
%% -Servico servico
%% }
class Consulta {
-UUID id
-LocalDateTime dataRealizacao
-List~Veterinarios~ veterinarios
-Pet pet
-String observacoes
-List~Exame~ exames
-List~Prescricao~ prescricoes
-TipoConsulta tipoConsulta
}
class TipoConsulta {
}
class Exame {
-UUID id
-String resultado
-LocalDateTime dataRealizacao
-TipoExame tipoExame
}
class TipoExame {
}
class TipoServico {
<<interface>>
-Long id
-String nome
-String descricao
-Double preçoBase
}
class Prescricao {
-UUID id
-String medicamento
-String posologia
}
class Endereco {
-UUID id
-String bairro
-long numero
-String rua
}
class Cargo {
-int id
-String nome
}
Usuario <|-- Veterinario
Usuario <|-- Recepcionista
%% Servico <|-- Consulta
%% Servico <|-- Exame
TipoServico <|-- TipoConsulta
TipoServico <|-- TipoExame
Pet "1..*" --> "1" Raca : é de uma
Raca "1..*" --> "1" Especie: pertence
%% Servico "1" --> "1" TipoServico : tem
Usuario "1..*" --> "1" Cargo : tem
Pet "1..*" --> "1" Sexo : tem
Pet "1" --> "1..*" Consulta : pertence
Tutor "1" --> "1" Endereco: tem
Tutor "1" --> "1..*" Pet : possui
Recepcionista --> Consulta: cadastra
Recepcionista --> Tutor: cadastra
Veterinario --> Especialidade: tem
Veterinario --> UF: tem
Consulta "1..*" --> "1..*" Veterinario : é feita
Consulta "1" -- "0..*" Exame
Consulta "1" -- "0..*" Prescricao
Exame "1..*" -- "1" TipoExame
Consulta "1..*" -- "1" TipoConsulta
%% Pagamento "1" --> "1" Servico : tem
- Java
- Spring Boot
- Spring Data Jpa
- Spring Security
- Spring Validation
- JWT
- H2 Database
- Lombok
Meu Linkedin: in/emmanuella-albuquerque/
Made with 💜☕ by Manu