Este software fue desarrollado como Proyecto de Aula para la asignatura de Estructuras de Datos en Ingeniería de Sistemas e Informática en la Universidad Pontificia Bolivariana (UPB), durante el primer semestre de 2025 (2025-10). RailLink es un Sistema de Gestión de Trenes de Transporte de Pasajeros diseñado con estándares profesionales y arquitectónicos de alta calidad.
Este proyecto posee un inmenso valor académico y lógico porque NO utiliza java.util para sus colecciones. Cada estructura de datos fue programada 100% desde cero, incluyendo:
- Listas Enlazadas (Simples, Dobles y Circulares)
- Pilas y Colas
- Árboles Binarios
- Tablas Hash (Hashmaps)
- Grafos
El sistema cuenta con un algoritmo avanzado de teoría de grafos para validar y calcular la ruta más corta entre estaciones, evaluado en kilómetros. Esto permite la optimización automática del recorrido que debe hacer el tren (y el pasajero) dentro de nuestra red ferroviaria.
A continuación, mostraremos cómo luce el sistema en acción:
RailLink sigue la rigidad y el desacoplamiento del patrón MVC (Modelo-Vista-Controlador):
La gestión e interacción de los modelos internos (Boletos, Estaciones, Pasajeros) se representa de la siguiente manera:
Además, tenemos una vista general de nuestros componentes integrados:
El núcleo de la lógica enrutadora trabaja en base a este diseño de grafos en kilómetros:
El software sigue una organización modular limpia:
src/main/java/dataStructures/: Colecciones y Algoritmos desde Cero.src/main/java/model/: Entidades de Lógica de Negocio.src/main/java/view/: Interfaces Gráficas de Usuario.src/main/java/controller/: Enlace MVC.src/main/java/database/: Persistencia JSON (Gestión y Control).src/test/: Pruebas Unitarias JUnit 5.
- Clona el repositorio e impórtalo como un proyecto Maven.
- Compila el software:
mvn clean compile. - Ejecuta nuestra suite extendida de pruebas para validar la integridad de las colecciones customizadas:
mvn test
This software was developed as a Classroom Project for the Data Structures course in Systems and Informatics Engineering at Universidad Pontificia Bolivariana (UPB), during the first semester of 2025 (2025-10). RailLink is a Passenger Train Management System designed with high-quality and professional architectural standards.
This project holds an immense academic and logical value because it DOES NOT use java.util for its collections. Every single data structure was programmed 100% from scratch, including:
- Linked Lists (Singly, Doubly, and Circular)
- Stacks and Queues
- Binary Trees
- Hash Tables (Hashmaps)
- Graphs
The system features an advanced graph theory algorithm to validate and calculate the shortest path between stations, evaluated in kilometers. This allows for automatic optimization of the route that the train (and the passenger) must traverse inside our railway network.
Here is what the system looks like in action:
RailLink follows the strictness and decoupling rules of the MVC (Model-View-Controller) pattern:
The management and interaction of internal models (Tickets, Stations, Passengers) are illustrated below:
Additionally, we have a complete overview of our integrated software components:
The core behavior of our shortest-route algorithm relies on the following design based on kilometers:
The software adheres to a clean modular setup:
src/main/java/dataStructures/: Scratch-built Algorithms and Collections.src/main/java/model/: Business Logic Entities.src/main/java/view/: Graphical User Interfaces.src/main/java/controller/: MVC Linker.src/main/java/database/: JSON Persistence capabilities.src/test/: JUnit 5 Unit Tests.
- Clone the repository and import it as a Maven Project.
- Compile the software:
mvn clean compile - Execute our extended test suite to validate the integrity of our custom collections:
mvn test







