Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/morzhanov/nodejs-koa-boilerplate-ts

Node.js Koa Boilerplate (Typescript) is an project that allows you to start new node.js project from scratch.
https://github.com/morzhanov/nodejs-koa-boilerplate-ts

awilix awilix-koa boilerplate koa koa2 nodejs postgresql typeorm typescript

Last synced: 5 days ago
JSON representation

Node.js Koa Boilerplate (Typescript) is an project that allows you to start new node.js project from scratch.

Awesome Lists containing this project

README

        

# NodeJS Koa Boilerplate (TypeScript)

Node.js Koa Boilerplate is an project that allows you to start new node.js project from scratch.

This project uses TypeScript. You can review Flow and Javascript versions.

## Installation

Use these steps to install project

1. Create Postgres databse (you can use official Docker container)
2. Add environment variables
3. npm i
4. npm start

## Usage

This boilerplate contains such folders:

* /src - main sources folder.
* /src/constants - app constants.
* /src/controllers - contain controllers that receives requests from routes, executes business logic via services and returns responses to client.
* /src/db - contain scripts to setup and manage database
* /src/middleware - app middlewares
* /src/entities - database entities
* /src/services - services contains logic to manage database, execute requests to other servers, change application behabior, and etc.
* /src/app.ts - app configuration
* /src/index.ts - contain main scripts that configures and run server
* /test - contains tests for controllers, services and other parts of application.

## NPM Scripts

* start - run node.js server
* serve - run builded files
* build - build project

## Main Technologies and libraries

- NodeJS
- KoaJS
- Typescript
- jsonwebtoken
- typeorm
- awilix
- awilix-koa
- koa-bodyparser
- koa-cookie
- koa-router

## Contributing

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

## Author

Vlad Morzhanov

## License

#### (The MIT License)

Copyright (c) 2018 Vlad Morzhanov.
You can review license in the LICENSE file.