This project manages the favourites business domain in the Chamaconekt Open Source platform.It is completely independent
from other microservices.It has its own database that is utilised by other microservices via REST API.
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.
- Installation instructions are available at the Docker website
- Installation instructions are available at the NodeJs website
Installing via Docker Images
This instruction provides a simple way to incorporate chamaconekt-favourites into your private infrastructure through
Docker Images.This image provides a default, non-validating, ephemeral configuration that should work for most developers.
This image is created via this Dockerfile
$ docker pull chamaconektkenya/favourites
Running locally via Docker
- Build and run using Docker Compose:
$ git clone https://github.com/chamaconekt/favourites
$ cd favourites
Running Locally from GitHub
Clone this project from github
$ git clone firstname.lastname@example.org:chamaconekt/favourites.git
Change directory into the cloned repository
$ cd favourites
Install all of the project dependencies
$ npm install
Start the development server
$ npm start
The app is running at
http://localhost:3000/ . Note that the development build is not optimized. To create a
production build, use
$ npm run build
Running the tests
Continuous Intergration Tests
This project is running continuous intergration tests via Travis CI .This helps us intergrate code as oftern
as possible and every commit is tested before and after being merged into the master branch by an automated build.This helps up our
development process and minimizes the risk of critical issues in production.
This project is running vulnerability tests via Snyk and Bithound .Usually , open source is
wesome for boosting our productivity. However, taking code written by others, often with little to no vetting of its security pedigree,
can put our application at risk - a risk multiplied by the many dependencies a modern application uses.
Deploying to Docker Cloud
Docker Cloud makes it easy for new docker users to build and deploy their applications. Docker Cloud's operations
interface empowers seasoned Docker users to manage a full spectrum of applications, from single container apps to
distributed microservice stacks,anywhere.
- docker-cloud CLI
Installing docker-cloud CLI ( Linux or Windows)
$ pip install docker-cloud
If you encounter errors on Linux machines, make sure that
$ python-dev is installed. For example, on Ubuntu, run the
$ sudo apt-get install python-dev
Validate the installation
Check that the CLI installed correctly:
$ docker-cloud -v
Docker cloud quickstart
Docker Cloud pulls up a stack fom the docker-cloud.yml
file defined in this root repository. This is a logical grouping of the chamaconekt-favourites microservice that is
This stack file will quickly deploy this cluster of microservice to a set of nodes.
How to contribute
We're striving to keep master's history with minimal merge bubbles. To achieve this, we're asking pull requests to be submitted
on top of master.
Finding things to work on
The first place to start is always looking over the current github issues for the project you are interested in contributing to.Issues
marked with help wanted are usually pretty self contained and a good place to get started. Chamaconekt also uses these same github
issues to keep track of what we are working on.If you see any issues that are assigned to a particular person that means someone is
currently working on that issue.Of course feel free to make your own issues if you think something needs to be added or fixed.
Basic quality checks
Please ensure that all tests pass before submitting changes.Try to separate logically distinct changes into separate commits and
thematically distinct commits into separate pull requests.
Submit a pull request on top of master
- Include a descriptive commit message
- Changes contributed via pull requests should focus on a sigle issues at a time.
At this point you're waiting on us.We like to at least comment on pull requests within one week (and typically, three business days).
We may suggest some changes or improvements or alternatives.
We use SemVer for versioning.
This project is licensed under the Apache 2.0 License
- see the LICENSE file for details