- There will exist two types of users: customer and administrators
- As a customer, I should be able to register, login and reset password
- As a customer, I should be able to list all books available
- As a customer, I should be able to show the details of a specific book
- As a customer, I should be able to buy a book
- As a customer, I should be able to list my a purchases
- As a customer, I should be able to download a PDF of my books
- As a customer, I should be able to show and edit my profile information
- As an administrator, I should be able to list the registered users
- As an administrator, I should be able to list and register books
- As an administrator, I should be able to list all the orders
- A relational database must be used to store the application data
- The passwords should be encrypted in the database
- The backend should be REST API
- The data exchange format should be JSON