mentos1386 / lynx

Opinionated Framework built on top of NestJS and TypeORM

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lynx Framework

ABANDONED PROJECT Sadly i don't have enough time to focus on this project. Might return to it sometime in the future.

For now, it can be taken as a referance, but not an actual framework.

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 99.1%Language:Dockerfile 0.9%