Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/morzhanov/nodejs-express-boilerplate

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

bolierplate expressjs formidable javascript mocha mongodb mongoose nodejs supertest

Last synced: 5 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# NodeJS ExpressJS Boilerplate

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

## Installation

Use these steps to install project
1. npm i
2. Create MongoDB databse
3. Add MONGODB_URL and MONGODB_TEST_URL to environment variable (optional)
4. npm start

Alternatively you can run: "npm run http" on step 4 to run HTTP server.

## 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/error - custom errors
* /src/middleware - app middlewares
* /src/models - database models (schemas)
* /src/routes - configure here youre app's routes
* /src/services - services contains logic to manage database, execute requests to other servers, change application behabior, and etc.
* /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
* test - test server with Mocha
* lint - run eslint check

## Main Technologies and libraries

- NodeJS
- ExpressJS
- Typescript
- JWT
- Helmet
- Request
- Formidable
- Mongoose
- Morgan
- Mocha
- Supertest

## 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.