Skip to content

flicherr/skipass-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

skipass-system

This project implements a turnstile management system for a ski resort. The system manages ski lift access using SkiPass tickets, each identified by a unique ID and associated with owner information (full name, age, and gender) at the time of sale.

The system supports four types of SkiPass tickets:

Unlimited — provides unrestricted access with no limits on time or number of passes;

Expiration — valid until a specified expiration date;

Trips-Limit — valid for a predefined number of passes;

Staff — has no time limits but allows access only through a specific turnstile.

For time-based and ride-limited tickets, the system provides a balance management interface, including top-up functionality (which extends validity time or increases the number of rides and returns change) and balance inquiry.

All tickets except service tickets are linked to a storage locker cell. The system allows opening and closing the locker and retrieving the locker number associated with a ticket.

Unlimited and service tickets support owner reassignment. For all ticket types, the system provides functionality to check access permission for a given turnstile and to perform a pass through a specified turnstile.

Installation

Building for your current system architecture:

cmake -S . -B build -G Ninja
cmake --build build

Use

Startup:

./build/skisys

Memory check:

./valgrind/run.sh
vim valgrind/memcheck.log

About

Turnstile pass management system for a ski resort.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published