Documentation: https://swap76.github.io/Apollo-GraphQL-Mongo-Boilerplate/
- Apollo GraphQL server creation & configuration
- MongoDB setup & Model Examples
- GraphQL schema examples
- JWT Authorization Middlewear
- REST API Configuration
Our project has the following structure:
- docs
- node_modules
- src
- config
- controllers
- graphql
- middleware
- models
- routes
- utils
- test
This contains all the markdown files for the documentation of the project, which is visualized on Docsify.
Contains project dependencies.
This contains all the configuration files; like database connectivity, winston setup, etc.
This contains all the REST API end-points.
This contains schema files, queries and mutations for GraphQL API.
This contains all the middleware functions of the request-response pipeline.
This contains all the mongoDB schema.
This contains all the routes for REST API.
This contains all the helper functions associated with other endpoints.
This contains basic setup for chai, mocha testing which can be integrated with Travis CI easily or any other CI
These instructions will get you a copy of the project up and running o# Apollo GraphQL with MongoDB Boilerplate
- Apollo GraphQL server creation & configuration
- MongoDB setup & Model Examples
- GraphQL schema examples
- JWT Authorization Middlewear
- REST API Configuration
- Tests using Chai & Mocha
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Following are the softwares requried to get arena up and running.
-
Install the packages mentioned in package.json file for getting all dependencies of the project.
npm install --save
-
Getting the configuration ready
cp .env.example .env
-
Starting the application
npm run dev
-
Setting the pre-push hook
./hooks.sh
- For linting the code
npm run lint -s
- For fixing the linting mistakes in code
npm run fix -s
Issues are managed via GitHub Issues here.
- Swapnil Shinde - Swap76
This project is licensed under the Apache License. See the LICENSE.md file for details. n your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.