Project Setup & Infrastructure Decisions
Based on Meeting 2 β Setup & Requirements Engineering
General Decisionsβ
| Category | Decision |
|---|---|
| Application Name | LQ (chosen over Sphinx) |
| Repository | Gitea (created by Wilson) |
| Issue Tracking | Gitea Issues will be used to note bugs and track tasks. |
| Git Methodology | Lightweight GitFlow: feature β develop (via Pull Request) β main (stable releases only). |
| Code Review Preferences | Frontend help: Blessing & Safiyyah Backend help: Benjamin & Somnotho |
Git Access Note: We initially had issues committing. Wilson resolved this by adding everyone as collaborators with write access.
Navigation Structure (Navbar)β
The following pages will be available in the main navigation:
- Dashboard β shows courses youβre currently learning and your progress.
- Browse courses β discover and filter available courses.
- Communities β conversation spaces for learners.
- My Profile β user profile and settings.
- Author Workspace β courses you are currently creating.
- Notifications β alerts and updates.
- Moderator Page β only shown for users with moderator permissions.
Setup Responsibilitiesβ
Who set up what during the foundation phase:
| Team Member | Setup Responsibility |
|---|---|
| Blessing | Frontend folder structure with React + Vite. |
| Somnotho (Somi) | Backend folder structure (microservices architecture), Docker, Zod, and database schema. |
| Nthabiseng | Added Docusaurus to the repo, set up Supabase Auth and Prisma. |
| Benjamin | Code quality tooling (ESLint, Prettier, Husky, lint-staged), and set up Express.js as the backend framework. |
| Wilson | Set up CI/CD pipeline. |
| Safiyyah | Set up testing tools β Vitest for the frontend and Supertest for the backend. |
This document serves as the single source of truth for our initial tech stack decisions and infrastructure ownership.