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
- Review outstanding issues, bugs, and pull requests
- Team progress updates and remaining work
- Discuss external API integration
- Review and update project documentation
- Discuss Git methodology, versioning, and merging to
main - Discuss deployment to Cloudflare Pages and Render
- Arrange a tutor meeting
Key Decisions
| Decision | Outcome |
|---|---|
| Resolve outstanding Gitea issues | Issues should be closed once they have been resolved. |
| Clean up merged branches | Branches that have already been merged into develop should be deleted. |
| Prioritise course creation | Course creation should be completed first because it forms the foundation of the application. |
| Add audio support to lessons | The team discussed adding an audio feature so course authors can record pronunciations of words and sentences. |
| External API integration | The team plans to use an API containing countries and their official languages to support course language and flag selection. |
| Sprint 2 documentation | The external API user story should be added to the Sprint 2 documentation. |
| Update documentation | Existing documentation must be updated to reflect the current architecture, tooling, API response formats, and project structure. |
Merge to main | The team will merge develop into main once at the end of each sprint, with a version defined. |
| Versioning and tags | Git tags must be used, but the team still needs to agree on a versioning approach. |
| Deployment | Deployment should only take place after merging into main. |
| Render limitation | The team must raise with Brendan that Render does not support deployment directly from a Gitea repository. |
| Deployment alternative | Docker 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
developshould be deleted.
Team Progress
Nthabiseng
-
Highlighted that
client/src/index.csscontains 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 nofieldsarray. - 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.
developwill be merged intomainonce 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
| Action | Owner | Deadline |
|---|---|---|
| Create PR for completed CI/CD setup | Wilson | Soon |
| Create PR for completed testing setup | Safiyyah | Soon |
| Fix the server issue raised on Gitea | Somnotho | Today |
| Fix the onboarding logic issue raised by Benjamin | Nthabiseng | Not specified |
| Close resolved issues on Gitea | All team members | Ongoing |
Delete branches already merged into develop | All team members | Ongoing |
| Implement the user's course dashboard | Nthabiseng | Not specified |
| Allow authors to attach question types to courses | Wilson | Not specified |
| Improve the course/lesson UI | Somi | Not specified |
| Complete corrections user stories | Benjamin | Not specified |
| Implement course sign-up | Safiyyah | Not specified |
| Add course filtering by level | Safiyyah | After onboarding level selection is available |
| Add filtering based on course ratings | Safiyyah | Not specified |
| Update onboarding to support user level selection | Nthabiseng | Not specified |
| Find a suitable countries and official languages API | Team | Not specified |
| Add external API user story to Sprint 2 documentation | Team | Sprint 2 |
| Update documentation from GitHub to Gitea | Team | Not specified |
Update project-plan.mdx | Team | Not specified |
Update api.mdx | Team | Not specified |
| Agree on a versioning strategy | Team | Before next merge to main |
| Use Git tags when versioning releases | Team | End of each sprint |
Merge develop into main | Team | End of each sprint |
| Raise Render/Gitea deployment limitation with Brendan | Team | Not specified |
| Determine deployment responsibility and timing | Team | Before deployment |
| Arrange a meeting with the tutor | Team | As soon as possible |
Next meeting: 24 August 2026
