Mafoko is a progressive web app (PWA) that provides access to multilingual glossaries, dictionaries, and term banks, with a focus on South Africa's official languages. It supports language preservation and low-resource NLP research by allowing users to search terms, download resources for offline use, and contribute feedback to a central repository
# Mafoko: A PWA for Multilingual Lexicons, Term Banks, and Glossaries
## Project Description
**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.
---
## Demo Video
- 🎥 Final Demo Video
---
## Demo 4 Documentation
* Project Board
* Architecture
* SRS Document
* Architectural requirements
* User Manual
* Technical Installation Manual
* Coding Standards Document
* Testing Policy
* Service Contract
---
## Git Structure & Branching Strategy
#### **Repository Type**: Monorepo
#### **Structure**:
```
/frontend → React + TypeScript UI
/backend → Python FastAPI backend
/Documentation → Design and documentation
/.github → GitHub Actions workflows and configuration
```
#### **GitFlow Branching Model**
* `main` – Stable, production-ready code
* `develop` – Active development integration branch
* `feature/*` – New features and enhancements
* `release/*` – Pre-release testing and stabilization
* `hotfix/*` – 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`.
---
## Velox Team Members
| Name | Role | Student Number | Description | LinkedIn | CV Link | Email |
|------ …