From ac7710d2fbe612aeee2c21a3ed60b1df239dc91a Mon Sep 17 00:00:00 2001 From: Sudo-JHare Date: Sun, 11 May 2025 22:24:48 +1000 Subject: [PATCH] Update README.md --- README.md | 164 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 162 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3fc2401..61187e0 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,162 @@ -# FhirPad -A Fhir App based landing page + +![FHIRPAD Logo](static/fhirepad.png) + +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 +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 +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.