The brief placed the system at Davos Parsenn, around a hypothetical sunrise skiing session — "Sunrise Ski Session": ski pass sales by type (daily, weekly, season), access control to the facilities and transaction logging with persistence between sessions.
It is an academic case study about a real resort. The system was built for the module brief; it was not developed for Davos Parsenn and has never been in use there.
The key requirement was to implement the system in two different languages — C for the low-level module and Python for the user interface — demonstrating the ability to work across different paradigms and levels of abstraction.
01C module — low-level logic
Implementing the data structures (struct) for tickets, customers and transactions. Memory management with malloc/free, reading and writing binary files for persistence.
02SQLite database
Designing the database schema to store tickets, customers and transactions. Integrating SQLite3 into C through the native API for CRUD operations with no external dependencies.
03Python interface
An interactive CLI in Python that consumes the compiled C module. Menu options for ticket sales, availability queries, transaction history and customer management.
04Integration and testing
Validating the full flow: ticket creation in Python → processing in C → persistence in SQLite → retrieval in the next session. Manual tests of edge cases (stock exhausted, invalid dates, duplicate IDs).
This project forced me to think about the same business logic from two completely different perspectives: manual memory management in C and Python's high-level abstraction. Understanding why Python exists becomes far more tangible once you have implemented the same thing in C first.
It was also my first real integration between two languages in a single system, a common pattern in embedded systems and high-performance applications.