Open Source Finance Management Platform
Find a file
2026-03-10 17:28:59 +01:00
.github/workflows Remove arm platform from image 2025-08-15 06:12:30 +00:00
docker PLAT-283 goodbye gulp, hail to vite 2024-01-14 00:26:06 +01:00
help sync 2017-03-21 11:55:03 +03:00
libs drag and drop of columns and groups 2021-01-19 16:08:09 +03:00
src fix pagination 2026-03-10 16:50:33 +01:00
tests update 2020-12-05 17:10:59 +03:00
vocabulary add / edit ev: default value for group selectors, user_code validation 2022-06-22 18:44:26 +03:00
.gitignore issue-58 2025-09-08 20:47:30 +02:00
.gitlab-ci.yml update registry 2025-02-26 12:00:00 +05:00
bootstrap.js fix keycloak 2025-10-03 16:14:00 +02:00
changelog.md add copy database function 2020-06-12 16:02:11 +03:00
CLA.md Create CLA.md 2025-06-13 16:04:44 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md 2025-06-13 16:04:56 +02:00
copy-config.js update sentry 2025-11-05 14:26:10 +01:00
copy-content-files.js PLAT-283 goodbye gulp, hail to vite 2024-01-14 00:26:06 +01:00
copy-html-files.js PLAT-283 goodbye gulp, hail to vite 2024-01-14 00:26:06 +01:00
Dockerfile Dockerfile: optimize statements for caching 2026-02-11 12:16:02 +01:00
index.html Plat 1682 2025-03-10 10:28:23 +00:00
LICENSE.md Create LICENSE.md 2025-04-29 23:40:00 +02:00
package-lock.json Add pronevance items to side menu 2026-02-20 15:20:48 +01:00
package.json Add pronevance items to side menu 2026-02-20 15:20:48 +01:00
postcss.config.js PLAT-1101 - use Header and Nav from Ui 2024-10-21 13:13:24 +00:00
protractor.config.js tests 2020-12-05 10:13:31 +03:00
README.md update readme 2025-07-08 15:56:33 +02:00
server-local.js PLAT-534 fix 2024-03-24 18:49:10 +01:00
server-proxy.js PLAT-556 - server proxy uses realms 2024-04-07 23:08:03 +04:00
server.js no cache for root 2022-07-30 19:37:13 +02:00
tailwind.config.js PLAT-769 - integrate tailwindcss, integrate finmars ui, register vue components as web components 2024-09-16 15:50:15 +04:00
vite.config.js update package.json 8-update-dockerfile-and-packagejson 2025-06-30 12:42:24 +02:00

# Portal

Installation

  1. Clone project

git clone git@gitlab.finmars.com:finmars/portal.git

  1. Install all dependencies

npm install

  1. Run local Web Server

2.1) Proxy requests to one of finmars backends for development

REALM=realm00000 DATABASE_ID=space00000 node server-proxy

replace realm00000 and space00000 with the ones that will be used

2.2) When using locally deployed backend

node server-local

  1. Build project

Important Disclaimer GULP is Deprecated, since 2024-01-14 it Migrated to Vite

https://vitejs.dev/

If using server-proxy.js

PROJECT_ENV=local API_HOST=http://0.0.0.0:8080 AUTHORIZER_URL=http://0.0.0.0:8080/authorizer npm run build-local - for MAC and Linux

set PROJECT_ENV=local set API_HOST=http://localhost:8080 set AUTHORIZER_URL=http://0.0.0.0:8080/authorizer - for windows

If using server.js and a locally deployed backend

PROJECT_ENV=local API_HOST=http://0.0.0.0:8000 AUTHORIZER_URL=http://0.0.0.0:8083/authorizer npm run build-local - for MAC and Linux

  1. How to run tests

HOST=http://0.0.0.0:8080/ USERNAME=user PASSWORD=pass protractor protractor.config.js

Repository structure:

./gulptasks - config files for gulp compiler

./dist - autogenerated folder with built code

./docs - autogenerated folder with docs by jsdoc

./src - folder with all source code

./libs - backup folder with all libraries.

./server.js - server file

./server-proxy.js - server file with proxy to dev server

./Gulpfile - configuration file for Gulp compiler

./package.json - json file with all project description (dependencies, commands, version etc)

./Dockerfile - config file that converts project to a Docker image

./changelog.md - file tha contains helpful messages of changes in project. Put here a note of any major change before commit

FAQ:

  • How project is structured?
    We are using MVC approach. Here is brief explanation.
    View - angular html template. Only stored in ./src/portal/scripts/app/views
    Controller - javascript code that directly attached to template. Angular depended. Stored in ./src/portal/scripts/app/controllers
    Model just a list of fields. Models do not have logic inside them. Location ./src/prtal/scripts/app/models
    Service - javascript code that has logic related to data/events. Used in controllers. Location ./src/prtal/scripts/app/services
    Repository - javascript code contains XHR requests to REST API. Location ./src/prtal/scripts/app/repositories
    Directive - angular specific files. Basically components. Location ./src/prtal/scripts/app/directives
    Helper - some utility code that can be shared across multiple services. Location ./src/prtal/scripts/app/helpers

  • What is Core and Portal folders?
    Our source code placed in portal folder. core contains libraries/external code

Keycloak Help

https://github.com/keycloak/keycloak-documentation/blob/main/securing_apps/topics/oidc/javascript-adapter.adoc https://stackoverflow.com/questions/52040265/how-to-specify-refresh-tokens-lifespan-in-keycloak https://keycloak.discourse.group/t/issue-on-userinfo-endpoint-at-keycloak-20/18461/4

Local Development CORS error.

chrome://flags/#block-insecure-private-network-requests

P.S. https://stackoverflow.com/questions/66534759/cors-error-on-request-to-localhost-dev-server-from-remote-site

INSTALLATION_TYPE = community | enterprise

License

Please refer to the LICENSE file for a copy of the license.

Support

Please use the GitHub issues for support, feature requests and bug reports, or contact us by sending an email to support@finmars.com.