mirror of
https://github.com/Sudo-JHare/FhirPad.git
synced 2025-06-16 13:10:00 +00:00
Update README.md
This commit is contained in:
parent
bb7016cb8e
commit
ac7710d2fb
164
README.md
164
README.md
@ -1,2 +1,162 @@
|
|||||||
# FhirPad
|
|
||||||
A Fhir App based landing page
|

|
||||||
|
|
||||||
|
FHIRPAD - FHIR App Platform
|
||||||
|
FHIRPAD is a web application built to facilitate the discovery and sharing of FHIR-based applications, enhancing healthcare interoperability. Users can register, browse, and manage FHIR apps, with features tailored for both general users and administrators.
|
||||||
|
Table of Contents
|
||||||
|
|
||||||
|
Features
|
||||||
|
Prerequisites
|
||||||
|
Installation
|
||||||
|
Usage
|
||||||
|
Admin Features
|
||||||
|
Contributing
|
||||||
|
License
|
||||||
|
|
||||||
|
Features
|
||||||
|
|
||||||
|
App Registration and Management: Users can submit, edit, and delete their FHIR apps with details like name, description, logo, launch URL, and more.
|
||||||
|
App Gallery: Browse and filter apps by categories, OS support, FHIR compatibility, pricing, and designed-for audiences.
|
||||||
|
Multiple Image Uploads: Upload multiple images for apps to showcase features.
|
||||||
|
OAuth Authentication: Log in via Google or GitHub, or use local credentials.
|
||||||
|
Admin Controls:
|
||||||
|
Manage categories for app filtering.
|
||||||
|
Edit or delete any app.
|
||||||
|
Edit user details (username, email, admin status, password reset).
|
||||||
|
|
||||||
|
|
||||||
|
Responsive Design: Works seamlessly on desktop and mobile devices.
|
||||||
|
Dark Mode: Toggle between light and dark themes.
|
||||||
|
External Links in New Tabs: Website and Try App buttons open in new windows for better usability.
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
|
||||||
|
Docker and Docker Compose: For containerized deployment.
|
||||||
|
Python 3.11: If running locally without Docker.
|
||||||
|
SQLite: Used as the default database (can be swapped for another SQL database).
|
||||||
|
OAuth Credentials (optional): Google and GitHub client IDs and secrets for OAuth login.
|
||||||
|
|
||||||
|
Installation
|
||||||
|
Using Docker (Recommended)
|
||||||
|
|
||||||
|
Clone the Repository:
|
||||||
|
git clone <repository-url>
|
||||||
|
cd fhirpad
|
||||||
|
|
||||||
|
|
||||||
|
Set Up Environment Variables:
|
||||||
|
|
||||||
|
Copy the .env.example to .env and fill in your OAuth credentials (if using OAuth):cp .env.example .env
|
||||||
|
|
||||||
|
Edit .env:FHIRPAD_SECRET_KEY=your-secure-secret-key
|
||||||
|
GOOGLE_CLIENT_ID=your-google-client-id
|
||||||
|
GOOGLE_CLIENT_SECRET=your-google-client-secret
|
||||||
|
GITHUB_CLIENT_ID=your-github-client-id
|
||||||
|
GITHUB_CLIENT_SECRET=your-github-client-secret
|
||||||
|
FLASK_RUN_PORT=5009
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Build and Run with Docker Compose:
|
||||||
|
docker-compose up --build
|
||||||
|
|
||||||
|
|
||||||
|
The app will be available at http://localhost:5009.
|
||||||
|
|
||||||
|
|
||||||
|
Initialize the Database:
|
||||||
|
|
||||||
|
Seed the database with initial data, including a default admin user (username: admin, password: admin123):docker-compose exec fhirpad python seed.py
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Local Installation (Without Docker)
|
||||||
|
|
||||||
|
Clone the Repository:
|
||||||
|
git clone <repository-url>
|
||||||
|
cd fhirpad
|
||||||
|
|
||||||
|
|
||||||
|
Set Up a Virtual Environment:
|
||||||
|
python3 -m venv venv
|
||||||
|
source venv/bin/activate # On Windows: venv\Scripts\activate
|
||||||
|
|
||||||
|
|
||||||
|
Install Dependencies:
|
||||||
|
pip install -r requirements.txt
|
||||||
|
|
||||||
|
|
||||||
|
Set Up Environment Variables:
|
||||||
|
|
||||||
|
Copy .env.example to .env and configure as above.
|
||||||
|
|
||||||
|
|
||||||
|
Initialize the Database:
|
||||||
|
export FLASK_APP=app # On Windows: set FLASK_APP=app
|
||||||
|
flask db init
|
||||||
|
flask db migrate -m "Initial schema"
|
||||||
|
flask db upgrade
|
||||||
|
python seed.py
|
||||||
|
|
||||||
|
|
||||||
|
Run the Application:
|
||||||
|
flask run --host=0.0.0.0 --port=5009
|
||||||
|
|
||||||
|
|
||||||
|
Access the app at http://localhost:5009.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Usage
|
||||||
|
|
||||||
|
Access the App:
|
||||||
|
|
||||||
|
Open http://localhost:5009 in your browser.
|
||||||
|
|
||||||
|
|
||||||
|
Log In:
|
||||||
|
|
||||||
|
Use the default admin account: username admin, password admin123 (you’ll be prompted to change the password on first login).
|
||||||
|
Alternatively, register a new account or log in via Google/GitHub (if OAuth is configured).
|
||||||
|
|
||||||
|
|
||||||
|
Register an App:
|
||||||
|
|
||||||
|
Navigate to Register App from the navbar.
|
||||||
|
Fill in app details (name, description, launch URL, etc.) and upload a logo or app images.
|
||||||
|
|
||||||
|
|
||||||
|
Browse Apps:
|
||||||
|
|
||||||
|
Visit the Gallery page to filter and explore apps.
|
||||||
|
Click Website or Try App to visit external links (opens in a new tab).
|
||||||
|
|
||||||
|
|
||||||
|
Admin Actions (for admin users):
|
||||||
|
|
||||||
|
Access Manage Categories, Manage Apps, and Manage Users from the navbar.
|
||||||
|
Edit or delete categories, apps, or user accounts as needed.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Admin Features
|
||||||
|
|
||||||
|
Default Admin Account: Created during seeding (username: admin, password: admin123).
|
||||||
|
Manage Categories: Add or delete categories for app filtering.
|
||||||
|
Manage Apps: View, edit, or delete any app in the system.
|
||||||
|
Manage Users: Edit user details, toggle admin status, force password changes, or reset passwords.
|
||||||
|
|
||||||
|
Contributing
|
||||||
|
|
||||||
|
Fork the repository.
|
||||||
|
Create a new branch (git checkout -b feature/your-feature).
|
||||||
|
Make your changes and commit (git commit -am 'Add your feature').
|
||||||
|
Push to the branch (git push origin feature/your-feature).
|
||||||
|
Create a pull request.
|
||||||
|
|
||||||
|
Please ensure your code follows the project’s style guidelines and includes appropriate tests.
|
||||||
|
License
|
||||||
|
This project is licensed under the MIT License. See the LICENSE file for details.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user