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.
The latest code is continuously deployed at https://openmf.github.io/web-app/ whenever a PR is merged into the master branch.
-
Ensure you have the following installed in your system:
-
Install angular-cli globally.
npm install -g @angular/cli@14.2.12
- Clone the project locally into your system.
git clone https://github.com/openMF/web-app.git
-
cd
into project root directory and make sure you are on the master branch. -
Install the dependencies.
npm install
- 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.
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.
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
.
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.
To get more help on the Angular CLI use ng help
or go check out the
Angular-CLI README.
Follow the given instructions for your operating system to setup a local server for the Mifos X platform.
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.
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.
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:
git clone https://github.com/openMF/web-app.git ; cd web-app
- for windows, use
git clone https://github.com/openMF/web-app.git --config core.autocrlf=input ; cd web-app
docker compose up -d
- Access the webapp on http://localhost:4200 in your browser.
You can also setup different configurations for the MifosX Web App using environment variables:
- 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 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!