Skip to main content

Meeting 2 – Internal Setup & Requirements Engineering

Date: 5 August 2026
Time: 10:00 AM – 11:30 AM
Platform: Google Meet
Attendees: Whole team
Minutes taker: Benjamin


Agenda

  1. Finalise app name and repository access.
  2. Define the revised Git methodology.
  3. Agree on the navbar structure.
  4. Allocate setup responsibilities.
  5. Allocate Sprint 1 user stories.

Key Decisions

CategoryDecision
App NameLQ (chosen over Sphinx)
RepositoryGitea (created by Wilson). Access issue resolved by adding everyone as collaborators with write access.
Issue TrackingGitea Issues will be used to note bugs.
Git MethodologyLightweight GitFlow (proposed by Nthabiseng):
feature branches → develop (via Pull Request) → main (stable releases only).
Code Review PreferencesFrontend help: Blessing & Safiyyah
Backend help: Benjamin & Somnotho
UI Design ToolFigma – Benjamin set up the education tier. Everyone must get authorisation and join the team.

The main navigation will include:

  • 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 Pageonly shown for users with moderator permissions.

Setup Allocation

Who is responsible for what infrastructure:

Team MemberSetup Responsibility
BlessingFrontend folder structure with React + Vite.
SomnothoBackend folder structure (microservices architecture), Docker, Zod, and the database schema.
NthabisengAdd Docusaurus to the repo, set up Supabase Auth and Prisma.
BenjaminCode quality tooling (ESLint, Prettier, Husky, lint-staged), and set up Express.js.
WilsonSet up CI/CD (GitHub Actions).
SafiyyahSet up testing tools – Vitest (frontend) and Supertest (backend).

Sprint 1 Work Allocation (User Stories)

Due by 25 August.

Nthabiseng

  • As a new user, I want to sign up for an account, so that I can access the platform.
  • As a registered user, I want to log in, so that I can access my account.
  • As a user who's forgotten their password, I want to reset it, so that I can regain access to my account.
  • As a user, I want to delete my account, so that I can remove my data from the platform if I no longer want to use it.
  • As a user, I want to view and edit my profile page, so that other users can see who I am and what I'm learning/teaching.
  • As a learner, I want to see a dashboard of the courses I've signed up for, so that I can quickly get back to what I'm learning.

Safiyyah

  • As a learner, I want to browse available courses, so that I can find something to learn.
  • As a learner, I want to filter courses (e.g. by language, level, or topic), so that I can narrow down to courses relevant to me.
  • As a learner, I want the platform to recommend courses to me, so that I can discover relevant content without searching manually.

Somi (Somnotho)

  • As a course author, I want to create a workspace for a new course, so that I can start building out its content.
  • As a course author, I want to add lessons to my course workspace, so that I can structure my course's content.
  • As a course author, I want to publish my course, so that other users can find and take it.

Benjamin

  • As a learner, I want to suggest a correction to a course or lesson, so that I can help improve content I find mistakes in.
  • As a course author, I want to review corrections suggested on my course, so that I can decide whether to accept them.
  • As a course author, I want to accept a suggested correction, so that it's applied to my course and the contributor is credited.

Wilson

  • As a course author, I want to attach an assessment to my course, so that learners can test their understanding.
  • As a course author, I want to build an assessment from multiple question types, so that I can assess learners in varied ways suited to the content.

Blessing

  • As a product team, we want to define how users earn reputation on the platform (e.g. creating courses, getting likes, adding corrections, getting likes on comments, time spent on the app), so that reputation reflects genuine positive contribution and can later be used to widen what a trusted user is allowed to do.

Note: Blessing's story is a design/decision task for now. Once the reputation formula is settled, we will split it into concrete implementable stories (e.g., "As a user, I want to earn reputation points when my correction is accepted...").


Action Items

ActionOwner
Join Figma team (education tier)Everyone
Begin implementation of Sprint 1 storiesRespective owners

Sprint 1 officially starts now. Next standup: Monday 10 AM.