{"id":21733965,"url":"https://github.com/emmanuellaalbuquerque/4paws","last_synced_at":"2025-08-15T14:20:18.251Z","repository":{"id":260538609,"uuid":"845771279","full_name":"EmmanuellaAlbuquerque/4Paws","owner":"EmmanuellaAlbuquerque","description":"4Paws é um sistema de Gerenciamento para Clínicas Veterinárias que possibilita gerenciar consultas, exames, prescrições, veterinários, pets e seus respectivos tutores.","archived":false,"fork":false,"pushed_at":"2024-11-29T21:35:55.000Z","size":1559,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T19:21:22.457Z","etag":null,"topics":["java","jwt","spring-data-jpa","spring-security","springboot"],"latest_commit_sha":null,"homepage":"https://4paws-api.up.railway.app","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EmmanuellaAlbuquerque.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-21T22:39:10.000Z","updated_at":"2024-12-10T00:47:47.000Z","dependencies_parsed_at":"2024-10-31T22:27:21.490Z","dependency_job_id":"9aa8ce43-88c8-4496-b011-6de4c9783f1c","html_url":"https://github.com/EmmanuellaAlbuquerque/4Paws","commit_stats":null,"previous_names":["emmanuellaalbuquerque/4paws"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmmanuellaAlbuquerque%2F4Paws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmmanuellaAlbuquerque%2F4Paws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmmanuellaAlbuquerque%2F4Paws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmmanuellaAlbuquerque%2F4Paws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EmmanuellaAlbuquerque","download_url":"https://codeload.github.com/EmmanuellaAlbuquerque/4Paws/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248654045,"owners_count":21140236,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","jwt","spring-data-jpa","spring-security","springboot"],"created_at":"2024-11-26T05:07:13.034Z","updated_at":"2025-04-13T01:31:35.578Z","avatar_url":"https://github.com/EmmanuellaAlbuquerque.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 4Paws 🐾🐕‍🦺\n\nO 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.\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eConsultas\u003c/b\u003e\u003c/summary\u003e\n    \u003cimg src=\"./docs/images/Consultas2.png\" alt=\"Consultas\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eTutores\u003c/b\u003e\u003c/summary\u003e\n    \u003cimg src=\"./docs/images/Tutores2.png\" alt=\"Tutores\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003ePets\u003c/b\u003e\u003c/summary\u003e\n    \u003cimg src=\"./docs/images/Pets2.png\" alt=\"Pets\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eTiposDeConsulta\u003c/b\u003e\u003c/summary\u003e\n    \u003cimg src=\"./docs/images/TiposDeConsulta2.png\" alt=\"TiposDeConsulta\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eTiposDeExame\u003c/b\u003e\u003c/summary\u003e\n    \u003cimg src=\"./docs/images/TiposDeExame2.png\" alt=\"TiposDeExame\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eProfiles\u003c/b\u003e\u003c/summary\u003e\n    \u003cimg src=\"./docs/images/Profiles2.png\" alt=\"Profiles\"\u003e\n\u003c/details\u003e\n\n## Deploy\n\n[https://4paws-api.up.railway.app/](https://4paws-api.up.railway.app/)\n\n## Lista de Conteúdos\n\n📌 [Funcionalidades](#funcionalidades)\n\n📌 [Dados de Acesso (para testes)](#dados-de-acesso-para-testes)\n\n📌 [Diagramas UML](#diagramas-uml)\n\n📌 [Tecnologias Utilizadas](#tecnologias-utilizadas)\n\n📌 [Licença](#licença)\n\n📌 [Autor](#autor)\n\n## Funcionalidades\n\n1. **Gerenciamento de consultas:** 📅\n   - Agendamento, atualização e cancelamento de consultas\n   - Listagem de consultas para veterinários (ordenadas por data)\n2. **Gerenciamento de pets:** 🐶🐱\n   - Registro de novos pets\n   - Atualização de informações dos pets\n3. **Gerenciamento de exames:** 🔬\n   - Registro, edição e remoção de exames\n4. **Controle de prescrições:** 💊\n   - Registro, edição e remoção de prescrições médicas\n5. **Administração de tipos de serviços:** 📋\n   - Cadastro e atualização de tipos de consultas e tipos de exames\n   - Listagem de tipos de consultas e tipos de exames disponíveis\n6. **Gerenciamento de usuários:** 👥\n   - Registro de veterinários 👨‍⚕️👩‍⚕️, recepcionistas 💼 e administradores 🔑\n   - Autenticação de usuários (login) 🔐\n   - Visualização de perfil de usuário 👤\n7. **Gerenciamento de tutores:** 🧑‍🤝‍🧑\n   - Registro de novos tutores\n   - Atualização de informações dos tutores\n   - Busca de tutores por CPF 🔍\n\n### Dados de Acesso (para testes)\n\n###### admin\n```json\n{\n   \"email\": \"admin@example.com\",\n   \"password\": \"123\"\n}\n```\n\n###### recepcionista\n```json\n{\n   \"email\": \"maria-recep@example.com\",\n   \"password\": \"123\"\n}\n```\n\n###### veterinário\n```json\n{\n   \"email\": \"tonia-vet@example.com\",\n   \"password\": \"123\"\n}\n```\n\n## Diagramas UML\n### Diagrama de Sequência\n\n```mermaid\nsequenceDiagram\n    actor Admin\n    actor Tutor\n    actor Recepcionista\n    actor Veterinário\n    participant Sistema\n\n    Admin -\u003e\u003e Sistema: Cadastra Serviços\n    Admin -\u003e\u003e Sistema: Cadastra Veterinários\n    Admin -\u003e\u003e Sistema: Cadastra Recepcionista\n    Tutor -\u003e\u003e Recepcionista: Entra em contato\n    Recepcionista -\u003e\u003e Tutor: Solicita informações\n    Tutor -\u003e\u003e Recepcionista: Fornece informações\n    Recepcionista -\u003e\u003e Sistema: Cadastra Tutor\n    Recepcionista -\u003e\u003e Sistema: Cadastra Pet\n    Recepcionista -\u003e\u003e Sistema: Cadastra Consulta\n\n    Veterinário -\u003e\u003e Tutor: Consulta Pet\n    Veterinário -\u003e\u003e Sistema: Registra observações sobre a Consulta\n```\n\n### Diagrama de Caso de Uso\n![4PawsCasoDeUso](./docs//images/4PawsCasoDeUso.svg)\n\n### Diagrama de Classes\n```mermaid\nclassDiagram\n    class Usuario {\n        -UUID id\n        -String email\n        -String senha\n        -String nome\n        -String cpf\n        -Cargo cargo\n    }\n\n    class Tutor {\n        -UUID id\n        -String nome\n        -String telefone\n        -String cpf\n        -Endereco endereco\n        -List~Pet~ pets\n    }\n\n    class Veterinario {\n        -Especialidade especialidade\n        -long crmv\n        -UF UF\n        -List~Consulta~ consultas\n    }\n\n    class UF {\n        \u003c\u003cenumeration\u003e\u003e\n        PB\n        PE\n        SP\n        ...\n    }\n\n    class Especialidade {\n        \u003c\u003cenumeration\u003e\u003e\n        CIRURGIA\n        PATOLOGIA\n        CARDIOLOGIA\n        NEFROLOGIA_E_UROLOGIA\n        NUTRICAO_E_NUTROLOGIA\n        ...\n    }\n\n    class Recepcionista {\n\n    }\n\n    class Pet {\n        -UUID id\n        -String nome\n        -double peso\n        -Sexo sexo\n        -Raca raça\n        -LocalDateTime dataDeNascimento\n        -Tutor tutor\n    }\n\n    class Raca {\n        -Integer id\n        -String nome\n        -Especie especie\n    }\n\n    class Especie {\n        -Integer id\n        -String nome\n    }\n\n    class Sexo {\n        \u003c\u003cenumeration\u003e\u003e\n        FEMEA\n        MACHO\n    }\n\n    %% class Servico {\n    %%     \u003c\u003cabstract\u003e\u003e\n    %%     -UUID id\n    %%     -TipoServico tipoServico\n    %%     -Status status\n    %% }\n\n    %% class Pagamento {\n    %%     -Long id\n    %%     -double desconto\n    %%     -double precoFinal\n    %%     -LocalDateTime dataPagamento\n    %%     -Servico servico\n    %% }\n\n    class Consulta {\n        -UUID id\n        -LocalDateTime dataRealizacao\n        -List~Veterinarios~ veterinarios\n        -Pet pet\n        -String observacoes\n        -List~Exame~ exames\n        -List~Prescricao~ prescricoes\n        -TipoConsulta tipoConsulta\n    }\n\n    class TipoConsulta {\n    }\n\n    class Exame {\n        -UUID id\n        -String resultado\n        -LocalDateTime dataRealizacao\n        -TipoExame tipoExame\n    }\n\n    class TipoExame {\n    }\n\n    class TipoServico {\n        \u003c\u003cinterface\u003e\u003e\n        -Long id\n        -String nome\n        -String descricao\n        -Double preçoBase        \n    }\n\n    class Prescricao {\n        -UUID id\n        -String medicamento\n        -String posologia\n    }\n\n    class Endereco {\n        -UUID id\n        -String bairro\n        -long numero\n        -String rua\n    }\n\n    class Cargo {\n        -int id\n        -String nome\n    }\n\n    Usuario \u003c|-- Veterinario\n    Usuario \u003c|-- Recepcionista\n\n    %% Servico \u003c|-- Consulta\n    %% Servico \u003c|-- Exame\n    TipoServico \u003c|-- TipoConsulta\n    TipoServico \u003c|-- TipoExame\n\n    Pet \"1..*\" --\u003e \"1\" Raca : é de uma\n    Raca \"1..*\" --\u003e \"1\" Especie: pertence\n\n    %% Servico \"1\" --\u003e \"1\" TipoServico : tem\n\n    Usuario \"1..*\" --\u003e \"1\" Cargo : tem\n\n    Pet \"1..*\" --\u003e \"1\" Sexo : tem\n    Pet \"1\" --\u003e \"1..*\" Consulta : pertence\n\n    Tutor \"1\" --\u003e \"1\" Endereco: tem\n    Tutor \"1\" --\u003e \"1..*\" Pet : possui\n\n    Recepcionista --\u003e Consulta: cadastra\n    Recepcionista --\u003e Tutor: cadastra\n\n    Veterinario --\u003e Especialidade: tem\n    Veterinario --\u003e UF: tem\n    Consulta \"1..*\" --\u003e \"1..*\" Veterinario : é feita\n\n    Consulta \"1\" -- \"0..*\" Exame\n    Consulta \"1\" -- \"0..*\" Prescricao\n\n    Exame \"1..*\" -- \"1\" TipoExame\n    Consulta \"1..*\" -- \"1\" TipoConsulta\n\n    %% Pagamento \"1\" --\u003e \"1\" Servico : tem\n```\n\n### Diagrama de Banco de Dados\n![4PawsDbDiagram](./docs//images/4PawsDB.svg)\n\n## Tecnologias Utilizadas\n\n- Java\n  - Spring Boot\n  - Spring Data Jpa\n  - Spring Security\n  - Spring Validation\n- JWT\n- H2 Database\n- Lombok\n\n### Licença\n\n[Apache License 2.0](https://github.com/EmmanuellaAlbuquerque/4Paws/blob/main/LICENSE)\n\n### Autor\n\n\u003ca href=\"https://www.linkedin.com/in/emmanuella-albuquerque/\"\u003e\n  \u003cimg style=\"border-radius: 50%;\" src=\"https://avatars1.githubusercontent.com/u/57198678?s=460\u0026u=18118f08f358d2615421a0694cc00b1c10b8bba0\u0026v=4\" width=\"100px;\" alt=\"eu\"/\u003e\n\u003c/a\u003e\n\nMeu Linkedin: [in/emmanuella-albuquerque/](https://www.linkedin.com/in/emmanuella-albuquerque/)\n\nMade with 💜☕ by \u003ca href=\"https://www.linkedin.com/in/emmanuella-albuquerque/\"\u003eManu\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femmanuellaalbuquerque%2F4paws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femmanuellaalbuquerque%2F4paws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femmanuellaalbuquerque%2F4paws/lists"}