Public | Automated Build

Last pushed: 2 years ago
Short Description
Official build of favourites service
Full Description

Chamaconekt-favourites Microservice

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.

Getting started

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.


  • Docker
    • Installation instructions are available at the Docker website
  • NodeJs
    • 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
    • $ cd favourites
    • $ docker-compose-up

Running Locally from GitHub

Clone this project from github

$ git clone

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.

Vulnerability tests

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
following command: $ sudo apt-get install python-dev

Validate the installation
Check that the CLI installed correctly:

$ docker-cloud -v

Docker cloud quickstart

First, you should log in using the docker CLI and the docker login command. Your Docker ID, which you also use to log
in to Docker Hub , is also used for logging in to Docker Cloud .

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.

Submitting changes

Please sign the Contributor License Agreement. All content, comments, and pull requests must follow the
Chamaconekt Community Guidelines

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


Docker Pull Command
Source Repository