Welcome to the Apollo project by Medsync! This Django project is designed to streamline and enhance medical data synchronization and management. Apollo aims to provide a robust platform for healthcare professionals to manage patient data efficiently, ensuring accuracy and accessibility.
- Patient Management: Easily manage patient information, including demographics, medical history, and contact details.
- Appointment Scheduling: Schedule and organize patient appointments with a user-friendly calendar interface.
- Medical Records: Store and access patient medical records securely, ensuring compliance with privacy regulations.
- User Authentication: Secure user authentication to protect sensitive medical data.
- Customizable Templates: Customize data entry forms and templates to match specific medical specialties or organizational requirements.
-
PostgresSQL (v10.0+) - For this project we will be using PostgresSQL as our primary database. - Link Here
-
PgAdmin (Optional) - It is suggested to install this or other alternative PostgresSQL Administration Tool - Link Here
-
Python (v3.11+) - The Django Web Framework is based on Python Programming Language - Link Here
-
PyEnv (v1.24+) - Simple Python version management - Link Here
-
Miniconda (Optional) - Better alternative to python's pyenv and virtualenv - Link Here
To get started with Apollo, follow these steps:
-
Clone the Repository:
https://github.com/MedsyncPH/apollo -
Navigate to the Project Directory:
cd apollo -
Install Dependencies:
pip install -r requirements.txt -
Database Setup:
python manage.py migrate -
Create Superuser:
python manage.py createsuperuser -
Run the Development Server:
python manage.py runserver
The development server will be accessible at http://127.0.0.1:8000/.
-
Access the Admin Panel: Visit Log in | Control Panel Management and log in with the superuser credentials created earlier.
- Load Initial Registry Data into the database
python -m scripts.sync_facility_data- Grant an email administrator privelege
python manage.py grant_admin_role <email-address>We use tailwind for Apollo UI interfaces
To start Django Tailwind in development mode, run the following command in a terminal
python manage.py tailwind startTo create a production build of your theme, run:
python manage.py tailwind buildThis project should follow the Gitflow Work Flow. Read this for an overview of this workflow. And read here for a more detailed explanation and guide.
There are 5 main branch types to follow Gitflow:
-
main- contains the codebase found on the live server. No development should happen here. -
develop- contains all development code. Finished features are merged into this branch. -
staging- contains all pre-production deployment code. Last stop before merging to the main branch. -
feature/*- these branches contain all features that are still under development. Feature branches usually starts from the latest commit indevelop.
Examples:
feature/api-auth
feature/view-payments release/*- these branches contain features that are ready to be released to live. Finishing areleasebranch entails merging all its commits todevelopthenmaster, and tagging themasterbranch with a version number.
Examples:
release/v1.0.0
release/v1.3.0
hotfix/*- all critical issues found on the live should be fixed onhotfixbranches. Finishing ahotfixbranch entails merging all its commits tomasterthendevelop, and tagging themasterbranch with a hotfix number.
Examples:
hotfix/v1.0.7
hotfix/v1.3.14We welcome contributions to Apollo by MedSync! If you'd like to contribute, please follow our contribution guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions, please open an issue on our GitHub repository.
Apollo by MedSync is built with love and dedication to improving healthcare data management. We extend our gratitude to the Django community and all contributors.
Thank you for choosing Apollo!