Sunrise Ski Session — Davos Parsenn

Ski pass sales system in C and Python with SQLite · Software Development
C
Python
SQLite
CLI
File I/O
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.

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

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

Python interface

An interactive CLI in Python that consumes the compiled C module. Menu options for ticket sales, availability queries, transaction history and customer management.

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