A web app for running Taurite Tū, a strength and balance programme for kaumātua (older adults). Staff use it to manage branches (kapa), participants, classes and attendance, record physical assessments, and produce reports for ACC, with optional AI-written summaries.
Built by COSC345 Group 4, University of Otago. Group 4:
- Ritvik Sharma
- Jack Dunlop
- Romero Suggate
- Danny Madison
- Gunit Chawla
- Participants: enrolment at the authorised branch, separate Details and Attendance history pages, consent, documents, deactivation and reactivation.
- Sessions and attendance: all staff roles create sessions; Super Admins choose a branch and can filter national calendar/list views. Super Admins can mark, review, finalise and reopen attendance nationally; branch managers and instructors do the same within their own branch.
- Physical assessments: chair stand, timed up-and-go and balance tests, with baseline/latest comparisons, history and trend charts.
- Reporting: attendance and physical-testing statistics by branch and quarter, AI explanations, and ACC report drafts.
- Feedback: quotes and short stories linked to a participant or session, with recorded speaker type and reporting consent.
- Staff accounts: role and branch management, deactivation and reactivation with an audit trail.
- Documents: shared organisation, branch and participant files.
- Help: role-specific help articles and a help chatbot that answers from them.
- Audit log: a record of who changed what.
Three roles use the app: kaimahi (instructors), branch managers and super admins. Each one sees only what their role allows. Super Admins work nationally; branch managers and instructors are restricted to their own branch. See the permission summary.
| Part | Technology |
|---|---|
| Frontend | Vue 3, Vue Router, Vite, Axios |
| Backend | Django 5.2, Django REST Framework |
| Background jobs | Celery, with Redis as the broker |
| Cache | Redis |
| Database | SQLite |
| AI | University vLLM server through the OpenAI client |
docs/quickstart walks through the whole setup, from installing the prerequisites to signing in. In short:
# 1. Configuration: copy the template, then fill in SECRET_KEY and the LLM values
cp backend/.env_skeleton .env
# 2. Python environment and backend dependencies
python -m venv .venv
source .venv/bin/activate # Windows PowerShell: .\.venv\Scripts\Activate.ps1
python -m pip install -r backend/requirements.txt
# 3. Frontend dependencies
npm ci --prefix frontend
# 4. Redis
docker run --name taurite-redis -p 127.0.0.1:6379:6379 -d redis:7-alpine
# 5. Database and demo data
cd backend
python manage.py migrate
python manage.py seed_test_data # needs ALLOW_DEMO_SEEDING=True in .envThen start everything. On Linux, ./scripts/dev.sh runs it all in one terminal. On Windows or macOS, open three terminals:
# from backend/: Django
python manage.py runserver
# from backend/: Celery worker (Windows: use --pool=solo in place of --concurrency=1)
celery -A config worker --loglevel=info --concurrency=1
# from frontend/: Vite dev server
npm run devOpen http://localhost:5173 and sign in as [email protected] with the password TestPass123!.
The Help articles are available immediately. To update the help assistant’s knowledge after editing them, run python manage.py build_help_index from backend/ with the configured LLM service reachable; see Help chatbot setup.
# from backend/
python manage.py test# from frontend/
node --test tests/*.test.jsGroup_4/
├── backend/ Django project (config/) and apps: users, participants, sessions,
│ physical_tests, reporting, documents, help, llm, audit
├── frontend/ Vue app (src/views, src/components, src/apis.js)
├── docs/ Developer documentation
├── scripts/ dev.sh, the Linux development launcher
└── .env Local configuration (not committed; copy backend/.env_skeleton)
| Folder | What's in it |
|---|---|
| quickstart | Full setup guide |
| setup | Python environment, Celery, demo data, help chatbot |
| overview | System overview and te reo Māori terms used in the app |
| features | How each feature behaves |
| backend | Audit log, document storage, LLM integration |
| frontend | Frontend coding conventions |
| bug-scans | Past code review findings |
| devops | DevOps information - deployment & CI/CD workflow |