Manage user allocations among astrologers with fairness and efficiency using this Node.js application. This project demonstrates backend system design principles, focusing on distributing users among astrologers based on availability and preferences.
- Fair Distribution: Algorithms to evenly distribute users among astrologers.
- Customizable Allocation: Ability to allocate more users to top astrologers based on preferences.
- RESTful API: API endpoints for adding users and astrologers, toggling top astrologer status, and distributing users.
- Node.js
- Express.js
-
Clone the repository:
git clone https://github.com/your-username/astrologer-flow-distribution.git
-
Navigate to the project directory:
cd astrologer-flow-distribution
-
Install dependencies:
npm install
-
To start the server:
npm start
-
Add a new user:
{ "id": 1, "name": "User Name" }
-
Add a new astrologer:
{ "id": 1, "name": "Astrologer Name", "topAstrologer": true/false }
Toggle top astrologer status.
Distribute users among astrologers.
Retrieve assignments showing which users are assigned to which astrologers.
Contributions are welcome! Fork the repository and submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.