What and why
Without real-ish data, the frontend has nothing to display and M1 can't be demoed.
Done when
apps/api/scripts/seed.py populates the database with: ITEE faculty, its degree programs (CS, ECE, etc.), Real courses pulled from OpasPeppi, and 2–3 CourseImplementation rows per course for years 2023–2025. Script is idempotent — running it twice doesn't duplicate data. Invoked via docker compose exec api uv run python scripts/seed.py.
Notes
You can either scrape opaspeppi or download the data manually to a file if needed.
What and why
Without real-ish data, the frontend has nothing to display and M1 can't be demoed.
Done when
apps/api/scripts/seed.pypopulates the database with: ITEE faculty, its degree programs (CS, ECE, etc.), Real courses pulled from OpasPeppi, and 2–3CourseImplementationrows per course for years 2023–2025. Script is idempotent — running it twice doesn't duplicate data. Invoked viadocker compose exec api uv run python scripts/seed.py.Notes
You can either scrape opaspeppi or download the data manually to a file if needed.