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.
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 |
- File Upload (disk, s3, memory)
- Authentication (JWT, OAuth)
- Logger
- Request Context
- Error Reporting
- Database Migrations
- Database Seeding
- Testing (e2e, unit)
$ npm install
Create new file .env
in project root folder using example.env
as a template.
Development environment:
$ npm run start
Production environment:
$ npm run build
$ node dist/src/api.ts
$ npm run migrate sync
Creating new migration named createSomeModel
:
$ npm run migrate create createSomeModel
Other commands are self-explanatory:
$ npm run migrate [up|down|executed|pending|create]
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.