A web-based hospital management system designed to streamline patient management, staff scheduling, appointment handling, and medical records. The system efficiently integrates structured (SQL) and unstructured (NoSQL) data to ensure secure, scalable, and high-performance healthcare management.
- Client: React.js, Tailwind CSS, Daisy UI
- Server: Node.js, Express.js
- Database: MySQL (Relational), MongoDB (Document-based)
- Register and manage patient profiles.
- Store and retrieve structured data (personal details, medical history).
- Manage unstructured data (doctor’s notes, diagnostic images, lab results).
- Manage staff profiles, roles, and schedules.
- Store job change history (title, salary, department).
- Maintain staff certificates and training records in MongoDB.
- View doctor schedules (busy/available status).
- Book, update, and cancel appointments.
- Prevent scheduling conflicts using transaction management.
- Generate patient treatment history reports.
- Track staff workload and performance over time.
- View billing and financial reports.
- Role-based Access Control (RBAC) for data privacy.
- Secure staff permissions (nurses can’t see sensitive patient details, only admins can view reports).
- Enforced data integrity through stored procedures and transactions.
- Indexing & Partitioning for efficient query execution.
- Optimized query performance for fast data retrieval.
- Secure storage of sensitive information (encryption & hashed credentials).
Follow these steps to set up the project locally on your machine.
Clone the repository
git clone https://github.com/tom474/hospital_management_website.gitNavigate to the project directory
cd hospital_management_websiteCreate .env file in server and set up environment variables
DB_HOST="localhost"
DB_DATABASE="hospital_database"
DB_USER_ADMIN="admin"
DB_PASS_ADMIN="admin123"
DB_USER_RECEPTIONIST="receptionist"
DB_PASS_RECEPTIONIST="receptionist123"
DB_USER_DOCTOR="doctor"
DB_PASS_DOCTOR="doctor123"
DB_USER_NURSE="nurse"
DB_PASS_NURSE="nurse123"
MONGO_URI="your_mongo_uri"
MONGO_DATABASE_NAME="hospital_database"
From the project's root directory, navigate to database/mysql
cd database/mysqlInstall dependencies
npm installInitialize the MySQL Database
npm run setup-with-mock-dataFrom the project's root directory, navigate to database/mongodb
cd database/mongodbInstall dependencies
npm installFrom the project's root directory, navigate to server
cd serverInstall dependencies
npm installStart the server
npm startFrom the project's root directory, navigate to client
cd clientInstall dependencies
npm installStart the client
npm run dev