StayTrack Gestiones es un sistema de gestión hotelera desarrollado en lenguaje C, diseñado para operar con distintos roles de usuario y funcionalidades específicas según el puesto: mozo, limpieza, recepcionista y administrador.
La aplicación ofrece una interfaz sencilla, modular y segura para gestionar empleados, reservas, habitaciones, comidas, botellas y más. Todo ello desde un ejecutable multiplataforma optimizado para funcionar todo el día sin reinicios.
- Inicio de sesión personalizado por rol con contraseñas seguras.
- Alta, baja, modificación y búsqueda de empleados y clientes.
- Gestión completa de habitaciones y reservas (check-in / check-out).
- Control de limpieza con sistema de tareas y pila de habitaciones.
- Gestión de botellas por ID y marca (para el frigobar).
- Menú de comidas para mozos.
- Generación de links de pago (Mercado Pago / PayPal).
- Administración total del sistema por parte del rol administrador.
El sistema está construido sobre cuatro estructuras fundamentales:
stEmpleado: contiene nombre, edad, género, teléfono, DNI, correo, nacionalidad, oficio, fecha de alta/baja, bajaPasiva.strHabitacion: define si está ocupada/reservada, número, capacidad, frigobar, baños, aire acondicionado, precio, habilitación.huesped: representa a un cliente con todos sus datos personales y de estadía.tiempo: estructura interna para manipulación de fechas y horas (año, mes, día, hora, minuto).
Cada estructura incluye funcionalidades CRUD y ordenamiento personalizado.
El sistema permite gestionar acciones distintas según el tipo de usuario:
- Mozo: acceso a menú de comidas y reciclado de botellas.
- Limpieza: gestión de habitaciones pendientes y reciclado de botellas.
- Recepcionista: administración de reservas, habitaciones y generación de pagos.
- Administrador: control completo sobre el sistema, incluyendo empleados.
El proyecto se compone de 16 módulos (librerías) con lógica separada. La estructura permite que cada menú funcione de manera aislada y segura, con una navegación basada en switch/case para una experiencia intuitiva.
Se utilizó GitHub y Trello como herramientas de gestión y organización del desarrollo, incluyendo flujos de trabajo colaborativos y resolución de conflictos en Pull Requests.
Durante el desarrollo se enfrentaron diversos desafíos:
- Fechas: se implementó una librería personalizada
tiempo.hpara el manejo de fechas y validaciones como años bisiestos. - Persistencia de datos: especialmente en habitaciones y botellas, se decidió cuándo persistir y cuándo limpiar automáticamente.
- Uso de pilas: la librería
pila.hfue adaptada para limpieza diaria. - Arreglos de palabras: solución mediante paso de parámetros específicos y convenciones internas.
- Resolución de conflictos en Git: aprendizaje colaborativo mediante pruebas reales y documentación compartida.
Podemos descargar la versión más estable desde el repositorio de GitHub:
Luego, simplemente ejecutamos el archivo staytrack-gestiones.exe.
-
Abrí el archivo
main.cen un IDE compatible con GCC, como Code::Blocks con MinGW. -
Compilá el proyecto desde el IDE o mediante
gccdesde terminal.gcc -o staytrack-gestiones main.c -lm
-
Ejecutá el binario generado:
./staytrack-gestiones
Desarrollado por:
- Patricio Tubio - github.com/soypato
- Juan Manuel Ciardi - github.com/JuaniiC07
- Ivan Ialonardi - github.com/ivi-developer
- Ignacio Acuña - github.com/imonety
Gracias por usar StayTrack Gestiones.
"Este sistema fue diseñado para brindar eficiencia, control y experiencia al personal y huéspedes de un hotel moderno."