Overview
In my junior year, I took Larger-Scale Software Development, a course focused on
professional coding practices such as documentation, testing, and continuous integration (CI).
For the final project, our team built Noodle Maps: a simple route-planning
web app we made as a testbed for our custom CI framework.
The app used the Google Maps API on the backend with a minimal HTML frontend.
Our real emphasis was on designing a workflow that enforced rigorous quality checks
before code could reach the main branch.
Our CI Framework
We implemented a structured GitHub-based workflow to ensure correctness and collaboration:
- Each new feature started on its own branch.
- Unit and integration tests were written before implementation, focusing on
inputs/outputs instead of brittle internal logic.
- Commits triggered hooks to run unit tests.
- Pull requests merged into
true-head only if integration tests passed
(via a custom GitHub Action).
- If reviewers approved and all tests passed,
true-head was merged into
green-head - but only after a full end-to-end test suite succeeded.
This structure prevented direct merges to protected branches and blocked bugs
at multiple checkpoints.
Our CI framework enforced multi-layered testing and review, ensuring that the main branch was always stable and deployable.
Outcome
Our CI framework ensured a high-quality codebase by enforcing
multiple layers of automated and human review.
The structured process gave us confidence that
green-head was always stable and deployable.
Noodle Maps demonstrated how disciplined CI/CD practices can
minimize bugs even in a student project.