A sample micro-services project built using Node.js and Docker with GraphQL for managing a pet store
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.
Before running the project on your system, make sure you have the following software installed.
- yarn - fast and reliable dependency management
- docker - OS level virtualization to deliver packages called containers
- docker-compose - tool for defining and running multi-container Docker applications
To initialize the project, navigate to the root directory.
To run automated tests on a particular service, navigate to the directory.
yarn test
The services can be run in development mode
yarn start:dev
Or in production mode
yarn start:prod
To get the project up and running in a production ready environment run the following command
docker-compose up --build
If everything goes well, the project can be viewed at http://localhost:8080
- Apollo Server - Server for GraphQL
- Babel - Compile JavaScript to a primitive version
- Docker - OS level virtualization
- Express - Web application framework for Node.js
- GraphQL - A Query Language and Runtime which can target any service
- nginx - Web server used for service discovery
Automated test suites are provided along with the services. The web client of the project is tested using Chrome & Firefox.
- Wahaj Aayani - Initial work - aayani
This project is licensed under the MIT License - see the LICENSE file for details