CPEN 221 Group Project
StudentLife Course Explorer
A Java course-exploration app for searching UBC courses and collecting workload, difficulty, pace, instructor, and review data.

Employer signal
What This Project Shows
This project is useful to employers because it shows team software construction: data models, controllers, JSON persistence, endpoints, validation, and project planning across multiple contributors.
Problem
What Needed To Be Solved
Students often plan terms from scattered informal advice. The application tries to turn that subjective experience into structured information without pretending it is perfectly objective.
Approach
How I Built The Solution
The group used a model-controller structure around courses and reviews. Course search delegates to the course model, course details aggregate course and review data, and review submission validates user input before storage.
Outcome
What It Demonstrates
The project reads as a real team deliverable: scoped features, shared architecture, structured data, and a user-facing decision-support problem.
Evidence From Source
Source signal
The inspected repo includes `CourseModel.search(q, filter)`, Spark routes for `/search`, `/course/:code`, and `/review/:code`, plus JSON course/review resources.
Team signal
The project plan listed CourseModel data load/store as my responsibility and connected it to controller integration and testing.