Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mentos1386/lynx
Opinionated Framework built on top of NestJS and TypeORM
https://github.com/mentos1386/lynx
nestjs typeorm typescript
Last synced: 7 days ago
JSON representation
Opinionated Framework built on top of NestJS and TypeORM
- Host: GitHub
- URL: https://github.com/mentos1386/lynx
- Owner: mentos1386
- License: mit
- Archived: true
- Created: 2018-02-15T18:25:44.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-03-26T20:34:46.000Z (over 5 years ago)
- Last Synced: 2024-08-02T17:33:24.525Z (3 months ago)
- Topics: nestjs, typeorm, typescript
- Language: TypeScript
- Size: 150 KB
- Stars: 44
- Watchers: 8
- Forks: 5
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-nestjs - Lynx - 基于 NestJS 和 TypeORM 构建的 Opinionated Framework (资源)
README
# 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](https://nestjs.com) |
**Database**| [TypeORM](http://typeorm.io/) |
**File Upload**| [Multer](https://github.com/expressjs/multer) |
Logger | [Winston](https://github.com/winstonjs/winston) |
Error Reporting| [Sentry](https://sentry.io/welcome/) |
Validation | [Class-Validator](https://github.com/typestack/class-validator)|
Documentation| [Swagger](https://swagger.io) |
Configuration| [Dotenv](https://github.com/motdotla/dotenv) |
Authentication| [Passport.js](http://www.passportjs.org) |
Testing | [Mocha](https://mochajs.org) & [Chai](http://chaijs.com)|
Code Style | [Airbnb](https://github.com/airbnb/javascript) & [TS-Lint](https://palantir.github.io/tslint/)|## Progress
- [x] File Upload (disk, s3, memory)
- [ ] Authentication (JWT, OAuth)
- [x] 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.