Skip to content

4Paws é um sistema de Gerenciamento para Clínicas Veterinárias que possibilita gerenciar consultas, exames, prescrições, veterinários, pets e seus respectivos tutores.

License

Notifications You must be signed in to change notification settings

EmmanuellaAlbuquerque/4Paws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 Consultas
Tutores Tutores
Pets Pets
TiposDeConsulta TiposDeConsulta
TiposDeExame TiposDeExame
Profiles Profiles

Deploy

https://4paws-api.up.railway.app/

Lista de Conteúdos

📌 Funcionalidades

📌 Dados de Acesso (para testes)

📌 Diagramas UML

📌 Tecnologias Utilizadas

📌 Licença

📌 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
{
   "email": "[email protected]",
   "password": "123"
}
recepcionista
{
   "email": "[email protected]",
   "password": "123"
}
veterinário
{
   "email": "[email protected]",
   "password": "123"
}

Diagramas UML

Diagrama de Sequência

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
Loading

Diagrama de Caso de Uso

4PawsCasoDeUso

Diagrama de Classes

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
Loading

Diagrama de Banco de Dados

4PawsDbDiagram

Tecnologias Utilizadas

  • Java
    • Spring Boot
    • Spring Data Jpa
    • Spring Security
    • Spring Validation
  • JWT
  • H2 Database
  • Lombok

Licença

Apache License 2.0

Autor

eu

Meu Linkedin: in/emmanuella-albuquerque/

Made with 💜☕ by Manu

About

4Paws é um sistema de Gerenciamento para Clínicas Veterinárias que possibilita gerenciar consultas, exames, prescrições, veterinários, pets e seus respectivos tutores.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages