- Features
- Installation
- Prerequisities
- Commands
- Resources
- Usage
- Contributing
- Credits
- License
Expressapp optimized to make better APIs- Changed structure to fit the API only use case
- Removed
viewandpublicfolder - Added error handling without html/templating engines
- Added test route to understand the file structure and code splitting
- Database connection using
mongoose, based on environment (production ready) - Environment variable to help you control the app environment using
dotenv Swaggerfor API documentation- Pre-configured
huskyto runeslintandprettieron precommit hook, helps maintain best practices - Automatic versioning for apps on git push, using
yarn - Tests pre-configured using
mochaandchai
- yarn
- nodejs
- mongodb local server or remote server url
- Click on
Use this template, create your repo and clone it into your local machine - Upgrade all the dependencies and their version
yarn upgrade --latest - Install all the dependencies
yarn install - Add
.envfile and copy variables from.env.samplefile, add your own valuestouch .env cp .env.sample .env - Replace
your_app_namein./bin/wwwandpackage.json, essentially you might want to customise thepackage.json - Run the app
yarn start - Go to localhost:<your_port> or localhost:3000
- You can check the api documentation here - localhost:<your_port>/swagger/api-docs or localhost:3000/swagger/api-docs
- To start the app
yarn start - To test the app
yarn test - To publish/push to github
yarn release:[patch|minor|major]- use
patch: when your are fixing an issue with is very small and doesn't make major changes in logic and structure of the code. - use
minor: when you add/update any feature and update the logic of the code. - use
major: when a major change is being released, something that is going to make a difference.
- use
- Yarn:
- GitHub:
- Swagger :
After you have the project up and running you can play around with almost any file.
- Customize
./src/docs/swagger.ymlfile - pre development, during development or post development - Update the
.eslintrc,.prettierrc,.prettierignoreand.lint-staged.config.jsfile based on your usecase and company policies - Add/remove variables into
.envor.env.sample - Remove
./docsand./_config.ymlif you don't want to use ghpages
Please make use of the ISSUE_TEMPLATES for opening issues and making PRs
This project was bootstraped by
@rajchandra3.
For contributions please feel free to make a PR.