Skip to content

Latest commit

 

History

History
74 lines (43 loc) · 2.55 KB

installation.md

File metadata and controls

74 lines (43 loc) · 2.55 KB

Getting Started

Table of Content


Prerequisite

  • Node.js (version 18 or higher)
  • npm
  • Database provider you want to use. We currently support MongoDB, PostgreSQL, and MySQL. See supported databases version here.

Installation Steps

  1. Clone the repository

    Use git clone command, to clone this repository using HTTPS or SSH.

  2. Install the dependencies

    Use npm install command, to install all the dependencies.

  3. Configure the environment variables

    • Create .env file by simply copying the .env.example file and rename it.

    • Set the APP_HOST and APP_PORT.

    • You can enable rate limiting by setting the APP_ENABLE_THROTTLE to be true. You also can customize the APP_THROTTLE_TTL and APP_THROTTLE_LIMIT as desired.

    • You can also customize the pagination feature by setting the APP_PAGINATION_MAX_PAGE_SIZE and APP_PAGINATION_DEFAULT_PAGE_SIZE.

      [!NOTE] Set the APP_PAGINATION_MAX_PAGE_SIZE value wisely, as it will determine the amount of resource usage (the size of queries to the database).

    • Set the DB_PROVIDER with the data source provider you want to use. Current supported providers: 'mongodb', 'postgresql', and 'mysql'. See the details here.

    • Set the DB_URL with the database connection string. See the connection string documentation.

      You must grant read-write access to the database.

  4. Generate the database

    Run npm run db:migrate command to generate the database.

    You can use npx prisma migrate deploy command to run migration in non-development environments and if you are using any database providers other than MongoDB. See the details here.

  5. Seed the data

    Run npm run db:seed command to seed the data.

  6. Run the app

    Use npm run start command, to run the app.

Run the Test

To run the test, you can use the following command:

# Run unit tests
npm run test

# Run e2e test
npm run test:e2e

# Run coverage test
npm run test:cov