Skip to content
Navheen edited this page Oct 12, 2025 · 3 revisions

CourseMatcher Project Documentation

Welcome to the CourseMatcher Project Wiki.

This documentation provides an overview of our project’s technical, procedural, and collaborative work - from coding standards and code reviews to research decisions and documentation for the file structure within the codebase. The latter will provide useful insight for future development teams as it includes resource links to official documentations for the technologies used, implementation justifications and explanations for the current file structure in the project.

Each section below links to detailed subpages and guidelines.

Code Review

This section outlines our code review process and standards to ensure high-quality, maintainable code.

Coding Standards

Defines the style and structure guidelines used across the project to maintain readability and consistency.

File Structure Documentation

Explains the project’s directory layout for both frontend and backend components. This helps new contributors quickly understand where to find and place files such as React components, FastAPI routes, utility scripts, and configuration files.

Product Owner Meetings

Contains formal meeting records between the team and the Product Owner.

Team Meetings

Documents internal team collaboration and progress updates throughout the project timeline. This section provides a clear view of team communication and agile practices.

Research

Covers technology research and justification for all major stack choices in the project.
Includes:

  • Technology Research & Justification – Overview of decision-making across backend, frontend, hosting, NLP, and database technologies.
  • Backend Framework Research (FastAPI) – Comparison of alternatives and reasoning for final choice.
  • Frontend Framework Research (React) – Discussion of strengths and suitability.
  • Hosting Platform (Render) – Deployment research and justification.
  • NLP Tool (Sentence Transformers) – Why it was chosen for semantic matching.
  • Database Choice (SQLite) – Lightweight database rationale.
  • Reflection on Self-Directed Learning – Personal learning experiences and tools used.
  • References & Learning Resources – Research citations and tutorials referenced.

Sprints

Documents our agile sprint cycles, including retrospectives and sprint planning. This section showcases our iterative progress and reflections throughout the development lifecycle.

Clone this wiki locally