Skip to content

openkfw/TruBudget

Repository files navigation

TruBudget

build status gitter chat Coverage Status

Table of Contents

Introduction

TruBudget - a trusted public expenditure tool. A collaborative workflow tool and secured platform to track and coordinate the implementation of donor-funded investment projects.

Getting Started

These instructions will get you a copy of the project up and running on your local machine.

Caution: This guide works well wil Linux and OS X operating systems. For Windows, we recommend using the Git Bash (or something similar) to perform the commands listed below.

Prerequisites

Installing

The recommended option to get started with TruBudget is to use the latest stable docker images via docker-compose. For more detailed information about the installation and the environment variables or alternative ways to setup TruBudget check out the Installation Guide.

Setting required environment variables via .env file. If you want to use the standard setup, simply copy the .env_example file:

cd path/to/trubudget
cp .env_example .env

Tip: If you want to checkout a certain version of TruBudget change the TAG environment variable. By default it is set to TAG=master.

Before you start with the standard configuration, please make sure that the port 80 (used by the frontend) is free.

To run TruBudget, run the following script:

sh scripts/master/start-master-node.sh

This will start a prod and test instance of TruBudget (blockchain, api, frontend) and test data provisioning. The provisioning will add test data to your blockchain and it can take several minutes to finish.

If you want to start with an empty blockchain and skip provisioning, you can use the following command:

TBD

Use docker ps to check on the running containers:

➜ docker ps
CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                NAMES
41c3453e505c        trubudget/frontend:master       "/bin/sh -c '/bin/as…"   5 minutes ago       Up 5 minutes        0.0.0.0:80->80/tcp   trubudget_frontend_1
5dacb07a93a3        trubudget/provisioning:master   "npm start"              5 minutes ago       Up 5 minutes                             trubudget_provision-test_1
296e0d16435c        trubudget/provisioning:master   "npm start"              5 minutes ago       Up 5 minutes                             trubudget_provision-prod_1
c6426a0ee5f5        trubudget/api:master            "/bin/sh -c 'npm sta…"   5 minutes ago       Up 5 minutes                             trubudget_testapi_1
27d71e0678d0        trubudget/api:master            "/bin/sh -c 'npm sta…"   5 minutes ago       Up 5 minutes                             trubudget_api_1
760e9736c0dc        trubudget/blockchain:master     "npm start"              5 minutes ago       Up 5 minutes        7447/tcp, 8000/tcp   trubudget_master_1
a8b3442490b5        trubudget/blockchain:master     "npm start"              5 minutes ago       Up 5 minutes        7447/tcp, 8000/tcp   trubudget_testmaster_1

Once the application and the provisioning is done, you can visit the application at:

http://localhost:80

To log in, use the following standard login (as defined in the .env file)

User: root
Passwort: root-secret

With this user you can see the provisioned projects and users.

The blockchain data is persisted on your hard drive. The standard location on Linux and OS X for this is:

/tmp/bcMasterVolume 
``On Windows, the folder location is: 

%USERPROFILE%\AppData\Local\



# Build and Develop from Local Sources

Checkout the [Contributor Guide](https://github.com/openkfw/TruBudget/blob/master/doc/wiki/Contributor-Guide/Contributor-Guide.md) to learn how to set up your environment to start developing and debugging the TruBudget application.

# More Information

Check out our [**Trubudget-Wiki**](./doc/README.md) to find out how Trubudget works.

# FAQ

| Description           | Link                                                                                                              |
| :-------------------- | :---------------------------------------------------------------------------------------------------------------- |
| How to run e2e-tests? | https://github.com/openkfw/TruBudget/blob/master/doc/wiki/Contributor-Guide/Contributor-Guide.md#end-to-end-tests |
| How to run unit-test? | https://github.com/openkfw/TruBudget/blob/master/doc/wiki/Contributor-Guide/Contributor-Guide.md#unit-tests       |