HSLMS (Hospital Staff Leave Management System) is a full-stack leave-management platform for COMP60022-KN2 - Decision Analytics II. The project investigates operational challenges in Sri Lankan state hospitals through a Divisional Hospital case study, then delivers a data-engineered solution with MongoDB-backed analytics, React-based user interfaces, and an Express/Node.js API for complete staff leave workflows.
HSLMS provides the following features:
-
Problem Investigation and Process Mapping
- Analysed leave-management bottlenecks in Sri Lankan state hospitals using a Divisional Hospital case study
- Documented misplaced forms, manual calculations, and legacy procedures requiring digitalisation
-
Data-Engineered Architecture
- Proposed data pipelines for collection, validation, storage, retrieval, and analytics
- Compared SQL and NoSQL options and selected MongoDB for semi-structured hospital data
-
MongoDB Schema and Data Validation
- Designed collections for doctors, major staff, and minor staff
- Validated collections with real cadre datasets and imported data via mongoimport, Shell, and Compass
-
Query Library and Analytics
- Built a query library with operators, regex queries, and aggregation pipelines
- Integrated MongoDB Atlas Charts for live dashboards and KPI reporting
-
Front-end Experience and UI Design
- Produced complete wireframes for all HSLMS interfaces
- Built the React front-end with structured components, forms, and data rendering
-
API Development and Testing
- Implemented Express/Node.js CRUD APIs across all staff types
- Verified API endpoints in Postman before UI integration
-
Administrative Export Support
- Added CSV export functionality for offline administrative use
-
Evaluation and Reporting
- Formulated analytical questions and hypotheses to study leave patterns
- Presented workflow improvements and outcomes in a LaTeX-compiled academic report
- MongoDB Atlas: Cloud database service (version managed by Atlas)
- MongoDB Atlas Charts: Live dashboarding (version managed by Atlas)
- Mongoose 8.6.3: ODM for MongoDB
- Express.js 4.21.0: REST API framework
- Node.js >=16.20.1: Backend runtime (minimum requirement from Mongoose 8.6.3)
- React 18.3.1: Front-end framework
- React DOM 18.3.1: React rendering layer
- Bootstrap 5.3.3: Core UI styling
- React Bootstrap 2.10.4: React UI components
- Axios 1.7.5: HTTP client
- CORS 2.8.5: Cross-origin resource support
- Multer 1.4.5-lts.1: File upload handling
- Validator 13.12.0: Input validation
- fast-csv 5.0.1: CSV import/export
- Moment.js 2.30.1: Date and time utilities
- Course: COMP60022-KN2 - Decision Analytics II
- Application Type: Full-stack leave-management system with analytics dashboards
- API Port: 6010 (Express server)
- Data Handling: MongoDB Atlas with validated collections and query library
- Analytics: MongoDB Atlas Charts and hypothesis-driven evaluation
To run HSLMS locally, follow these steps:
-
Clone the repository:
git clone https://github.com/supunxiii/hslms.git
-
Navigate to the project directory:
cd hslms -
Install backend dependencies:
cd server npm install -
Create a
.envfile inserverand set the MongoDB connection string:DATABASE=your_mongodb_atlas_connection_string
-
Start the API server:
node app.js
-
In a new terminal, install client dependencies and start the React app:
cd client npm install npm start
hslms/
├── client/ # React front-end
├── data/ # Data sets and imports
├── server/ # Express API and MongoDB models
├── package.json # Root dependencies
├── package-lock.json # Root lockfile
├── README.md # Project documentation
└── LICENSE # Licence
This project was developed by:
- Supun Wijesooriya - Developer
Contributions are welcome. If you would like to contribute:
-
Fork the repository.
-
Create a new branch:
git checkout -b feature/your-feature-name
-
Commit your changes:
git commit -m "Add your commit message" -
Push your branch:
git push origin feature/your-feature-name
-
Open a pull request with a clear description of your changes.
This project is open-source and is licensed under the MIT License.
For any enquiries or feedback, please contact the developer:
- Supun Wijesooriya: GitHub Profile
- Project Repository: hslms
Designed and developed in September 2024


