Mafoko is a progressive web application (PWA) developed for the COS 301 Capstone project at the University of Pretoria. It serves as a unified platform for accessing, browsing, and contributing to multilingual glossaries, dictionaries, and terminology banks. Designed with an offline-first approach and scalable architecture, Marito aims to support South Africaβs low-resource languages and empower linguistic research, NLP development, and language preservation.
- π₯ Final Demo Video
- Project Board
- Architecture
- SRS Document
- Architectural requirements
- User Manual
- Technical Installation Manual
- Coding Standards Document
- Testing Policy
- Service Contract
/frontend β React + TypeScript UI
/backend β Python FastAPI backend
/Documentation β Design and documentation
/.github β GitHub Actions workflows and configuration
mainβ Stable, production-ready codedevelopβ Active development integration branchfeature/*β New features and enhancementsrelease/*β Pre-release testing and stabilizationhotfix/*β Critical fixes applied directly to production
This structure ensures clean separation between environments, supports parallel feature development, and maintains a stable deployment process. All code changes are merged into develop through pull requests, and releases are carefully tested before merging into main.
| Name | Role | Student Number | Description | CV Link | ||
|---|---|---|---|---|---|---|
| Hayley Dodkins | Fullstack Engineer | 21528790 | Iβm a software engineer with a passion for coding, and an interest in systems programming. | No CV | [email protected] | |
| Zainab Abdulrasaq | Project Manager | 22566202 | I'm a Computer Science student passionate about data security, database systems, and cybersecurity. I'm eager to keep learning, take on new challenges, and use technology to solve real-world problems. | No CV | [email protected] | |
| Arnaud Strydom | Integration Engineer | 23536013 | I am a third-year BSc Computer Science student at the University of Pretoria, majoring in Software Engineering. My passion for software development, web development (net-centric development), cybersecurity, and artificial intelligence drives me to be a dedicated and diligent worker. I am committed to expanding my knowledge and improving my skills every day. Striving for excellence is one of my core values. I aim to master the technical aspects of software engineering while also developing essential soft skills such as problem-solving, critical thinking, and effective communication. A great software engineer must understand and address user needs, work collaboratively with team members, and clearly articulate ideas and solutions. My dedication to continuous learning, desire to excel, and commitment to making a lasting impact set me apart. I am eager to take on new challenges, collaborate with like-minded individuals, and contribute to the ever-evolving field of software development. | View CV | [email protected] | |
| Palesa Thabane | Services Engineer / Business Analyst | - | I'm a Data Science and Cybersecurity enthusiast with experience in distributed computing and backend development. | No CV | [email protected] | |
| Eugen Vosloo | Data Engineer | 20445696 | I'm a BSc Computer Science student with a focus on Data Science and a passion for backend development. | No CV | [email protected] |
- π₯ Demo 1 Video
- π₯ Demo 2 Video
- π₯ Demo 3 Video
- π₯ Demo 4 Video
Research was conducted for the Mafoko project.
π Research Paper