Skip to main content

Meeting 4 – (16/08)

Date: 16 August 2026 Time: 10h00 – 11h30 Platform: Google Meet Attendees: Safiyyah, Benjamin, Nthabiseng, Blessing, Wilson, Somi
Minutes taker: Benjamin


Agenda

  1. Review outstanding issues, bugs, and pull requests
  2. Team progress updates and remaining work
  3. Discuss external API integration
  4. Review and update project documentation
  5. Discuss Git methodology, versioning, and merging to main
  6. Discuss deployment to Cloudflare Pages and Render
  7. Arrange a tutor meeting

Key Decisions

DecisionOutcome
Resolve outstanding Gitea issuesIssues should be closed once they have been resolved.
Clean up merged branchesBranches that have already been merged into develop should be deleted.
Prioritise course creationCourse creation should be completed first because it forms the foundation of the application.
Add audio support to lessonsThe team discussed adding an audio feature so course authors can record pronunciations of words and sentences.
External API integrationThe team plans to use an API containing countries and their official languages to support course language and flag selection.
Sprint 2 documentationThe external API user story should be added to the Sprint 2 documentation.
Update documentationExisting documentation must be updated to reflect the current architecture, tooling, API response formats, and project structure.
Merge to mainThe team will merge develop into main once at the end of each sprint, with a version defined.
Versioning and tagsGit tags must be used, but the team still needs to agree on a versioning approach.
DeploymentDeployment should only take place after merging into main.
Render limitationThe team must raise with Brendan that Render does not support deployment directly from a Gitea repository.
Deployment alternativeDocker may be used as a workaround if Render cannot be used with Gitea.

Discussion Points

Outstanding Issues, Bugs, and Pull Requests

  • Wilson has completed the CI/CD setup and will create a pull request.
  • Safiyyah has completed the testing setup and will create a pull request.
  • Somnotho will fix the server issue raised by Nthabiseng on Gitea.
  • Nthabiseng will fix the onboarding logic issue raised by Benjamin on Gitea.
  • Resolved issues should be closed on Gitea.
  • Branches that have already been merged into develop should be deleted.

Team Progress

Nthabiseng

  • Highlighted that client/src/index.css contains root variables that can be reused in individual CSS files.

  • Completed:

    • Sign up
    • Login
    • Forgotten password
    • Account deletion
    • Profile page
  • Created a communities page that allows users to view other users on the application. This provides a foundation for Blessing to add reputation information to user profiles.

  • Fixed the race condition raised by Somnotho.

  • Still needs to implement a dashboard where users can view the courses they have signed up for.

Wilson

  • Completed the user story for attaching an assessment to a course.
  • Still needs to implement the ability for an author to attach question types to a course.

Somi

  • Completed:

    • Building lesson content
    • Allowing learners to view lesson content
    • Creating a workspace for a new course
    • Creating and editing a course's basic details
  • Structured the lesson workspace to make forking easier.

  • The UI still requires improvement.

  • Recommended prioritising course creation because it forms the foundation of the application.

  • Benjamin suggested adding audio functionality to lessons so course authors can record pronunciations of words and sentences.

Benjamin

  • Completed:

    • CRUD functionality for lessons
    • Publishing and unpublishing courses
  • Still needs to complete the corrections user stories.

Safiyyah

  • Working on the Browse Courses page.

  • Was assigned the user story for allowing a user to sign up for a course.

  • Completed:

    • Loading published courses
    • Searching courses by title
    • Filtering courses by language
  • Requires the onboarding flow to allow users to select their level before filtering courses by level can be implemented.

  • Still needs to add filtering based on course ratings.

Blessing

Reputation was defined in terms of the following functionality:

  • Users can rate courses out of 5.
  • Users can leave comments.
  • Users can subscribe to lessons.
  • Reputation can be viewed on a user's profile.

External API Integration

  • The team discussed using an external API that provides countries and their official languages.
  • Course flags will be displayed on the Browse Courses page.
  • When a course author selects the language for their course, flags of countries where that language is official should be displayed.
  • Course authors should still be able to add languages that are not official languages and manually select a flag.
  • For unofficial languages, suggested flags should be based on flags previously associated with that language, using a database query.
  • This user story must be added to the Sprint 2 documentation.
  • The team still needs to identify a suitable API.

Documentation

The documentation needs to be updated to refer to Gitea instead of GitHub.

project-plan.mdx

The following sections are outdated and need to be corrected:

  • The project does not have separate frontend and backend teams; all team members work across both.
  • The Entity Relationship Diagram is outdated.
  • The documented error shape does not match the error shape in @osl/shared; there is no fields array.
  • The testing strategy must reflect the use of Vitest.
  • The documented project folder structure is outdated.

api.mdx

This document serves as the central reference for updating features and requires the following corrections:

  • The documented error shape does not match @osl/shared.
  • The folder structure is outdated.
  • Success responses do not match the format defined in @osl/shared.

Git Methodology and Versioning

  • The team has not consistently followed a versioning approach.
  • The versioning issue remains unresolved.
  • Git tags must be used, but this requires the team to first agree on a versioning strategy.
  • develop will be merged into main once at the end of each sprint.
  • A version should be defined when the sprint is merged into main.

Deployment

  • Deployment should occur only after merging into main.
  • The team still needs to determine who is responsible for deployment and exactly when deployment should occur.
  • Render does not allow direct deployment from a Gitea repository.
  • This limitation should be raised with Brendan.
  • If Render cannot be used, Docker could potentially be used as a workaround.
  • The planned deployment platforms are Render and Cloudflare Pages.

Tutor Meeting

  • The team should attempt to arrange a meeting with the tutor.

Action Items

ActionOwnerDeadline
Create PR for completed CI/CD setupWilsonSoon
Create PR for completed testing setupSafiyyahSoon
Fix the server issue raised on GiteaSomnothoToday
Fix the onboarding logic issue raised by BenjaminNthabisengNot specified
Close resolved issues on GiteaAll team membersOngoing
Delete branches already merged into developAll team membersOngoing
Implement the user's course dashboardNthabisengNot specified
Allow authors to attach question types to coursesWilsonNot specified
Improve the course/lesson UISomiNot specified
Complete corrections user storiesBenjaminNot specified
Implement course sign-upSafiyyahNot specified
Add course filtering by levelSafiyyahAfter onboarding level selection is available
Add filtering based on course ratingsSafiyyahNot specified
Update onboarding to support user level selectionNthabisengNot specified
Find a suitable countries and official languages APITeamNot specified
Add external API user story to Sprint 2 documentationTeamSprint 2
Update documentation from GitHub to GiteaTeamNot specified
Update project-plan.mdxTeamNot specified
Update api.mdxTeamNot specified
Agree on a versioning strategyTeamBefore next merge to main
Use Git tags when versioning releasesTeamEnd of each sprint
Merge develop into mainTeamEnd of each sprint
Raise Render/Gitea deployment limitation with BrendanTeamNot specified
Determine deployment responsibility and timingTeamBefore deployment
Arrange a meeting with the tutorTeamAs soon as possible

Next meeting: 24 August 2026 Meeting Proof