Sistema Médico API es el backend de una plataforma de administración clínica desarrollado con Spring Boot, diseñado para gestionar de manera segura y eficiente la información relacionada con pacientes, médicos, citas, diagnósticos, tratamientos e historiales clínicos.
La API implementa una arquitectura REST moderna, autenticación mediante JWT, acceso basado en roles y persistencia de datos utilizando Spring Data JPA y MySQL.
- Inicio de sesión mediante JWT.
- Registro de usuarios.
- Spring Security.
- Contraseñas cifradas con BCrypt.
- Roles y permisos.
- Protección de endpoints.
- Control de sesiones.
- Validación de credenciales.
- Registrar médicos.
- Editar información.
- Especialidades.
- Consultorios.
- Disponibilidad.
- Eliminación lógica.
- Búsqueda por especialidad.
- Registro de pacientes.
- Actualización de datos.
- Expediente clínico.
- Información de contacto.
- Historial de consultas.
- Consulta rápida.
- Agendar citas.
- Reprogramar citas.
- Cancelar citas.
- Consultar disponibilidad.
- Historial de citas.
- Estados de la cita.
- Recordatorios.
- Registro de diagnósticos.
- Observaciones médicas.
- Enfermedades detectadas.
- Evolución del paciente.
- Notas clínicas.
- Registro de tratamientos.
- Prescripción médica.
- Medicamentos.
- Indicaciones.
- Seguimiento.
- Consultas anteriores.
- Diagnósticos.
- Tratamientos.
- Recetas.
- Estudios médicos.
- Evolución clínica.
- Medicina General
- Pediatría
- Cardiología
- Neurología
- Ginecología
- Traumatología
- Dermatología
- Psicología
- Odontología
- Oftalmología
- Pacientes registrados.
- Citas por día.
- Citas por médico.
- Historial médico.
- Diagnósticos realizados.
- Estadísticas generales.
- Próximas citas.
- Cancelaciones.
- Nuevos pacientes.
- Recordatorios médicos.
El proyecto implementa una arquitectura multicapa siguiendo las mejores prácticas de Spring Boot.
- Controller
- Service
- Repository
- Entity
- DTO
- Mapper
- Configuration
- Security
- Exception
- Validation
- Java 21
- Spring Boot 3
- Spring MVC
- Spring Data JPA
- Hibernate
- Spring Security
- JWT
- Lombok
- Maven
- MySQL
- PostgreSQL (Compatible)
- Swagger / OpenAPI
- IntelliJ IDEA
- Visual Studio Code
- Postman
- Git
- GitHub
Backend-SistemaMedico/
│
├── src/
│ ├── main/
│ │
│ ├── java/
│ │ └── com/
│ │ └── example/
│ │ └── sismedico/
│ │
│ │ ├── config/
│ │ ├── controller/
│ │ ├── dto/
│ │ ├── entity/
│ │ ├── mapper/
│ │ ├── repository/
│ │ ├── security/
│ │ ├── service/
│ │ ├── exception/
│ │ ├── util/
│ │ └── SistemaMedicoApplication.java
│ │
│ └── resources/
│ ├── application.properties
│ ├── static/
│ └── templates/
│
├── pom.xml
├── mvnw
├── mvnw.cmd
└── README.md
POST /api/auth/loginPOST /api/auth/registerPOST /api/auth/refresh-token
GET /api/usuariosGET /api/usuarios/{id}POST /api/usuariosPUT /api/usuarios/{id}DELETE /api/usuarios/{id}
GET /api/medicosPOST /api/medicosPUT /api/medicos/{id}DELETE /api/medicos/{id}
GET /api/pacientesPOST /api/pacientesPUT /api/pacientes/{id}DELETE /api/pacientes/{id}
GET /api/citasPOST /api/citasPUT /api/citas/{id}DELETE /api/citas/{id}
GET /api/diagnosticosPOST /api/diagnosticosPUT /api/diagnosticos/{id}DELETE /api/diagnosticos/{id}
GET /api/tratamientosPOST /api/tratamientosPUT /api/tratamientos/{id}DELETE /api/tratamientos/{id}
git clone https://github.com/isairey/Backend-SistemaMedico.gitEntrar al proyecto
cd Backend-SistemaMedicoCREATE DATABASE sistema_medico;spring.datasource.url=jdbc:mysql://localhost:3306/sistema_medico
spring.datasource.username=root
spring.datasource.password=tu_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=truemvn clean installmvn spring-boot:runo
./mvnw spring-boot:runhttp://localhost:8080
Si Swagger está habilitado:
http://localhost:8080/swagger-ui/index.html
OpenAPI JSON:
http://localhost:8080/v3/api-docs
- JWT Authentication.
- Spring Security.
- BCrypt Password Encoder.
- Protección por roles.
- Validación de datos.
- Manejo global de excepciones.
- Protección de endpoints.
- Arquitectura segura para APIs REST.
| Módulo | Estado |
|---|---|
| Autenticación | ✅ |
| Usuarios | ✅ |
| Roles | ✅ |
| Médicos | ✅ |
| Pacientes | ✅ |
| Especialidades | ✅ |
| Citas | ✅ |
| Diagnósticos | ✅ |
| Tratamientos | ✅ |
| Historial Clínico | ✅ |
| Reportes | ✅ |
| Seguridad | ✅ |
- 📱 Aplicación móvil.
- ☁️ Despliegue en Docker.
- 🐳 Kubernetes.
- 📄 Generación de recetas PDF.
- 📅 Calendario médico.
- 📧 Notificaciones por correo.
- 📲 Recordatorios por WhatsApp.
- 💳 Gestión de pagos.
- 🧠 Inteligencia Artificial para apoyo al diagnóstico.
- 📊 Dashboard analítico.
- 🌍 Multiidioma.
- 🔔 WebSockets para notificaciones en tiempo real.
Las contribuciones son bienvenidas.
- Haz un Fork del proyecto.
- Crea una nueva rama.
git checkout -b feature/nueva-funcionalidad- Realiza tus cambios.
git commit -m "Nueva funcionalidad"- Envía tus cambios.
git push origin feature/nueva-funcionalidad- Abre un Pull Request.
Este proyecto se distribuye bajo la licencia MIT, permitiendo su uso, modificación y distribución para proyectos personales, académicos y comerciales.
Isai Reyes - FullStack Developer
Desarrollado como el backend de un Sistema Médico utilizando Java, Spring Boot, Spring Security, Spring Data JPA, Hibernate y MySQL, implementando una API REST escalable, segura y preparada para integrarse con aplicaciones web y móviles.