A SvelteKit web app for viewing school timetables, populated by a Python data script.
This project consists of two main parts:
app/, app2/: A SvelteKit application that serves as the user-facing website. It displays the schedule information in a clean, readable format.proc/: A Python data processing script that reads a complex schedule from a .csv file and generates a structured JavaScript module (orar.js) that the SvelteKit application can import and use./next/[id]) that intelligently calculates and displays the schedule for the next upcoming school day, skipping weekends .pandas parses the master schedule CSV and outputs a clean JS module .main branch.The application's data flow is designed for easy updates:
proc/orar CNVA 2025-2026 14 sept.csv file .proc/main.py) is executed . It reads the CSV , parses the schedule data, maps teachers to subjects , and generates a JavaScript module located at proc/orar.js .proc/orar.js file is then copied to app/src/lib/index.js , which acts as the database for the SvelteKit application.Note: The repository also contains an app2 directory , which appears to be a newer version of the application using Svelte 5. However, the current CI/CD workflow is configured to build and deploy the application from the app directory .
To run the app (main deployed version) locally:
# Navigate to the app directory
cd app
# Install dependencies
bun install
# Run the development server
bun run dev
To update the schedule data used by the application:
proc/orar CNVA 2025-2026 14 sept.csv .pandas library installed (pip install pandas).proc directory:cd proc
python main.py
proc/orar.js .proc/orar.js and use them to replace the contents of app/src/lib/index.js.app/src/lib/index.js to trigger a new deployment.