/udemy-custom-api

Udemy Custom API

Primary LanguageTypeScriptMIT LicenseMIT

Udemy Custom API

NPM Version Package License Github Last Commit Github Action Swagger Validator Package License

Description

A TypeScript and Nest.js based API for Udemy Custom API.

As a Udemy student, I created a custom API to get information about the course and discount information on the course I want to take. I plan to add more features to this API in the future.

I deployed the API using Render and Docker. If you want to learn more about how to deploy with Render and Docker, you can check out the documentation.

Features

Developer experience

  • Easy Setup: Containerized using Docker, making setting up a consistent development environment accessible.
  • Modern Technologies: Uses Nest.js and TypeScript to provide an easy-to-use, easy-to-read, and efficient development experience.
  • Coding Standards: Uses ESLint and Prettier to ensure consistent code style.
  • Commit Conventions: Uses Commitlint and Husky to ensure consistent commit style.
  • Automated Tests: Uses Jest for unit test.
  • Documentation: Uses Swagger for API documentation.
    You can check the Documentation for more information about API.

Getting Started

This is an example of how to set up the project.

Requirements

Installation

Local

$ npm install

Docker

## Use docker compose command like below.
## `npm run docker -- ~` or `npm run docker:debug -- ~`
$ npm run docker:debug -- build

Running the app

# development mode with watch
$ npm run start:dev

# debug mode
## without docker
$ npm run start:debug

## with docker
$ npm run start:debug:docker

# production mode
$ npm run start:prod

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

License

This project is MIT licensed.