Este pequeño programa backend desarrollado como práctica de mis estudios en Java SE, presenta una plataforma para registrar datos de pacientes médicos: fecha, horario y motivos de consulta. Con una interfaz de menú que permite añadir, mostrar, editar y eliminar registros.
Usando el IDE Intellij IDEA los conceptos básicos de programación y lógica aplicada como lo son: variables de diferentes tipos, condicionales, bucles, switch, Try-catch y librerías para conectar y almacenar los datos en una BD Sql alojada en web.
herramientas utilizadas
IDE: Intellij IDEA
Lenguaje: Java SE
Base de datos: MySQL
Servicio de Hosting: Hostinger
Fragmento de código del proyecto
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
CitaDAO citaDAO = new CitaDAO();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("\n--- Menú de Citas ---");
System.out.println("1. Agendar cita");
System.out.println("2. Ver todas las citas");
System.out.println("3. Editar cita");
System.out.println("4. Eliminar cita");
System.out.println("5. Salir");
System.out.print("Seleccione una opción: ");
int opcion = scanner.nextInt();
scanner.nextLine();
switch (opcion) {
case 1:
agendarCita(citaDAO, scanner);
break;
case 2:
verTodasLasCitas(citaDAO);
break;
case 3:
editarCita(citaDAO, scanner);
break;
case 4:
eliminarCita(citaDAO, scanner);
break;
case 5:
System.out.println("Saliendo...");
scanner.close();
return;
default:
System.out.println("Opción no válida. Intente de nuevo.");
}
}
}
private static void agendarCita(CitaDAO citaDAO, Scanner scanner) {
System.out.print("Nombre del paciente: ");
String nombre = scanner.nextLine();
System.out.print("Fecha de la cita (YYYY-MM-DD): ");
String fecha = scanner.nextLine();
System.out.print("Hora de la cita (HH:MM): ");
String hora = scanner.nextLine();
System.out.print("Motivo de la cita: ");
String motivo = scanner.nextLine();
Cita nuevaCita = new Cita(nombre, fecha, hora, motivo);
citaDAO.insertarCita(nuevaCita);
System.out.println("Cita agendada con éxito!");
}
private static void verTodasLasCitas(CitaDAO citaDAO) {
List citas = citaDAO.obtenerTodasLasCitas();
for (Cita cita : citas) {
System.out.println("ID: " + cita.getId());
System.out.println("Paciente: " + cita.getNombrePaciente());
System.out.println("Fecha: " + cita.getFechaCita());
System.out.println("Hora: " + cita.getHoraCita());
System.out.println("Motivo: " + cita.getMotivo());
System.out.println("-----------------------------");
}
}
private static void editarCita(CitaDAO citaDAO, Scanner scanner) {
System.out.print("Ingrese el ID de la cita a editar: ");
int id = scanner.nextInt();
scanner.nextLine();
// Obtener la cita actual
Cita cita = citaDAO.obtenerCitaPorId(id);
if (cita == null) {
System.out.println("No se encontró una cita con el ID proporcionado.");
return;
}
System.out.println("Editando la cita: " + cita.getNombrePaciente());
// Solicitar nuevos datos
System.out.print("Nuevo nombre del paciente: ");
String nombre = scanner.nextLine();
System.out.print("Nueva fecha de la cita (YYYY-MM-DD): ");
String fecha = scanner.nextLine();
System.out.print("Nueva hora de la cita (HH:MM): ");
String hora = scanner.nextLine();
System.out.print("Nuevo motivo de la cita: ");
String motivo = scanner.nextLine();
// Actualizar la cita
cita.setNombrePaciente(nombre);
cita.setFechaCita(fecha);
cita.setHoraCita(hora);
cita.setMotivo(motivo);
citaDAO.editarCita(cita);
System.out.println("Cita actualizada con éxito!");
}
private static void eliminarCita(CitaDAO citaDAO, Scanner scanner) {
System.out.print("Ingrese el ID de la cita a eliminar: ");
int id = scanner.nextInt();
scanner.nextLine();
// Confirmar eliminación
System.out.print("¿Está seguro de que desea eliminar esta cita? (s/n): ");
String confirmacion = scanner.nextLine();
if (confirmacion.equalsIgnoreCase("s")) {
citaDAO.eliminarCita(id);
System.out.println("Cita eliminada con éxito!");
} else {
System.out.println("Eliminación cancelada.");
}
}
}
public class Cita {
private int id;
private String nombrePaciente;
private String fechaCita;
private String horaCita;
private String motivo;
//Constructor, getters y setters
public Cita(String nombrePaciente, String fechaCita, String horaCita, String motivo) {
this.nombrePaciente = nombrePaciente;
this.fechaCita = fechaCita;
this.horaCita = horaCita;
this.motivo = motivo;
}
//Getters y Setters
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNombrePaciente() {
return nombrePaciente;
}
public void setNombrePaciente(String nombrePaciente) {
this.nombrePaciente = nombrePaciente;
}
public String getFechaCita() {
return fechaCita;
}
public void setFechaCita(String fechaCita) {
this.fechaCita = fechaCita;
}
public String getHoraCita() {
return horaCita;
}
public void setHoraCita(String horaCita) {
this.horaCita = horaCita;
}
public String getMotivo() {
return motivo;
}
public void setMotivo(String motivo) {
this.motivo = motivo;
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
//Credenciales Base de Datos
public class ConexionBd {
private static final String URL = "servidor";
private static final String USER = "Base de datos";
private static final String PASSWORD = "Contraseña";
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(URL, USER, PASSWORD);
}
}