The Royal Library of Belgium would like to have a tool to easily manage their stock and allow customers to browse and reserve books online.
The UML class diagram provides an overview of the system's architecture and relationships between different components.
To set up the development environment for this project, follow the steps below:
-
Create .env file, follow .env.example:
-
Install the required dependencies:
npm install
- Setup the database (this will generate books and users data):
npx migrate up
- Start the development server, which automatically rebuilds assets on file changes:
npm run dev
This starts your app in development mode, rebuilding assets on file changes.
- Visit the following url in your browser to check swagger documentation to test the APIs
http://localhost:3000/api-docs/
To run the test suite for the project, execute the following command:
npm run test
A very simple project structure:
src
: The main container for all the application's code.model
: Contains data models that define the schema for the database.routes
: Stores all the routes (URL paths) that define the endpoints of the application.controllers
: Handle requests, process data, and return responses.services
: Contains business logic.
Contributions to this project are welcome. If you find any issues or have suggestions for improvement, please feel free to create a pull request or submit an issue on the project's repository.