Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

115 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StayTrack Gestiones

alt text 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.

Características principales

  • 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.

Estructuras utilizadas

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.


Roles de usuario

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.

Organización y modularidad

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.


Problemáticas resueltas

Durante el desarrollo se enfrentaron diversos desafíos:

  • Fechas: se implementó una librería personalizada tiempo.h para 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.h fue 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.

Cómo ejecutarlo

Podemos descargar la versión más estable desde el repositorio de GitHub:

📎 Ir a la versión más estable

Luego, simplemente ejecutamos el archivo staytrack-gestiones.exe.


Cómo compilarlo

  1. Abrí el archivo main.c en un IDE compatible con GCC, como Code::Blocks con MinGW.

  2. Compilá el proyecto desde el IDE o mediante gcc desde terminal.

    gcc -o staytrack-gestiones main.c -lm
  3. Ejecutá el binario generado:

    ./staytrack-gestiones

Créditos y contacto

Desarrollado por:

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."

About

A complete console-based hotel management system. Final project for Laboratory I at UTN Mar del Plata.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages