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

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

awilix awilix-koa babel babel7 javascript jsonwebtoken koa koa-boilerplate koa2 nodejs postgresql typeorm

Last synced: 5 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# NodeJS Koa Boilerplate

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

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

## Installation

Use these steps to install project

1. Create Postgres databse (you can use official Docker container)
2. Add environment variables
3. yarn install
4. yarn 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.js - app configuration
- /src/index.js - contain main scripts that configures and run server
- /test - contains tests for controllers, services and other parts of application.

## NPM Scripts

- start - run dev server using nodemon
- build - build project with babel
- serve - run built files

## Main Technologies and libraries

- NodeJS
- KoaJS
- Babel
- 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.