diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..b156e09a --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,66 @@ +# Contributing to MIH Project + +Thank you for your interest in contributing to the MIH Project! To help us maintain a clean, stable, and secure codebase, please review and follow these contribution guidelines. + +--- + +## 1. Important Repository Notice (GitHub Users) + +> ⚠️ **CRITICAL NOTE:** If you are viewing or found this repository on GitHub, please be aware that this is a **read-only mirror** used strictly for backup purposes. +> +> **No Pull Requests (PRs) or Issues will be accepted or reviewed on GitHub.** + +To contribute, you must use our active development repository hosted on **MIH Git**: +🔗 [Active MIH Git Repo](https://git.mzansi-innovation-hub.co.za/yaso_meth/mih-project) + +Please conduct all development, issue tracking, and collaboration on the MIH Git platform. + +--- + +## 2. Branching Strategy & Pull/Merge Request Rules + +To ensure production stability, we enforce strict branching rules. Please ensure your contributions align with the following structure: + +* **Do NOT target the `main` branch:** Pull or Merge Requests made directly against the `main` branch will be automatically rejected or closed. +* **Target the Latest Version Branch:** All bug fixes, features, and documentation updates must be made against the active version branch (e.g., branch naming convention follows `v.1.4.0` or later). + +--- + +## 3. Recommended Workflow (Fork & Pull) + +We use a **Fork-and-Pull** model to manage contributions safely and keep the main repository organized. Please follow these steps to submit your changes: + +1. **Fork the Repository:** Log into **MIH Git** and click the **Fork** button on the main [mih-project](https://git.mzansi-innovation-hub.co.za/yaso_meth/mih-project) repository to create a copy under your personal account. +2. **Clone Your Fork:** Clone your personal fork locally to your machine: + ```bash + git clone --depth 1 https://git.mzansi-innovation-hub.co.za/YOUR_USERNAME/mih-project.git + cd mih-project + ``` +3. **Checkout the Active Version Branch:** Fetch the latest branches and switch to the current active version branch (e.g., `v.1.4.0`): + ```bash + git fetch origin + git checkout v.1.4.0 + ``` +4. **Create a Feature or Fix Branch:** Create a dedicated branch for your changes stemming directly from that version branch: + ```bash + git checkout -b feature/your-feature-name + ``` + or + ```bash + git checkout -b fix/your-fix-name + ``` +5. **Commit and Push:** Make your changes, commit them with clear descriptive messages, and push the feature branch to your fork: + ```bash + git push origin feature/your-feature-name + ``` + or + ```bash + git push origin fix/your-fix-name + ``` +6. **Open a Pull/Merge Request:** Go to the main repository on MIH Git. You will see a prompt to open a new Pull/Merge Request. Ensure that: + * The **Source (Head)** is your fork's feature branch (`YOUR_USERNAME/mih-project:feature/your-feature-name`). + * The **Target (Base)** is the main repository's active version branch (`yaso_meth/mih-project:v.1.4.0`). + +--- + +Thank you for your time and effort in helping build and improve the MIH Project! diff --git a/docker-compose.yml b/docker-compose.yml index 5eb7614a..dce4f68a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -249,6 +249,7 @@ services: volumes: - ./mih_ui/flatpak/nginx.conf:/etc/nginx/nginx.conf:ro - ./mih_ui/repo:/usr/share/nginx/html:ro + - ./mih_ui/flatpak/assets:/www/mih_fphub_assets:ro ports: - "127.0.0.1:8086:80" networks: diff --git a/mih_ui/flatpak/assets/favicon.png b/mih_ui/flatpak/assets/favicon.png new file mode 100644 index 00000000..4153a949 Binary files /dev/null and b/mih_ui/flatpak/assets/favicon.png differ diff --git a/mih_ui/flatpak/assets/mih-fphub.flatpakrepo b/mih_ui/flatpak/assets/mih-fphub.flatpakrepo new file mode 100644 index 00000000..9ceb663a --- /dev/null +++ b/mih_ui/flatpak/assets/mih-fphub.flatpakrepo @@ -0,0 +1,9 @@ +[Flatpak Repo] +Title=MIH FPHub +Url=https://fphub.mzansi-innovation-hub.co.za/ +Homepage=https://mzansi-innovation-hub.co.za/ +Comment=Central repository for MIH Flatpak Applications +Description=The official repository for distributing MIH applications suites natively on Linux. +Icon=https://fphubmzansi-innovation-hub.co.za/favicon.png +GPGKey=mQINBGoydw8BEADF6ay9M4CIJNquWruUz15AO3wmCKCqT/7pX9MSdq+pmgaC8YF1WTc4IalIiundZAira9Jy0BtZUETYVDLmQKOULtmFRpquZOF22dgxG1v2PCH5/lsoL1+3b8eyG36uflVZMDK+D1nMZivpveusFJepVJ9Xuc78KDXNW+Ieq1ts8890jO6+tCg6c8Dj/QAdvRODS6fAUKbChqLYB9GTYALrKC2ZA7CejRyGIVQkh/2ECAn4KN6wDsWcURatpL0Bp47m4DHvSIZ+gmAIzIT43qn0jqDxKdhz0qJcQOhxZt2kZMgkDHShFB9rC/w2xpuAj3H869FBsfFt4xYJA8k/9XwKLqkXlFP2cb8uGUTvLgOVCykGu1jqcNaCc7kLQMOTvsDGOf2taGK9k57j1jrfxC0KU8Cizqxp0DjbYlGBoPjLwxpAK+KTdJlVCX+i27J1uq/0awqF39n3jDE/dctXNcAc3UveiJmgh277fHsHEV0jVThtLAjseyHeOI4XxVkHsP/bb1X191KkuwZqSYKG8LmxbY/MRTv73utmJSIi96BGuVXabLA/h8l3jQUcuPGmlcKF7SYaFl+cVAR7r/kvcaZQz2y/3MHXroR4GEdr9lmCInhviJyVa/SifsYpVg6S0KfiD+mCE+tB3FF1ENfeWwBnF5g8yCE/jc0vzGnN1LN6dQARAQABtDpNSUggRmxhdHBhayBSZXBvIDx5YXNpZW4ubWV0aEBtemFuc2ktaW5ub3ZhdGlvbi1odWIuY28uemE+iQJXBBMBCgBBFiEELRlD5wlUorUf/+dU9K6RnrFO2DYFAmoydw8CGwMFCQHhM4AFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQ9K6RnrFO2DZEEA/9FePMuSxuD12RQACjEAPcwDhexqVVIlpi5WUenwy+ttv2FlAUG2sClYbwJy620ZmZU7GJQi/qiLlgTgAnLer17CvlsXy1IqO2r/SmBuakupLSNDSbG9AyndxH5xoU7sShoPfNhDqu0UjcnxZZAMMo4Wf3DC5cWqziBOi2DEArDbxi3PMG3UPyEkOLta9E/NafVQf3bF++2DVS15Y9UjN2WzRa+2e5Zs3NwacU5larwM2o4j1GPAplzXSUS6pEZJJZq94rtfqdgzl7EFUH0z1rttoLrlKjFEYaVIPnE0aFHsOXcKLxXWTq0gHkjtrPZKmB17ny4iMaF/tKZyYHaKYCrmYJhYfb7QAhEtZDY0bvO0eHrmJq3J0+QkOzRiNt+d/d9S+YUvmAliGcDowCaKu1VZJAUW3iDf5MfoB4zFjWKbR87k4ILJU40CzYtAHMWFzsmWumdsIkPGL8Gp13RolLLreh2gKEMz2y6GaDz24Tva7gxTAqvfB/Y02U70nn+IIIK+cAB9qOOxP3uk+tY1iklUS7yWQyKH/ni/2Kr7IiAolpU9OIhz5Rxkk5pz+hVro1xshvncL1rVwZN1jkjJt/ld+dweU/DhHRak036U0tF9qceCS/5nW7PzS+EczXNFAjaxkPE8rkagmS4MkiX3P9OVCiUyHn9X7HHPEJOWezcRM= + diff --git a/mih_ui/flatpak/nginx.conf b/mih_ui/flatpak/nginx.conf index a4c764ab..6af8344b 100644 --- a/mih_ui/flatpak/nginx.conf +++ b/mih_ui/flatpak/nginx.conf @@ -22,5 +22,14 @@ http { autoindex on; expires 1d; } + + location = /mih-fphub.flatpakrepo { + alias /www/mih_fphub_assets/mih-fphub.flatpakrepo; + default_type text/plain; + } + + location = /favicon.png { + alias /www/mih_fphub_assets/favicon.png; + } } } diff --git a/mih_ui/lib/firebase_options.dart b/mih_ui/lib/firebase_options.dart index b606fb0e..45d9eb80 100644 --- a/mih_ui/lib/firebase_options.dart +++ b/mih_ui/lib/firebase_options.dart @@ -11,7 +11,7 @@ import 'package:flutter/foundation.dart' /// import 'firebase_options.dart'; /// // ... /// await Firebase.initializeApp( -/// options: DefaultFirebaseOptions.currentPlatform, +/// options: DefaultFirebaseOptions.currentPlatform, /// ); /// ``` class DefaultFirebaseOptions { @@ -30,10 +30,6 @@ class DefaultFirebaseOptions { return windows; case TargetPlatform.linux: return web; - // throw UnsupportedError( - // 'DefaultFirebaseOptions have not been configured for linux - ' - // 'you can reconfigure this by running the FlutterFire CLI again.', - // ); default: throw UnsupportedError( 'DefaultFirebaseOptions are not supported for this platform.', @@ -42,48 +38,48 @@ class DefaultFirebaseOptions { } static const FirebaseOptions web = FirebaseOptions( - apiKey: 'AIzaSyDN-f4sJ4n_fyvrLR193_IIkTsccRVUQxw', - appId: '1:33677883408:web:47b8021df7fcacd2223295', - messagingSenderId: '33677883408', - projectId: 'mzansi-innovation-hub', - authDomain: 'mzansi-innovation-hub.firebaseapp.com', - storageBucket: 'mzansi-innovation-hub.firebasestorage.app', - measurementId: 'G-Y3B5E3HCJY', + apiKey: 'YOUR_WEB_API_KEY', + appId: 'YOUR_WEB_APP_ID', + messagingSenderId: 'YOUR_MESSAGING_SENDER_ID', + projectId: 'YOUR_PROJECT_ID', + authDomain: 'YOUR_AUTH_DOMAIN', + storageBucket: 'YOUR_STORAGE_BUCKET', + measurementId: 'YOUR_MEASUREMENT_ID', ); static const FirebaseOptions android = FirebaseOptions( - apiKey: 'AIzaSyBUkjWdu9YcgiF-e9TC5hoiEoCjPyjA5hU', - appId: '1:33677883408:android:ebd8565991c56257223295', - messagingSenderId: '33677883408', - projectId: 'mzansi-innovation-hub', - storageBucket: 'mzansi-innovation-hub.firebasestorage.app', + apiKey: 'YOUR_ANDROID_API_KEY', + appId: 'YOUR_ANDROID_APP_ID', + messagingSenderId: 'YOUR_MESSAGING_SENDER_ID', + projectId: 'YOUR_PROJECT_ID', + storageBucket: 'YOUR_STORAGE_BUCKET', ); static const FirebaseOptions ios = FirebaseOptions( - apiKey: 'AIzaSyDRqY5I5CXjEtWkUX1YUfKT8IUlln9PUuY', - appId: '1:33677883408:ios:2048dac086428716223295', - messagingSenderId: '33677883408', - projectId: 'mzansi-innovation-hub', - storageBucket: 'mzansi-innovation-hub.firebasestorage.app', - iosBundleId: 'za.co.mzansiinnovationhub.mih', + apiKey: 'YOUR_IOS_API_KEY', + appId: 'YOUR_IOS_APP_ID', + messagingSenderId: 'YOUR_MESSAGING_SENDER_ID', + projectId: 'YOUR_PROJECT_ID', + storageBucket: 'YOUR_STORAGE_BUCKET', + iosBundleId: 'YOUR_IOS_BUNDLE_ID', ); static const FirebaseOptions macos = FirebaseOptions( - apiKey: 'AIzaSyDRqY5I5CXjEtWkUX1YUfKT8IUlln9PUuY', - appId: '1:33677883408:ios:e2db11a42fc3452e223295', - messagingSenderId: '33677883408', - projectId: 'mzansi-innovation-hub', - storageBucket: 'mzansi-innovation-hub.firebasestorage.app', - iosBundleId: 'com.example.patientManager', + apiKey: 'YOUR_MACOS_API_KEY', + appId: 'YOUR_MACOS_APP_ID', + messagingSenderId: 'YOUR_MESSAGING_SENDER_ID', + projectId: 'YOUR_PROJECT_ID', + storageBucket: 'YOUR_STORAGE_BUCKET', + iosBundleId: 'YOUR_MACOS_BUNDLE_ID', ); static const FirebaseOptions windows = FirebaseOptions( - apiKey: 'AIzaSyDN-f4sJ4n_fyvrLR193_IIkTsccRVUQxw', - appId: '1:33677883408:web:e08becaef3261c59223295', - messagingSenderId: '33677883408', - projectId: 'mzansi-innovation-hub', - authDomain: 'mzansi-innovation-hub.firebaseapp.com', - storageBucket: 'mzansi-innovation-hub.firebasestorage.app', - measurementId: 'G-FKKENBX8TT', + apiKey: 'YOUR_WINDOWS_API_KEY', + appId: 'YOUR_WINDOWS_APP_ID', + messagingSenderId: 'YOUR_MESSAGING_SENDER_ID', + projectId: 'YOUR_PROJECT_ID', + authDomain: 'YOUR_AUTH_DOMAIN', + storageBucket: 'YOUR_STORAGE_BUCKET', + measurementId: 'YOUR_MEASUREMENT_ID', ); }