Skip to content
Example real world backend API built with NestJS + MikroORM
TypeScript Shell JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
e2e
src
.gitignore
README.md
index.js
jest.json
nestconfig.json
nodemon.json
package.json
project-logo.png
tsconfig.json
tslint.json
yarn.lock

README.md

NestJS

NestJS + MikroORM codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld API spec.

Rewrite of https://github.com/lujakob/nestjs-realworld-example-app to MikroORM.


Getting started

Installation

Install dependencies

yarn

Copy config file and set JsonWebToken secret key

cp src/config.ts.example src/config.ts

Database

The example codebase uses MikroORM with a MySQL database.

Copy MikroORM config example file for database settings and adjust the connection settings.

cp src/mikro-orm.config.ts.example src/mikro-orm.config.ts

Start local MySQL server and create a new database called nestjsrealworld (or the name you specified in the config file).

Create database schema:

npx mikro-orm schema:create --run

Now you can start the application witt yarn start


NPM scripts

  • yarn start - Start application
  • yarn start:watch - Start application in watch mode
  • yarn test - run Jest test runner
  • yarn start:prod - Build application

API Specification

This application adheres to the api specifications set by the Thinkster team. This helps mix and match any backend with any other frontend without conflicts.

Full API Spec

More information regarding the project can be found here https://github.com/gothinkster/realworld


Start application

  • yarn start
  • Test api by browsing to http://localhost:3000/api/articles
  • View automatically generated swagger api docs by browsing to http://localhost:3000/docs
  • Run e2e tests from the gothinkster/realworld repository with yarn test:e2e

Authentication

This applications uses JSON Web Token (JWT) to handle authentication. The token is passed with each request using the Authorization header with Token scheme. The JWT authentication middleware handles the validation and authentication of the token.

You can’t perform that action at this time.