This project features
- 3 entities: Orders, OrderItems and Customers
- 2 services: AdminService and CustomerService
- Security concepts:
- 2 roles with different capabilities
- 3 users
- admin: has access to the admin service, where it can READ all orders, all order items, and full CRUD on customers
- customer1 and customer2: have access to the customer service, but are limited to their own orders
- Integration tests using Jest and Supertest
- Swagger UI for both services
Clone this repository and npm install
. After that:
npm run dev
to enter CDS watch modenpm run debug
to run the app in debug mode for VSCode debuggingnpm run start
to run in production modenpm run test
for a one-off integration test with coveragenpm run test:watch
to run all integration tests in watch modenpm build:openapi
to create new open api specs. Swagger UI can be accessed through path/api-docs