develop an API for bookshop based on the code available. You should implement some of the following functionality:
Allow the shop owner to search for books and add them to the shop stock, including quantities.
Customers should be able to search for books in the current stock with the current stock level being displayed.
It should allow customers to create accounts, log-in/log-out and create a book order, calculating the overall order price.
When an order is placed, the stock level should be adjusted.
You won't be starting from scratch but forking an existing API which has already implemented the base functionality. This means you will need to take time to read and understand the code which uses promises and async...await language features, take your time to understand how these work.
The existing API already implements the following functionality:
Book searches can be made without needing an account or logging in. There is currently no book price information (you will need to scrape this from Amazon).
Users can create accounts, the data is stored in a MongoDB database. This currently points to a shared mLab instance but you will need to redirect this to your own instance.
Users can add books to their cart however this doesn't track quantities.
The repository includes a routes file, a model file and a set of modules plus a full suite of unit tests with 100% code coverage. Before starting:
Clone the repository.
Set up your own remote on GitLab and push the commits.
Install the latest version of NodeJS
Run the unit tests and code coverage report.