Loading repository data…
Loading repository data…
barbaradamasdev / repository
DocFy - Projeto destinado ao projeto final do ElasTech 2025
Projeto Final — Bootcamp Java Fullstack com Spring Boot (SoulCode + PagBank)
O DocFy é uma aplicação completa de agendamento de consultas médicas online, desenvolvida como projeto de conclusão do Bootcamp Java Fullstack da SoulCode em parceria com o PagBank.
Além do código, o grupo decidiu transformar essa experiência em uma simulação real de ambiente corporativo, com práticas ágeis, colaboração via GitHub e revisões de código entre colegas.

O DocFy foi desenvolvido para conectar médicos e pacientes de forma simples, intuitiva e segura, permitindo que profissionais cadastrem seus horários e pacientes agendem, remarquem ou cancelem consultas online.
🗂 Arquitetura em Camadas
| Camada | Tecnologia Principal |
|---|---|
| 🎨 Frontend | HTML, CSS, JavaScript |
| ⚙️ API REST | Spring Boot |
| 🗄️ Banco de Dados | MySQL |
O diagrama atualizado considera relacionamentos bidirecionais entre Médico, Paciente e Consulta, refletindo o modelo de banco implementado.

Durante a fase inicial do projeto, a equipe realizou um benchmarking para analisar referências de design e funcionalidades de plataformas de agendamento médico e telemedicina, observando boas práticas de UX/UI, layout responsivo e fluxos de agendamento.
Essas análises ajudaram a definir a estética limpa, o uso de cores suaves e a estrutura de navegação simples.
Paralelamente, foi conduzido um brainstorm criativo no Milanote, centralizando ideias de layout, telas de login, fluxos de usuário, logos e até mascotes. O objetivo foi construir uma identidade visual coesa, mantendo coerência entre paleta de cores, tipografia e tom comunicativo.
🔗 O board completo com o benchmark e brainstorm visual está disponível em: https://app.milanote.com/1V7xOv1arBiu1i?p=fP6ksYkBAoY

Após o benchmark e brainstorm, a equipe utilizou o Figma para projetar as principais telas da aplicação DocFy, criando um protótipo interativo que reflete o fluxo real de uso do sistema.
As telas desenvolvidas incluem:
Esses protótipos ajudaram a equipe a visualizar o fluxo completo da aplicação, testar navegação, legibilidade e usabilidade antes da implementação, garantindo uma base sólida para o desenvolvimento das telas no front-end.

| Método | Endpoint | Descrição |
|---|---|---|
GET | /medico/listar | Lista todos os médicos cadastrados |
GET | /medico/{id} | Busca um médico pelo ID |
POST | /medico/adicionar | Cadastra um novo médico |
PUT | /medico/atualizar/{id} | Atualiza dados de um médico existente |
DELETE | /medico/deletar/{id} | Remove um médico do sistema |
| Método | Endpoint | Descrição |
|---|---|---|
GET | /docfy/paciente/listar | Lista todos os pacientes |
GET | /docfy/paciente/{id} | Busca paciente por ID |
POST | /docfy/paciente/adicionar | Cadastra um novo paciente |
POST | /docfy/paciente/login | Realiza login de paciente |
PUT | /docfy/paciente/atualizar/{id} | Atualiza os dados do paciente |
DELETE | /docfy/paciente/deletar/{id} | Remove paciente do sistema |
| Método | Endpoint | Descrição |
|---|---|---|
GET | /consulta/listar | Lista todas as consultas cadastradas |
GET | /consulta/buscar/{cpf} | Busca todas as consultas de um paciente pelo CPF |
POST | /consulta/adicionar | Agenda uma nova consulta |
PUT | /consulta/remarcar/{id} | Permite remarcar uma consulta existente |
DELETE | /consulta/cancelar/{id} | Cancela uma consulta específica |
| Método | Endpoint | Descrição |
|---|---|---|
GET | /agenda/listar | Lista todas as agendas cadastradas |
GET | /agenda/listar/id/{idMedico} | Lista horários dispon |