How cpsc436c-2026w1/a1-starter works
This repository combines a course assignment with a rainfall-summary service. The student-facing workflow is to read the assignment and work through its notebook; the service separately accepts date ranges and returns per-model rainfall statistics through FastAPI or Lambda. The README also documents rebuilding the input dataset, but that build script is excluded from this runtime map. The assignment source and README describe notebook steps, but their detailed wiring is not sampled.
Main entry points: service.py Data loader · a1.qmd Assignment source · index.html Rendered assignment · a1.md Markdown assignment
Components 15
Assignment materials
- Assignment source
a1.qmd - Rendered assignment
docs/index.html - Markdown assignment
docs/a1.md - Work notebook
a1.ipynb
Rainfall analysis
- Rainfall statistics
service.py - Data loader
service.py - Local Parquet
Service interfaces
- FastAPI app
service.py - Lambda handler
service.py - Summary endpoint
service.py - Event dispatch
service.py
Other components
- Student
- Summary consumer
- AWS S3
- API Gateway
Connections 14
- Assignment source → Rendered assignment: renders as
- Assignment source → Markdown assignment: renders as
- Student → Rendered assignment: reads
- Student → Work notebook: works in
- Summary consumer → FastAPI app: requests summary
- FastAPI app → Summary endpoint: serves
- Summary endpoint → Rainfall statistics: calls
- API Gateway → Lambda handler: invokes
- Lambda handler → Event dispatch: dispatches
- Event dispatch → Rainfall statistics: calls
- Rainfall statistics → Data loader: loads via
- Data loader → Local Parquet: reads
- Data loader → AWS S3: reads object
- Event dispatch → AWS S3: reads request, writes result