HSC Portal is a robust, full-stack healthcare management system designed to streamline interactions between patients, doctors, and administrators. Built with Spring Boot and React, it provides a secure and responsive platform for managing medical appointments and patient data.
- Role-Based Access Control: Distinct, tailored dashboards for Patients, Doctors, and Administrators.
- Comprehensive Appointment Management:
- Patients: Book, reschedule, and cancel appointments easily.
- Doctors: Review pending requests, confirm appointments, or provide cancellations.
- Admins: Full oversight of system data with the ability to manage records.
- Advanced Data Handling: Real-time search, filtering, and sorting of appointment data.
- Mobile-First Design: Fully responsive interface with card-based layouts for mobile devices.
- Enterprise-Grade Security: Implements session persistence, auto-logout, and secure authentication patterns.
- Backend: Java 17, Spring Boot 3, Spring Security, Spring Data JPA
- Frontend: React 19, Vite, Axios
- Database: PostgreSQL
- Testing: JUnit 5, Mockito, Spring Boot Test
- Java 17 or higher
- Node.js (v18+) & npm
- PostgreSQL (Database named
hsc_db)
-
Clone the Repository
git clone https://github.com/justjoe19/HSC_Portal.git
-
Backend Setup Navigate to the backend directory and start the server:
cd backend/hsc-portal-backend # Ensure src/main/resources/application.properties has your DB credentials ./mvnw spring-boot:run
-
Frontend Setup Navigate to the frontend directory, install dependencies, and start the dev server:
cd frontend/hsc-portal-frontend npm install npm run dev -
Access the Application Open your browser and navigate to: http://localhost:5173
Use the following credentials to explore the different user roles:
| Role | Password | |
|---|---|---|
| Admin | admin@hsc.com |
password |
| Doctor | asmith@hsc.com |
password |
| Patient | patient1@example.com |
password |
The project includes a comprehensive test suite using JUnit 5 and Mockito.
To run the backend tests:
cd backend/hsc-portal-backend
./mvnw testThis project is available for educational and demonstration purposes.