All Projects → openMF → Community App

openMF / Community App

Licence: mpl-2.0
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

Projects that are alternatives of or similar to Community App

Devo
A Chrome and Firefox extension that displays GitHub Trending, Hacker News, Product Hunt and Designer News on every new tab.
Stars: ✭ 236 (-0.84%)
Mutual labels:  hacktoberfest
Mond
A scripting language for .NET Core
Stars: ✭ 237 (-0.42%)
Mutual labels:  hacktoberfest
Dotnet Api Docs
.NET API reference documentation (.NET Framework, .NET Core, .NET Standard and Xamarin)
Stars: ✭ 238 (+0%)
Mutual labels:  hacktoberfest
Awesome Digitalocean
A curated list of amazingly awesome DigitalOcean resources inspired by Awesome Sysadmin
Stars: ✭ 236 (-0.84%)
Mutual labels:  hacktoberfest
Homebrew Bio
🍺🔬 Bioinformatics formulae for the Homebrew package manager (macOS and Linux)
Stars: ✭ 237 (-0.42%)
Mutual labels:  hacktoberfest
Amplitude Javascript
JavaScript SDK for Amplitude
Stars: ✭ 234 (-1.68%)
Mutual labels:  hacktoberfest
Skrape.it
A Kotlin-based testing/scraping/parsing library providing the ability to analyze and extract data from HTML (server & client-side rendered). It places particular emphasis on ease of use and a high level of readability by providing an intuitive DSL. It aims to be a testing lib, but can also be used to scrape websites in a convenient fashion.
Stars: ✭ 231 (-2.94%)
Mutual labels:  hacktoberfest
Juice Shop Ctf
Capture-the-Flag (CTF) environment setup tools for OWASP Juice Shop
Stars: ✭ 238 (+0%)
Mutual labels:  hacktoberfest
Gistlog
GistLog - simple, easy blogging based on GitHub gists
Stars: ✭ 237 (-0.42%)
Mutual labels:  hacktoberfest
Ng Select
⭐ Native angular select component
Stars: ✭ 2,781 (+1068.49%)
Mutual labels:  hacktoberfest
Cordova Plugin Fingerprint Aio
👆 📱 Cordova Plugin for fingerprint sensors (and FaceID) with Android and iOS support
Stars: ✭ 236 (-0.84%)
Mutual labels:  hacktoberfest
Yii2 Apidoc
Yii 2 apidoc extension.
Stars: ✭ 236 (-0.84%)
Mutual labels:  hacktoberfest
Satis
Simple static Composer repository generator - For a full private Composer repo use Private Packagist
Stars: ✭ 2,722 (+1043.7%)
Mutual labels:  hacktoberfest
11ty Website
Documentation site for the Eleventy static site generator.
Stars: ✭ 236 (-0.84%)
Mutual labels:  hacktoberfest
Hacktoberfest
A collection of words! ⭐️ it if you 👍 it !
Stars: ✭ 240 (+0.84%)
Mutual labels:  hacktoberfest
Moneywallet
An android application that let you track your expenses
Stars: ✭ 236 (-0.84%)
Mutual labels:  hacktoberfest
Zds Site
Cœur du projet technique de Zeste de Savoir
Stars: ✭ 236 (-0.84%)
Mutual labels:  hacktoberfest
Neos Ui
Neos CMS UI written in ReactJS with Immutable data structures.
Stars: ✭ 238 (+0%)
Mutual labels:  hacktoberfest
Django Rest Passwordreset
An extension of django rest framework, providing a configurable password reset strategy
Stars: ✭ 238 (+0%)
Mutual labels:  hacktoberfest
Mockoon
Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source.
Stars: ✭ 3,448 (+1348.74%)
Mutual labels:  hacktoberfest

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

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
    
  2. 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
    
    
  2. 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:

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 <package>

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].