mikro-orm / nestjs-realworld-example-app

Example real world backend API built with NestJS + MikroORM
https://realworld.io/
MIT License
270 stars 70 forks source link
mikro-orm nestjs realworld realworld-backend

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

Now you can start the application with yarn start. It will automatically create the database and run initial migration that sets up the database schema.


NPM scripts


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


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.