Skip to content

Maarzano/Prontus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

210 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Sumario
  1. Sobre o projeto
  2. Workflow de Desenvolvimento
  3. Manual do Usuário
  4. Integrantes
  5. Licença
  6. Contatos

Sobre o projeto

O Sistema de Clínica Médica da Prontus é uma aplicação desenvolvida para otimizar a rotina de clínicas e consultórios médicos, centralizando o controle de pacientes, médicos e agendamentos em um só lugar. A ferramenta resolve problemas comuns de gestão, como erros de marcação, prontuários desorganizados e dificuldade no acesso a informações. Com funcionalidades como cadastro de pacientes e médicos, agenda com horários disponíveis e prontuário eletrônico, o sistema atende especialmente clínicas de pequeno e médio porte que buscam mais eficiência e organização no dia a dia.

🛠 Tecnologias Utilizadas

Java MySQL Spring

Swagger Scene Builder

(Voltar ao topo)

🔄 Workflow de Trabalho (Git, GitHub, Merge de Branches)

Durante o desenvolvimento do projeto, utilizamos o Git como sistema de versionamento e o GitHub como plataforma de colaboração em equipe. A equipe era composta por 6 integrantes, distribuídos entre as áreas de front-end, back-end e documentação.

🛠️ Uso do Git para Versionamento

Cada integrante manteve o controle das suas alterações localmente com o Git, utilizando commits frequentes e descritivos para facilitar o rastreamento do histórico do projeto. O versionamento seguiu uma lógica de separação clara por área de atuação, evitando conflitos e promovendo um fluxo de trabalho organizado.

🌿 Criação e Fusão de Branches

Adotamos um modelo baseado em múltiplas branches especializadas, com a seguinte estrutura:

  • main: branch principal, que recebeu apenas a versão final e consolidada do projeto.
  • dev: utilizada para integrar o front-end com o back-end e realizar os testes de integração.
  • front: utilizada pelas 3 pessoas responsáveis pelo desenvolvimento do front-end.
  • back: utilizada pelas 3 pessoas responsáveis pelo desenvolvimento do back-end.
  • doc: utilizada por 2 membros (um do front e um do back) para elaborar a documentação.

Cada integrante fazia push diretamente na branch correspondente à sua área (ex: front, back, doc). Após o desenvolvimento inicial, a branch dev foi utilizada como ponto de integração entre o front-end e o back-end. Quando todas as partes estavam finalizadas e testadas, um único merge foi feito da dev para a main, concluindo o projeto.

🔁 Pull Requests e Code Review

Todas as contribuições passavam por pull requests (PRs) no GitHub. Para manter a qualidade e o controle do código, duas pessoas eram sorteadas aleatoriamente a cada PR para revisar e aprovar a solicitação antes do merge. Esse processo garantiu que o código fosse verificado por diferentes membros da equipe, promovendo aprendizado mútuo e melhorando a padronização do código.

🔄 Workflow de Desenvolvimento

Integração Contínua com GitHub Actions

Para garantir qualidade, organização e automação no fluxo de desenvolvimento, o repositório conta com configurações de GitHub Actions aplicadas às branches principais de desenvolvimento.

Geração Automática de Pull Requests

As branches back e front possuem workflows configurados da seguinte forma:

  • Sempre que um push é realizado em back ou front, uma GitHub Action é executada automaticamente.
  • Essa action cria um Pull Request (PR) direcionado para a branch dev, facilitando a integração contínua entre os módulos de front-end e back-end.

Sorteio Automático de Revisores

Para manter a qualidade do código e incentivar a colaboração entre a equipe, outro GitHub Action é responsável por:

  • Sortear automaticamente 2 revisores dentre os participantes do repositório assim que um novo PR é aberto para a branch dev.
  • O merge do PR na branch dev só é permitido após a aprovação de pelo menos 1 dos revisores sorteados.

(Voltar ao topo)


🔧 Back-end

  • Desenvolvimento da API REST com Java e Spring.
  • Implementação do cadastro e autenticação de usuários (médicos e pacientes).
  • Lógica de agendamento de consultas e prevenção de conflitos de horário.
  • Criação e manipulação de prontuário eletrônico.
  • Integração com banco de dados MySQL.
  • Documentação dos endpoints utilizando Swagger.

🎨 Front-end

  • Construção das telas de login, cadastro e navegação principal utilizando JavaFX e Scene Builder.
  • Implementação da interface da agenda para marcação e visualização de horários disponíveis.
  • Desenvolvimento das telas de visualização e edição de prontuários médicos.
  • Integração da interface com os serviços da API back-end.

🌿 Estrutura de Branches

O projeto é versionado por meio de uma organização clara de branches:

  • back – Contém toda a lógica e estrutura do back-end.
  • front – Responsável pelo desenvolvimento da interface e interações do front-end.
  • doc – Branch dedicada à documentação técnica e funcional do projeto.
  • dev – Ambiente de integração onde o front-end, back-end e documentação são unificados.
  • main – Branch final, usada para o deploy e transição dos dados do projeto finalizado.

(Voltar ao topo)

📘 Manual do Usuário

Este manual tem como objetivo orientar os funcionários do hospital sobre como utilizar o sistema de forma prática e eficiente. O sistema foi desenvolvido para facilitar o gerenciamento de cadastros, consultas e prontuários médicos, por meio de uma interface simples e intuitiva.

👥 Perfis de Usuário

O sistema possui quatro tipos de usuários, cada um com permissões específicas:

  • ADM_SUPER: responsável pela gestão de outros administradores.
  • ADM: responsável pelo cadastro e gestão de médicos e recepcionistas.
  • RECEPCIONISTA: responsável pelo cadastro de pacientes e agendamento de consultas.
  • DOCTOR (Médico): responsável pelo atendimento e preenchimento de prontuários.

🔐 Acesso ao Sistema

Todos os perfis iniciam o uso do sistema acessando a tela de Login com seu usuário e senha cadastrados. Após o login, cada usuário será direcionado para a tela correspondente ao seu perfil.

🧑‍💼 ADM_SUPER – Administrador Geral

Funcionalidades disponíveis:

  1. Acessar a tela de login.
  2. Tela inicial lista de ações que pode realizar.
  3. Cadastrar novos administradores (ADM).
  4. Visualizar a lista de administradores já cadastrados.

🧑‍💼 ADM – Administrador

Funcionalidades disponíveis:

  1. Acessar a tela de login.
  2. Tela inicial lista de ações que pode realizar.
  3. Cadastrar novos médicos.
  4. Cadastrar novos recepcionistas.
  5. Visualizar a lista de médicos cadastrados/lista de recepcionistas cadastrados.

🧑‍💼 RECEPCIONISTA

Funcionalidades disponíveis:

  1. Acessar a tela de login.
  2. Tela inicial lista de ações que pode realizar.
  3. Cadastrar novos pacientes.
  4. Visualizar a lista de pacientes cadastrados.
  5. Acessar a aba de agendamento de consultas.
  6. Verificar a lista de consultas agendadas.

🩺 DOCTOR – Médico

Funcionalidades disponíveis:

  1. Acessar a tela de login.
  2. Tela inicial lista de ações que pode realizar.
  3. Acessar a aba de Consultas para ver sua agenda de atendimentos.
  4. Acessar e preencher a ficha de prontuário dos pacientes.

(Voltar ao topo)

🚀 Como Executar o Projeto

Este guia explica como instalar, configurar e executar o projeto localmente.

🛠 Instalação de Ferramentas

Antes de iniciar o desenvolvimento, você deve instalar as seguintes ferramentas:

🔌 Extensões do VS Code (Java)

Para trabalhar com Java no VS Code, é necessário instalar o pacote Extension Pack for Java. Siga os passos abaixo:

  1. Copie e cole o seguinte link no navegador:
    vscode:extension/vscjava.vscode-java-pack

  2. Clique na opção Abrir Visual Studio Code

  3. Instale o pacote clicando em Install:

  4. Alternativamente, abra o VS Code, vá até o ícone de extensões e pesquise por "Extension Pack for Java"

✅ Requisitos Técnicos

🔧 Backend (Java):

💻 Frontend (SceneBuilder & JavaFX):

🗄️ Banco de Dados:

  • MySQL
    • Configure um banco e ajuste os dados de conexão em backend/Prontus/src/main/resources/application.properties.

Rodando o Projeto

Siga os passos abaixo para rodar o projeto Prontus na sua máquina:

Clonar o repositório

Primeiro, clone o repositório para o seu computador. Abra o terminal e execute o comando apropriado para clonar o repositório.

Rodar o backend (Java)

Vá até o diretório do backend do projeto.

Instale as dependências do projeto usando o Maven e inicie a aplicação.

Rodar o frontend (Scene Builder)

Abra um novo terminal e vá até o diretório do frontend.

Instale as dependências do frontend e, em seguida, inicie o servidor do frontend.

⚠️ Importante:

O backend precisa estar rodando antes de abrir o frontend, pois o frontend depende da API do backend para funcionar corretamente.

(Voltar ao topo)

🤝 Contribuições

Para contribuir com o projeto:

Fork este repositório.
Crie uma branch: git checkout -b minha-nova-funcionalidade.
Faça suas alterações e commit: git commit -m 'Adiciona nova funcionalidade'.
Envie para o GitHub: git push origin minha-nova-funcionalidade.
Abra um Pull Request.

(Voltar ao topo)

Integrantes

Este projeto foi desenvolvido por um time dedicado e apaixonado por tecnologia. Cada integrante trouxe o seu conhecimento, experiência e criatividade, contribuindo de forma única em cada etapa do desenvolvimento.

  • Arthur Araújo Marzano

  • Arthur Augusto Alves Araújo

  • Bernardo Braga Gomes Carvalho

  • Gabriel Arthur Ferreira De Jesus

  • Isaac Adrian de Souza

  • João Lucas da Costa bernardo

A colaboração entre as diferentes áreas foi essencial para transformar ideias em soluções funcionais. Sem o esforço coletivo, este projeto simplesmente não teria saído do papel.

Desenvolvedores:

(Voltar ao topo)

Licença

Este projeto está licenciado sob os termos da Licença MIT.

A Licença MIT é uma licença de software permissiva que permite ampla reutilização do código, incluindo uso comercial, modificação, distribuição e sublicenciamento, desde que os devidos créditos aos autores originais sejam mantidos.

Essa escolha visa promover a colaboração, a reutilização do código e o desenvolvimento de soluções abertas e acessíveis.

Para mais informações, consulte o arquivo LICENSE incluído neste repositório.

(Voltar ao topo)

Contatos

Gabriel Arthur - @gbriel.js - gbl48287@gmail.com

Arthur Araújo - @marzan.0 - arthuramarzano10@gmail.com

Arthur Augusto - @arthur__alves06 - alves2araujo@gmail.com

Bernardo Braga - @bragaxz9 - bragabernardo454@gmail.com

Isaac Adrian - @isaac_souzzz - isaacadriandesouza@gmail.com

João Lucas - @joaolucasgym - joaolucascosta32@gmail.com

Project Link: https://github.com/Maarzano/Prontus

(Voltar ao topo)

About

Sistema simples de agendamento de consultas de médicas e secretárias para cliníca médica, feita em JavaFX, Spring boot e MySQL

Resources

License

Stars

2 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors