RosterMate is a mobile-optimized web application developed as a group project by members Thejan, Sithum, and Ishan in October 2023. It is designed to assist hospitals in creating and managing schedules for healthcare professionals.
The application uses a combination of React for the frontend, Django for the backend, and MongoDB for the database. Firebase is used to host the frontend, while the backend is deployed on Heroku. MongoDB provides the database storage.
RosterMate - Constraint Based Roster Scheduler
- Define and manage scheduling constraints.
- Create and assign different shift types (e.g., day shifts, night shifts, weekends).
- Collect staff information, including roles, skills, availability, and preferences.
- Automatically generate optimized schedules based on constraints and employee preferences.
- User-friendly interface for administrators to input data, view schedules, and make adjustments.
- Detailed testing and validation to ensure accuracy and reliability.
- Deployment on Firebase for the frontend, Heroku for the backend, and MongoDB for data storage.
The application is deployed using the following services:
- Frontend: Firebase
- Backend: Heroku
- Database: MongoDB
To run this application locally, follow these steps:
- Clone the frontend repository:
git clone https://github.com/RosterMate/RosterMate-Frontend.git
- Set up the frontend:
- Navigate to the
frontenddirectory. - Install the required Node.js dependencies using
npmoryarn:npm install - Configure the frontend to communicate with your Django backend (e.g., update API endpoints).
- Start the development server:
cd client npm start
- Clone the backend repository:
git clone https://github.com/RosterMate/RosterMate-Backend.git
- Set up the backend:
- Navigate to the
backenddirectory. - Install the required dependencies using
piporpipenvif you prefer:pip install -r requirements.txt - Configure your Django settings, including database settings, security, and other environment-specific configurations.
- Run the Django development server:
python manage.py runserver
- Access the application in your web browser at
http://localhost:3000.
Contributions are welcome! If you'd like to contribute to RosterMate, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and test them.
- Submit a pull request.
If you have questions or need assistance, you can contact the project developers:
- Thejan Weerasekara:
- Email: thejanbweerasekara@gmail.com
- LinkedIn: linkedin.com/in/thejan-weerasekara
- GitHub: github.com/ThejanB
- Sithum Vihanga
- Email: sithumvgamage@gmail.com
- LinkedIn: linkedin.com/in/sithum-vihanga
- GitHub: github.com/SVGamage
- Ishan
- Email: [ishanwarshamana@gmail.com(mailto:ishanwarshamana@gmail.com)
- LinkedIn: linkedin.com/in/ishan-warshamana
- GitHub: github.com/IshanWarshamana
Feel free to reach out with any inquiries or feedback.
This project is licensed under the MIT License.
Thank you!

