Mifos X Web App
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
-
Ensure you have the following installed in your system:
-
Install angular-cli globally.
npm install -g @angular/[email protected]
- 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.
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 --prod
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.
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
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=en-US,fr-FR
For more information look the env.sample file in the root directory of the project
Want to help?
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!