Chamaconekt-docs Microservice

This project manages the docs business domain in the Chamaconekt Open Source platform.It is completely independentfrom 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.

Prerequisites

Installing

Installing via Docker Images

This instruction provides a simple way to incorporate chamaconekt-docs into your private infrastructure throughDocker 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/docs

Running locally via Docker

Build and run using Docker Compose:

$ git clone https://github.com/chamaconekt/docs

$ cd docs

$ docker-compose-up

Running Locally from GitHub

Clone this project from github

$ git clone git@github.com:chamaconekt/docs.git

Change directory into the cloned repository

$ cd docs

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 aproduction 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 ofternas possible and every commit is tested before and after being merged into the master branch by an automated build.This helps up ourdevelopment 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 iswesome 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.

Deployment

Deploying to Docker Cloud

Docker Cloud makes it easy for new docker users to build and deploy their applications. Docker Cloud's operationsinterface empowers seasoned Docker users to manage a full spectrum of applications, from single container apps todistributed microservice stacks,anywhere.

Prerequisites

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

Validate the installationCheck 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 login to Docker Hub , is also used for logging in to Docker Cloud .

Docker Cloud pulls up a stack fom the docker-cloud.ymlfile defined in this root repository. This is a logical grouping of the chamaconekt-docs microservice that isdeployed

This stack file will quickly deploy this cluster of microservice to a set of nodes.

Contributing

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 submittedon 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.Issuesmarked with help wanted are usually pretty self contained and a good place to get started. Chamaconekt also uses these same githubissues to keep track of what we are working on.If you see any issues that are assigned to a particular person that means someone iscurrently working on that issue.Of course feel free to make your own issues if you think something needs to be added or fixed.