Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/emmanuellaalbuquerque/4paws
4Paws é um sistema de Gerenciamento para Clínicas Veterinárias que possibilita gerenciar consultas, exames, prescrições, veterinários, pets e seus respectivos tutores.
https://github.com/emmanuellaalbuquerque/4paws
java jwt spring-data-jpa spring-security springboot
Last synced: about 1 month ago
JSON representation
4Paws é um sistema de Gerenciamento para Clínicas Veterinárias que possibilita gerenciar consultas, exames, prescrições, veterinários, pets e seus respectivos tutores.
- Host: GitHub
- URL: https://github.com/emmanuellaalbuquerque/4paws
- Owner: EmmanuellaAlbuquerque
- License: apache-2.0
- Created: 2024-08-21T22:39:10.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-11-23T00:40:47.000Z (about 2 months ago)
- Last Synced: 2024-11-23T01:26:34.698Z (about 2 months ago)
- Topics: java, jwt, spring-data-jpa, spring-security, springboot
- Language: Java
- Homepage: https://4paws-api.up.railway.app
- Size: 1.48 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 4Paws 🐾🐕🦺
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.
Consultas
Tutores
Pets
TiposDeConsulta
TiposDeExame
Profiles
## Deploy
[https://4paws-api.up.railway.app/](https://4paws-api.up.railway.app/)
## Lista de Conteúdos
📌 [Funcionalidades](#funcionalidades)
📌 [Dados de Acesso (para testes)](#dados-de-acesso-para-testes)
📌 [Diagramas UML](#diagramas-uml)
📌 [Tecnologias Utilizadas](#tecnologias-utilizadas)
📌 [Licença](#licença)
📌 [Autor](#autor)
## Funcionalidades
1. **Gerenciamento de consultas:** 📅
- Agendamento, atualização e cancelamento de consultas
- Listagem de consultas para veterinários (ordenadas por data)
2. **Gerenciamento de pets:** 🐶🐱
- Registro de novos pets
- Atualização de informações dos pets
3. **Gerenciamento de exames:** 🔬
- Registro, edição e remoção de exames
4. **Controle de prescrições:** 💊
- Registro, edição e remoção de prescrições médicas
5. **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
6. **Gerenciamento de usuários:** 👥
- Registro de veterinários 👨⚕️👩⚕️, recepcionistas 💼 e administradores 🔑
- Autenticação de usuários (login) 🔐
- Visualização de perfil de usuário 👤
7. **Gerenciamento de tutores:** 🧑🤝🧑
- Registro de novos tutores
- Atualização de informações dos tutores
- Busca de tutores por CPF 🔍### Dados de Acesso (para testes)
###### admin
```json
{
"email": "[email protected]",
"password": "123"
}
```###### recepcionista
```json
{
"email": "[email protected]",
"password": "123"
}
```###### veterinário
```json
{
"email": "[email protected]",
"password": "123"
}
```## Diagramas UML
### Diagrama de Sequência```mermaid
sequenceDiagram
actor Admin
actor Tutor
actor Recepcionista
actor Veterinário
participant SistemaAdmin ->> 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 ConsultaVeterinário ->> Tutor: Consulta Pet
Veterinário ->> Sistema: Registra observações sobre a Consulta
```### Diagrama de Caso de Uso
![4PawsCasoDeUso](./docs//images/4PawsCasoDeUso.svg)### Diagrama de Classes
```mermaid
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 {
<>
PB
PE
SP
...
}class Especialidade {
<>
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 {
<>
FEMEA
MACHO
}%% class Servico {
%% <>
%% -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 {
<>
-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 <|-- TipoExamePet "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 : pertenceTutor "1" --> "1" Endereco: tem
Tutor "1" --> "1..*" Pet : possuiRecepcionista --> Consulta: cadastra
Recepcionista --> Tutor: cadastraVeterinario --> Especialidade: tem
Veterinario --> UF: tem
Consulta "1..*" --> "1..*" Veterinario : é feitaConsulta "1" -- "0..*" Exame
Consulta "1" -- "0..*" PrescricaoExame "1..*" -- "1" TipoExame
Consulta "1..*" -- "1" TipoConsulta%% Pagamento "1" --> "1" Servico : tem
```### Diagrama de Banco de Dados
![4PawsDbDiagram](./docs//images/4PawsDB.svg)## Tecnologias Utilizadas
- Java
- Spring Boot
- Spring Data Jpa
- Spring Security
- Spring Validation
- JWT
- H2 Database
- Lombok### Licença
[Apache License 2.0](https://github.com/EmmanuellaAlbuquerque/4Paws/blob/main/LICENSE)
### Autor
Meu Linkedin: [in/emmanuella-albuquerque/](https://www.linkedin.com/in/emmanuella-albuquerque/)
Made with 💜☕ by Manu