This guide provides instructions for setting up the Fineract Backoffice UI development environment.
- Node.js:
>=22.22.3. - npm: the package manager used by the committed lockfile.
- mkcert: required only for the local HTTPS development server.
The Angular CLI is a project dependency. Use the repository scripts instead of installing a global CLI, which can be a different major version.
-
Clone the repository:
git clone https://github.com/apache/fineract-backoffice-ui.git cd fineract-backoffice-ui -
Install dependencies:
npm ci
-
Secure Development (SSL): The development server is configured for HTTPS. Generate trusted local certificates once (requires
mkcert):./scripts/setup-ssl.sh
-
Run the application:
npm start
Access the UI at
https://localhost:4200. -
Connect to Fineract:
Configuration is loaded from
public/config.jsonat runtime; do not edit an environment file to configure a deployment.For a local Fineract instance listening on
https://127.0.0.1:8443,proxy.conf.jsonforwards both/api/v1, the default endpoint, and/fineract-provider/api/v1, the Local Proxy Server option on the sign-in page, to it. Either works withnpm start, and neither makes a cross-origin request.For a deployed or remote instance, set
fineractApiUrlinconfig.json. An absolute URL must also appear inallowedApiOrigins, because the selected endpoint receives the user's credentials. The same-origin/api/v1path used by the Docker deployment is the preferred production setup; seeREADME.md. -
Run unit tests:
npm test -- --watch=false -
Run end-to-end tests:
npx playwright install chromium # first run only npm run test:e2e -- --project=mockedThe mocked project needs no Fineract instance. See
DOCS/E2E_TESTING.mdfor the Docker-backed project and focused runs. -
Run linting:
npm run lint
-
Format code:
npm run format
- Build and start container:
Access the UI at
docker compose -f deploy/docker-compose.yml up --build
http://localhost:8080.