After setting up your Docker environment, the site loads with only placeholder content (the "New Site" page with Learn/Teach/Volunteer sections).
The frontend remains minimal until at least one Program is created. Adding a program unlocks the real UI: program listings, registration flows, class creation, scheduling, and many Bootstrap-styled elements (forms, buttons, grids, cards, etc.).
- Docker environment is running (
docker compose upcompleted successfully) - A superuser account has been created
If you want a working program with sample data immediately, run:
docker compose exec web python esp/manage.py seed_dummy_data
This creates a program with timeslots, rooms, teachers, students, and classes already configured. You can skip ahead to step 4 to verify it worked, or continue below to learn how to create a program from scratch.
If you want to make your own program and understand the process, follow these steps:
Log in as superuser
Log in with your superuser credentials at http://127.0.0.1:8000/
Go to the program management page
Create a new program
- Click Create a New Program.
- Fill in the minimal required fields:
- Term or year, in URL form: e.g., "2026"
- Term, in English: e.g., "Splash Dev"
- Program Type: e.g., "SplashDev"
- Other fields (dates, description, grade range, etc.): use defaults or simple values.
- Click Make Program Happen!.
Verify the program appears
- Refresh the list of programs: http://127.0.0.1:8000/manage/programs/
- Or direct detail view: http://127.0.0.1:8000/manage/SplashDev/2026/main (replace with your slug)
You should now see your program listed, with links to view, register, etc.
After creating a program, the site transforms from a static placeholder to a dynamic platform with:
- Program listings and detail pages
- Registration links
- Class creation interfaces
Page still looks empty
- Ensure you're logged in
- Hard refresh browser (Ctrl + F5 on Windows/Linux, Cmd + Shift + R on Mac)
- Restart web container:
docker compose restart web
Learn / Teach / Volunteer sections still empty
These are QSD (Quick Static Documents) pages — editable content stored in the database. To populate them:
- Visit http://127.0.0.1:8000/learn/index.html (and similarly for /teach/, /volunteer/)
- Click "change that"
- Add some text content and save
localhost:8000 doesn't load, but 127.0.0.1:8000 does
This is a known Windows + Docker Desktop behavior. Use 127.0.0.1 — it's reliable.