{"id":25144562,"url":"https://github.com/openmf/community-app","last_synced_at":"2025-04-11T21:13:09.414Z","repository":{"id":1131981,"uuid":"10191885","full_name":"openMF/community-app","owner":"openMF","description":"(DEPRECATED) This was the former default web application built on top of the Apache Fineract platform. It's now deprecated and replaced by the the Mifos X Web App (https://github.com/openMF/web-app maintained by the Mifos Initiative as a reference solution for financial inclusion. It is a Single-Page App (SPA) written in web standard technologies. ","archived":true,"fork":false,"pushed_at":"2025-02-06T01:31:21.000Z","size":53031,"stargazers_count":325,"open_issues_count":327,"forks_count":1032,"subscribers_count":56,"default_branch":"develop","last_synced_at":"2025-04-11T21:13:02.988Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"http://openmf.github.io/community-app/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openMF.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"Contributing.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2013-05-21T09:09:38.000Z","updated_at":"2025-03-29T11:43:15.000Z","dependencies_parsed_at":"2024-01-15T13:37:48.820Z","dependency_job_id":"9710f8d0-8bff-45d8-bd40-b4f7f31688e8","html_url":"https://github.com/openMF/community-app","commit_stats":{"total_commits":2275,"total_committers":216,"mean_commits":"10.532407407407407","dds":0.8593406593406594,"last_synced_commit":"343bdff744f091ec4cb278a4a1b7e6b4b4dac0d1"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openMF%2Fcommunity-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openMF%2Fcommunity-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openMF%2Fcommunity-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openMF%2Fcommunity-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openMF","download_url":"https://codeload.github.com/openMF/community-app/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248480430,"owners_count":21110937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest"],"created_at":"2025-02-08T19:46:43.970Z","updated_at":"2025-04-11T21:13:09.378Z","avatar_url":"https://github.com/openMF.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MifosX Community App [![Join the chat at https://gitter.im/openMF/community-app](https://badges.gitter.im/openMF/community-app.svg)](https://gitter.im/openMF/community-app?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)  [![Build Status](https://travis-ci.com/openMF/community-app.svg?branch=develop)](https://travis-ci.com/github/openMF/community-app)  [![Docker Hub](https://img.shields.io/docker/pulls/openmf/community-app.svg)](https://hub.docker.com/r/openmf/community-app)  [![Docker Build](https://img.shields.io/docker/cloud/build/openmf/community-app.svg)](https://hub.docker.com/r/openmf/community-app/builds)\n\nThis 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.\n\n\n## Getting started / Online Demo\n\nThe 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:\n\nhttps://openmf.github.io/community-app?baseApiUrl=https://demo.fineract.dev\u0026tenantIdentifier=default\n\n## Building from source\n\n1. Ensure you have\n\n   * ```npm``` installed - goto http://nodejs.org/download/ to download the installer for your OS.\n   * ```ruby``` installed - goto https://www.ruby-lang.org/en/documentation/installation/ to download the latest version of ruby.\n\nNote: 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.\n\nNote 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.\n\n1. Clone this repository to your local filesystem (default branch is 'develop'):\n\n   ```\n    git clone https://github.com/openMF/community-app.git\n   ```\n   \n1. To download the dependencies, and be able to build, first install bower \u0026 grunt:\n\n   ```\n    npm install -g bower\n    npm install -g grunt-cli\n   ```\n\nIf 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.\n\n\n1. Next pull the runtime and build time dependencies by running `bower`, `npm`, and `gem` commands on the project root folder:\n\n   ```\n    bower install\n   ```\nFor 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 \n   ```\n    npm install\n   ```\n   ```\n    gem install bundler\n   ```\n   ```\n    bundle install\n   ```\n   \n   If you used `npm config set prefix ~`, then you have to use `./bin/bower install` instead of `bower install`.\n\n\n1. To preview the app, run the following command on the project root folder:\n\n   ```\n    grunt serve\n   ```\n   \n   If you used `npm config set prefix ~`, then you have to use `./bin/grunt serve` instead of `grunt serve`.\n\n   or open the 'index.html' file in FIREFOX browser\n\n   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/\n\n   ```\n    Waiting...Warning: EMFILE, too many open files\n\n   ```\n   \n1. You can use these credentials to log in:\n\n   ```\n    Username: mifos\n    Password: password\n   ```\n\nYou are done.\n\n### Connecting to a MifosX Platform using OAuth 2 authentication:\n\nEdit the value of property \"security\" in \u003ca href=\"https://github.com/openMF/community-app/blob/develop/app/scripts/modules/configurations.js#L6\"\u003econfigurations.js\u003c/a\u003e to \"oauth\".\n\n### Connecting to a MifosX Platform running on a different host:\n\nBy 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.\n\nThe app connects to the platform running on the same host/port when deployed on a server.\n\nIf you want to connect to the Fineract API running elsewhere, then append the `baseApiUrl` and `tenantIdentifier` as query parameters, for example:\n\n* http://localhost:9002/?baseApiUrl=https://localhost:8443\u0026tenantIdentifier=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\u0026tenantIdentifier=default and accepting it.\n\n* http://localhost:9002/?baseApiUrl=https://demo.fineract.dev\u0026tenantIdentifier=default to use https://www.fineract.dev which always automatically runs the very latest Fineract back-end\n\n\n## Adding dependencies\n\nYou can also add more dependencies on bower.json.\nYou can search for them in http://sindresorhus.com/bower-components/ or even:\n\n```\nbower search \u003cpackage\u003e\n```\n\n## Running grunt tasks\n\nGrunt tasks are used to automate repetitive tasks like minification, compilation, unit testing, linting, production builds, etc\n\nFollowing are the tasks integrated.\n\n### Validate JS and HTML files\n\nValidate 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.\nChecks the markup validity of HTML files. All errors output will be written to console.\n\n```\ngrunt validate\n```\n\n### Build\n\nBuild the code for production deployment.\n\n```\ngrunt prod\n```\n\n### Serve\n\nUse this for development.\nStart a static server and open the project in the default browser. The application will hit the demo server.\n\n```\ngrunt serve\n```\n\n### Docker\n\nThis project publishes a Docker image (since #[3112](https://github.com/openMF/community-app/issues/3112)) available on https://hub.docker.com/r/openmf/community-app/.  Our [Dockerfile](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:\n\n    docker run --name community-app -it -p 9090:80 openmf/community-app\n\n\nTo locally build this Docker image from source (after `git clone` this repo), run:\n```\ndocker build -t mifos-community-app .\n```\nYou can then run a Docker Container from the image above like this:\n```\ndocker run --name mifos-ui -it -d -p 80:80 mifos-community-app\n```\n\nAccess the webapp on http://localhost in your browser.\n\n\n### Compile sass to css\n\n```\ngrunt compass:dev\n```\n## Running the tests\n\nJust open test/SpecRunner.html in the browser.\n\n## Getting Started doc\n\nhttps://docs.google.com/document/d/1oXQ2mNojyDFkY_x4RBRPaqS-xhpnDE9coQnbmI3Pobw/edit#heading=h.vhgp8hu9moqn\n\n## Contribution guidelines\n\nPlease read the \u003ca href=\"https://github.com/openMF/community-app/blob/develop/Contributing.md\" \u003econtribution guidelines\u003c/a\u003e\n\nNote: This application will hit the demo server by default.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmf%2Fcommunity-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenmf%2Fcommunity-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmf%2Fcommunity-app/lists"}