bl0ndin / lynx

Opinionated Framework built on top of NestJS and TypeORM

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lynx Framework

Not yet usable, as is still in active development with major changes happening.

Built with

Bold are required components (not easy to replace)

Component Using Descrption
Base NestJS
Database TypeORM
File Upload Multer
Logger Winston
Error Reporting Sentry
Validation Class-Validator
Documentation Swagger
Configuration Dotenv
Authentication Passport.js
Testing Mocha & Chai
Code Style Airbnb & TS-Lint

Progress

  • File Upload (disk, s3, memory)
  • Authentication (JWT, OAuth)
  • Logger
  • Request Context
  • Error Reporting
  • Database Migrations
  • Database Seeding
  • Testing (e2e, unit)

Usage

Install

$ npm install

Create new file .env in project root folder using example.env as a template.

Start

Development environment:

$ npm run start

Production environment:

$ npm run build
$ node dist/src/api.ts

Initial database creation

$ npm run migrate sync

Migrations

Creating new migration named createSomeModel:

$ npm run migrate create createSomeModel

Other commands are self-explanatory:

$ npm run migrate [up|down|executed|pending|create]

E2E Testing

First run the testing server:

$ npm run start:test

Then run Mocha testing framework:

$ mocha test/*.spec.ts

Before hooks in e2e/ directory will clean test database, initialize sequelize and seed fake data.

About

Opinionated Framework built on top of NestJS and TypeORM

License:MIT License


Languages

Language:TypeScript 100.0%