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.
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.
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.
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.
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.
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.
As branches back e front possuem workflows configurados da seguinte forma:
- Sempre que um push é realizado em
backoufront, 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.
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
devsó é permitido após a aprovação de pelo menos 1 dos revisores sorteados.
- 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.
- 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.
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.
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.
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.
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.
Funcionalidades disponíveis:
- Acessar a tela de login.
- Tela inicial lista de ações que pode realizar.
- Cadastrar novos administradores (ADM).
- Visualizar a lista de administradores já cadastrados.
Funcionalidades disponíveis:
- Acessar a tela de login.
- Tela inicial lista de ações que pode realizar.
- Cadastrar novos médicos.
- Cadastrar novos recepcionistas.
- Visualizar a lista de médicos cadastrados/lista de recepcionistas cadastrados.
Funcionalidades disponíveis:
- Acessar a tela de login.
- Tela inicial lista de ações que pode realizar.
- Cadastrar novos pacientes.
- Visualizar a lista de pacientes cadastrados.
- Acessar a aba de agendamento de consultas.
- Verificar a lista de consultas agendadas.
Funcionalidades disponíveis:
- Acessar a tela de login.
- Tela inicial lista de ações que pode realizar.
- Acessar a aba de Consultas para ver sua agenda de atendimentos.
- Acessar e preencher a ficha de prontuário dos pacientes.
Este guia explica como instalar, configurar e executar o projeto localmente.
Antes de iniciar o desenvolvimento, você deve instalar as seguintes ferramentas:
- Visual Studio Code – Editor recomendado
- MySQL – Banco de dados
- Spring Boot – Framework backend
- Swagger – Para documentação e testes de APIs
Para trabalhar com Java no VS Code, é necessário instalar o pacote Extension Pack for Java. Siga os passos abaixo:
-
Copie e cole o seguinte link no navegador:
vscode:extension/vscjava.vscode-java-pack -
Clique na opção
Abrir Visual Studio Code -
Instale o pacote clicando em
Install: -
Alternativamente, abra o VS Code, vá até o ícone de extensões e pesquise por "Extension Pack for Java"
- Java 17+ – Instalar JDK
- Maven 3.8+ – Instalar Maven
- SceneBuilder & JavaFX
Instalar SceneBuilder
Instalar Java FX
- MySQL
- Configure um banco e ajuste os dados de conexão em
backend/Prontus/src/main/resources/application.properties.
- Configure um banco e ajuste os dados de conexão em
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.
O backend precisa estar rodando antes de abrir o frontend, pois o frontend depende da API do backend para funcionar corretamente.
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.
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.
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.
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