Repository Map
All Medipal source code is organised into focused repositories under the medipal GitHub organisation.
Core
| Repository | Description | Tech |
|---|---|---|
| mp-schema | JSON Schema definitions & OpenAPI specs | YAML, JSON Schema |
| mp-server | Backend API | Python, FastAPI |
| mp-documentation | This documentation site | VitePress |
Frontend
| Repository | Description | Tech |
|---|---|---|
| mp-frontend | Web application | Nuxt 4, Vue 3, TypeScript |
| mp-frontend-api | Generated TypeScript API client (frontend) | TypeScript |
| mp-nuxt-api-layer | Shared Nuxt API layer | Nuxt, TypeScript |
| mp-nuxt-msal-plugin | Azure AD MSAL authentication plugin | Nuxt, TypeScript |
| mp-frontend-nginx-proxy | Nginx reverse proxy | Nginx |
Mobile
| Repository | Description | Tech |
|---|---|---|
| mp-mobile-app | Mobile application | Nuxt 4, Capacitor 7 |
| mp-mobile-app-api | Generated TypeScript API client (mobile) | TypeScript |
| mp-mobile-app-live-update | OTA live-update Capacitor plugin | TypeScript, Swift, Kotlin |
| mp-mobile-app-builder | Mobile app builder | Node.js |
| mp-mobile-app-ios-native | Native iOS project | Swift |
| mp-mobile-app-android-native | Native Android project | Kotlin |
| mp-mobile-app-tracker-api | Generated TypeScript tracker client | TypeScript |
Tracker
| Repository | Description | Tech |
|---|---|---|
| mp-tracker | Analytics service | Python, FastAPI |
| mp-tracker-api-spec | OpenAPI spec for tracker | YAML |
Schema & Generation
| Repository | Description | Tech |
|---|---|---|
| mp-typescript-api-generator | TypeScript API generator | TypeScript |
| mp-typescript-api-generator-templates | API generator templates | ETA |
| mp-typescript-api-validation | API validation (AJV) | TypeScript |
| mp-tracker-api-spec | OpenAPI spec for tracker | YAML |
Questionnaires
| Repository | Description | Tech |
|---|---|---|
| mp-questionnaire-core-builder | Questionnaire core builder | TypeScript |
| mp-questionnaire-engine-builder | Questionnaire engine builder | TypeScript |
| mp-anonymous-questionnaire-builder | Anonymous questionnaire builder | TypeScript |
Plugins
| Repository | Description | Tech |
|---|---|---|
| mp-server-plugin-sdk | Server plugin SDK | Python |
| mp-server-plugin-smtp-email | SMTP email plugin | Python |
| mp-frontend-plugin-template | Frontend plugin template | TypeScript |
Infrastructure
| Repository | Description | Tech |
|---|---|---|
| mp-github-actions | Shared GitHub Actions | YAML |
| mp-tf-infrastructure | Terraform infrastructure | HCL |
| mp-fastlane-certificates | iOS code signing certificates | — |
Testing
| Repository | Description | Tech |
|---|---|---|
| mp-e2e-tests | End-to-end test suite | Playwright |
| mp-api-tests | API integration tests | Python, pytest |
Libraries
| Repository | Description | Tech |
|---|---|---|
| genma | Code generation engine | Python |
| confirion | Configuration management | Python |
| yamser | YAML serialisation | Python |
| fyler | File utilities | Python |
| structo | Data structures | Python |
| pylog | Logging | Python |
| storiel | Storage abstraction | Python |
Dependency Graph
The mp-schema repository sits at the root of the dependency graph. CI pipelines generate typed clients that are consumed by the server, frontend, and mobile app.
See Platform Architecture for the full dependency diagram.