Skip to content

Example managment system for items (currently movies and books) rental using Nest.js and Nx workspace.

Notifications You must be signed in to change notification settings

Matii96/rental-system

Repository files navigation

Rental system

ci MIT Licensed

Description

Production-ready basic managment system for items (currently movies and books) rental using Nest.js and Nx workspace. Built as a case-study of complex problems related to distributed microservices systems and solutions for them. The project is still in progress nevertheless most of functionalities are completed.

Requirements

  • Npm v6.14 and higher
  • Docker v20.10 and higher
  • Docker compose v1.29 and higher
  • Tilt.dev - optional

Installation

$ npm install

Environmental variables

REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=superSecretPassword

DB_DIALECT=postgres
DB_HOST=db
DB_PORT=5432
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_SYNCHRONIZE=true
DB_SHOW_LOGS=false

JWT_SECRET=superSecret
JWT_EXPIRES_IN=1d

All variables defaults are in .env configuration file.

Running the app

# development
$ npm run start:dev

# development (tilt)
$ tilt up

Tests

# unit tests for all apps
$ npm run test:all

# unit tests for particular app
$ nx test <app_name>

Api documentation

Interactive swagger.io and graphql documentations is available under following addresses:

Todo

  • Add Movies microservice
  • Implement gql in all microservices
  • Add gql federation gateway

License

Rental system is MIT licensed.

About

Example managment system for items (currently movies and books) rental using Nest.js and Nx workspace.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published