Need help with community-app?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

openMF
240 Stars 891 Forks Mozilla Public License 2.0 3.3K Commits 266 Opened issues

Description

This is the default web application built on top of the Apache Fineract platform. The Mifos X Web App (formerly called Community App) is maintained by the Mifos Initiative as a reference solution for the financial inclusion community. It is a Single-Page App (SPA) written in web standard technologies like JavaScript, CSS and HTML5. It leverages common popular frameworks/libraries such as AngularJS 1.5, Bootstrap and Font Awesome

Services available

!
?

Need anything else?

Contributors list

# 9,777
wikiped...
Dart
Lua
Angular
216 commits
# 313,232
HTML
CSS
Shell
147 commits
# 144,862
Android
butterk...
dagger2
retrofi...
146 commits
# 286,156
HTML
CSS
Shell
114 commits
# 299,853
HTML
CSS
Shell
93 commits
# 296,378
HTML
CSS
Shell
81 commits
# 264,598
ionic3
ionic2
cordova
ionic-f...
66 commits
# 204,818
HTML
CSS
Shell
64 commits
# 18,835
Dart
web-edi...
macbook
wikiped...
63 commits
# 256,567
HTML
CSS
Shell
55 commits
# 383,304
Django
telegra...
Shell
C++
54 commits
# 315,428
HTML
CSS
Shell
41 commits
# 45,164
golang
GraphQL
vuejs2
github-...
41 commits
# 21,908
dagger2
Lua
github-...
mysql-d...
36 commits
# 417,944
Shell
CSS
HTML
31 commits
# 441,661
Django
smt
python-...
fedora
31 commits
# 456,856
HTML
CSS
Shell
28 commits
# 354,599
HTML
CSS
Shell
24 commits
# 417,492
HTML
CSS
Shell
24 commits
# 196,176
Clojure
Shell
version...
code-an...
23 commits

MifosX Community App Join the chat at https://gitter.im/openMF/community-app Build Status Docker Hub Docker Build

This is the default web application built on top of the MifosX platform for the mifos user community. It is a Single-Page App (SPA) written in web standard technologies like JavaScript, CSS and HTML5. It leverages common popular frameworks/libraries such as AngularJS, Bootstrap and Font Awesome.

Getting started / Online Demo

The latest version of this UI is continuously re-deployed immediately (CI/CD) at openmf.github.io/community-app every time a Pull Request with a new feature or bugfix is merged. You should always specify the backend via

baseApiUrl
(see details below), so for example to access the https://www.fineract.dev online demo environment, use:

https://openmf.github.io/community-app?baseApiUrl=https://demo.fineract.dev&tenantIdentifier=default

Building from source

  1. Ensure you have
  • npm
    installed - goto http://nodejs.org/download/ to download the installer for your OS.
  • ruby
    installed - goto https://www.ruby-lang.org/en/documentation/installation/ to download the latest version of ruby.

Note: On Ubuntu Linux you can use

sudo apt-get install npm nodejs-legacy
, which avoids the
/usr/bin/env: node: No such file or directory
problem.

Note that on Linux distributions you'll need to install the Ruby Development package (e.g.

sudo dnf install ruby-devel
on Fedora), and not just
ruby
, otherwise
bundle install
below will fail when it gets to installing
ffi
which uses native extensions.
  1. Clone this repository to your local filesystem (default branch is 'develop'):
    git clone https://github.com/openMF/community-app.git
  1. To download the dependencies, and be able to build, first install bower & grunt:
    npm install -g bower
    npm install -g grunt-cli

If this fails with

npm WARN checkPermissions Missing write access to /usr/local/lib
and
npm ERR! code EACCES
because you are not running
npm
with
sudo
as
root
(which you rightfully really shouldn't!) then use
npm config set prefix ~
once before doing
npm install
. Note that in that case
bower
and
grunt
will be installed into
./bin/bower
instead of
/usr/local/bin
, and so you need to prefix it in the usages below.
  1. Next pull the runtime and build time dependencies by running
    bower
    ,
    npm
    , and
    gem
    commands on the project root folder:
    bower install

For Windows PC, before you run

npm install
check in the root folder if any package-lock.json is generated and delete it then you can run
npm install
other wise you will be faced with
Npm ERR! code EPERM  error errno -4048 error { Error: EPERM: operation not permitted, rename ....
a permission error even if you are using administrator user
    npm install
    gem install bundler
    bundle install

If you used

npm config set prefix ~
, then you have to use
./bin/bower install
instead of
bower install
.
  1. To preview the app, run the following command on the project root folder:
    grunt serve

If you used

npm config set prefix ~
, then you have to use
./bin/grunt serve
instead of
grunt serve
.

or open the 'index.html' file in FIREFOX browser

Note: If you see a warning similar to the one shown below on running

grunt serve
, try increasing the number of open files limit as per the suggestions at http://stackoverflow.com/questions/34588/how-do-i-change-the-number-of-open-files-limit-in-linux/
    Waiting...Warning: EMFILE, too many open files

  1. You can use these credentials to log in:
    Username: mifos
    Password: password

You are done.

Connecting to a MifosX Platform using OAuth 2 authentication:

Edit the value of property "security" in configurations.js to "oauth".

Connecting to a MifosX Platform running on a different host:

By default, when the app is running from the local filesystem, it will connect to the platform (fineract-provider REST API) deployed on demo.mifos.io, but that environment is no longer actively updated; we recommend using https://www.fineract.dev instead, as above.

The app connects to the platform running on the same host/port when deployed on a server.

If you want to connect to the Fineract API running elsewhere, then append the

baseApiUrl
and
tenantIdentifier
as query parameters, for example:
  • http://localhost:9002/?baseApiUrl=https://localhost:8443&tenantIdentifier=default if you are running the Fineract backend locally; note that because of the default self signed SSL certification, on the first time use (or after you have cleared the cookies from your browser), you will need to first bypass the security warning by accepting the SSL in your browser by going once to https://localhost:8443/fineract-provider/api/v1&tenantIdentifier=default and accepting it.

  • http://localhost:9002/?baseApiUrl=https://demo.fineract.dev&tenantIdentifier=default to use https://www.fineract.dev which always automatically runs the very latest Fineract back-end

Adding dependencies

You can also add more dependencies on bower.json. You can search for them in http://sindresorhus.com/bower-components/ or even:

bower search 

Running grunt tasks

Grunt tasks are used to automate repetitive tasks like minification, compilation, unit testing, linting, production builds, etc

Following are the tasks integrated.

Validate JS and HTML files

Validate the JS files to detect errors and potential problems in JavaScript code. All errors output will be written to jshint-log.xml file which get created under project base directory. Checks the markup validity of HTML files. All errors output will be written to console.

grunt validate

Build

Build the code for production deployment.

grunt prod

Serve

Use this for development. Start a static server and open the project in the default browser. The application will hit the demo server.

grunt serve

Docker

This project publishes a Docker image (since #3112) available on https://hub.docker.com/r/openmf/community-app/. Our Dockerfile uses a Ruby and Node.JS base image to build the current repo and deploy the app on Nginx, which is exposed on port 80 within the container. It can be used like this to access the webapp on http://localhost:9090 in your browser:

docker run --name community-app -it -p 9090:80 openmf/community-app

To locally build this Docker image from source (after

git clone
this repo), run:
docker build -t mifos-community-app .
You can then run a Docker Container from the image above like this:
docker run --name mifos-ui -it -d -p 80:80 mifos-community-app

Access the webapp on http://localhost in your browser.

Compile sass to css

grunt compass:dev

Running the tests

Just open test/SpecRunner.html in the browser.

Getting Started doc

https://docs.google.com/document/d/1oXQ2mNojyDFkY_x4RBRPaqS-xhpnDE9coQnbmI3Pobw/edit#heading=h.vhgp8hu9moqn

Contribution guidelines

Please read the contribution guidelines

Note: This application will hit the demo server by default.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.