Skip to content

Latest commit

 

History

History
217 lines (149 loc) · 7.49 KB

README.md

File metadata and controls

217 lines (149 loc) · 7.49 KB

Mifos X Web App Build Status Gitter

Mifos X Web App is the revamped version of the Mifos X Community App, an effective financial inclusion solution and the default web application built on top of the Mifos X platform for the Mifos User Community.

It is a Single-Page App (SPA) written in standard web technologies HTML5, SCSS and TypeScript. It leverages the popular Angular framework and Angular Material for material design components.

Getting started using

The latest code is continuously deployed at https://openmf.github.io/web-app/ whenever a PR is merged into the master branch.

Getting started developing

  1. Ensure you have the following installed in your system:

    git

    npm

  2. Install angular-cli globally.

npm install -g @angular/[email protected]
  1. Clone the project locally into your system.
git clone https://github.com/openMF/web-app.git
  1. cd into project root directory and make sure you are on the master branch.

  2. Install the dependencies.

npm install
  1. To preview the app, run the following command and navigate to http://localhost:4200/.
ng serve

The application is using the development server with basic authentication by default. The credentials for the same are:

Username - mifos
Password - password

Important Note: Please do not make any alterations to these credentials.

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --configuration production flag for a production build.

Run npm run build:prod to build a production artifacts Instead.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular-CLI README.

Setting up a local server

Follow the given instructions for your operating system to setup a local server for the Mifos X platform.

Windows

Ubuntu

For connecting to server running elsewhere update the base API URL and/or tenant identifier property in the environments/environment.ts file and environments/environment.prod.ts file for development and production use respectively.

By default OAuth2 is disabled. To enable it, change the value of oauth.enabled property to true in the environments/environment.ts file and environments/environment.prod.ts file for development and production use respectively.

Docker

To locally build this Docker image from source (after git clone this repo), run:

docker build -t openmf/web-app:latest .

You can then run a Docker Container from the image above like this:

docker run -d -p 4200:80 openmf/web-app:latest

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

Docker compose

It is possible to do a 'one-touch' installation of Mifos X Web App using containers (AKA "Docker"). Fineract now packs the Mifos community-app web UI in it's docker deploy.

As Prerequisites, you must have docker and Docker Compose v2 or later installed on your machine; see Docker Install and Docker Compose Install.

Now to run a new MifosX Web App instance you can simply:

  1. git clone https://github.com/openMF/web-app.git ; cd web-app
  2. for windows, use git clone https://github.com/openMF/web-app.git --config core.autocrlf=input ; cd web-app
  3. docker compose up -d
  4. Access the webapp on http://localhost:4200 in your browser.

You can also setup different configurations for the MifosX Web App using environment variables:

  1. Use environment variables (best choice if you run with Docker Compose):

Fineract backend settings

FINERACT_API_URLS

Value to set a Fineract server list (environments) to be used, Default value:

https://dev.mifos.io,https://demo.mifos.io,https://qa.mifos.io,https://staging.mifos.io,https://mobile.mifos.io,https://demo.fineract.dev,https://localhost:8443
FINERACT_API_URL

Default value used from the Fineract server list. Default value:

https://localhost:8443
FINERACT_PLATFORM_TENANT_IDENTIFIER

Fineract Tenant identifier to be used by default, It must be aligned with the Fineract tenants table. Default value:

default
FINERACT_PLATFORM_TENANTS_IDENTIFIER

Fineract Tenant identifier list to be used, Those must be aligned with the Fineract tenants table.

Setting for Languages (i18n) still under development

MIFOS_DEFAULT_LANGUAGE=en-US
MIFOS_SUPPORTED_LANGUAGES=cs-CS,de-DE,en-US,es-MX,fr-FR,it-IT,ko-KO,lt-LT,lv-LV,ne-NE,pt-PT,sw-SW

These are the Language available now:

MIFOS_SESSION_IDLE_TIMEOUT=300000

Time in milliseconds for Session idle timeout, default 300000 seconds

Language Code File
Czech cs cs-CS.json
German de de-DE.json
English en en-US.json
Spanish es es-MX.json
French fr fr-FR.json
Italian it it-IT.json
Korean ko ko-KO.json
Lithuanian li li-LI.json
Latvian lv lv-LV.json
Nepali ne ne-NE.json
Portuguese pt pt-PT.json
Swahili sw sw-SW.json

Setting for applying the Client preload in the Clients view, Default true

MIFOS_PRELOAD_CLIENTS=false

Setting for exporting report table to CSV file using this field delimiter

MIFOS_DEFAULT_CHAR_DELIMITER=,

Setting for Wait time in seconds for reading the user notifications, Default 60 seconds

MIFOS_WAIT_TIME_FOR_NOTIFICATIONS=60

Setting for Wait time in seconds for reading the COB Catch-Up status, Default 30 seconds

MIFOS_WAIT_TIME_FOR_CATCHUP=30

Setting for display or hide the Tenant selector in the Login view (mainly for Production environments and for security reasons), Default true

MIFOS_DISPLAY_TENANT_SELECTOR=false

Setting for display or hide the Backend info (url) in the footer part (mainly for security reasons), Default true

MIFOS_DISPLAY_BACKEND_INFO=false

For more information look the env.sample file in the root directory of the project

Want to help? contributions welcome

Want to file a bug, request a feature, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues. Make sure you follow the guidelines before sending a contribution!