A comprehensive full-stack Java-based hospital operations platform designed to streamline workflows across an entire healthcare facility. The application provides secure request management, real-time updates, user administration, interactive navigation, and cross-platform support.
- View, create, assign, edit, and complete hospital service requests.
- Support for patent transport, equipment sanitation, security, medicine transport, food delivery, etc.
- Real-time request status updates and notification system via Google Firebase.
- Request history and auditing management.
- Secure user authentication using SHA-256.
- Role-based permission hierarchy and access control.
- Two-factor authentication (2FA).
- Secure session handling.

- Admin-managed account permission levels.
- User profile personalization (e.g. theme, profile photo, name, etc.)
- Authentication Method & 2FA (SMS, Password, RFID scan, Email)
- Live modifiable hospital map.
- Dashboard for map summary per hospital floor.
- Interactive navigation and A* pathfinding between hospital locations.
- Filters and Fuzzy Search.
- Java
- JavaFX + SceneBuilder
- SQL
- Gradle
- Google Firebase
- Extras
- FuzzyWuzzy
- Twillo
- Arduino
- Apache Derby
- SI4J
- OpenCSV
- Launch the application.
- Enter your username and password.
- Complete two-factor authentication if prompted.
- After successful authentication, the dashboard will load.
- Open one of the request pages.
- On the left, enter information required for a new request.
- Select the assignee, location, and time due if applicable.
- Submit the request.
- View active requests on request pages or in an All Requests page
- Find sorted requests by priority (Low, Med, High, OVERDUE)
- Monitor request status in real time
- (Admin) View requests history or completed
- Open an assigned request on a request page or assigned requests page.
- Perform the requested task.
- Update the request status to IN PROGRESS | COMPLETED | DISMISSED.
- Create user accounts via accounts page
- Reset passwords
- Assign roles
- Manage permissions
- Enforce two-factor authentication
- Search for rooms
- Locate departments
- Find locations with active requests
- Generate live active route to follow for handling the request
- Navigate between floors
- Filter types of icons on display
- (Admin only) Manage location positions
- New assignments
- Request updates
- When a request completes
- Administrative announcements / custom toast
- Role-based hierarchical authorization and permissions
- NOTE: Employee permissions should be explicitly segregated to follow HIPAA regulations
- Secure authentication with SHA256
- Two-factor authentication or Multi-factor authentication
- Real-time session validation
- Administrative permission controls
- Java JDK 11+
- Gradle
- Shadowjar
In Gradle, run shadowjar utility.
The generated application will be located in:
build/shadowjar/
Run the generated JAR (or open the file):
java -jar build/libs/<application>-shadowjar.jarThe application uses Firebase for real-time synchronization and retrieving initial data. To use, perform the following steps:
- Receive a
service-account.jsonfrom an administrator or from Firebase project key generation - Place
service-account.json(ensure renamed to exact match) insrc/main/resources/ - Build project with Gradle
Never make these credentials public.
gradle testJaCoCo is configured to measure automated test coverage.
Coverage reports can be generated using:
gradle jacocoTestReportSpotless is configured to enforce consistent Java formatting. To automatically format code:
gradle spotlessApplyTo verify formatting:
gradle spotlessCheck



