Professional Documents
Culture Documents
(Technical Consultant) Library Management System
(Technical Consultant) Library Management System
Requirements
1. Allow a user to borrow a book , this should return a due date
2. Allow a user to return a book, calculate fine if any i. Fines should be
calculated based on the number of days beyond the due date the customer
has returned the book. (ex Number of Day * Fine per day)
Instructions
1. Database usage is not a P0 requirement. You can choose to simplify data
injection to expedite development time. For e.g., in-memory data structures
can be used as a datastore. Do however ensure that this layer is optimised for
the use case.
2. There is no need to write data onboarding flows. Assume the data is already
present in the datastore. (Like Users , Groups and user group mappings)
Evaluations Criteria
1. It must be a WORKING Java Spring Boot app
2. You should be able to demo at least the primary features
○ Additional points if you are able to demo the secondary features.
3. Code-quality, your component breakdown, and the quality of your
workflow.
4. Code should be modular
5. The code should be extensible, if any additional functionality needs to be
added, it should be easily incorporated. It should not need a rework of the
code.
6. Code should easily accommodate new requirements and minimal changes
7. Add a README file that states your
○ high-level assumptions or any important assumptions
○ steps or commands on setting up the datastore (if any) with some
sample data
○ building and running the code
○ curl commands to test API
Submission details
Please share your final submission in a zip file format