This project is Luomus monorepo for Laji Store api and related libraries.
This workspace uses Nx to manage the workspace and Docker to run applications.
More documentation can be found in the WIKI.
PostgreSQL (other database can be used as long as TypeORM supports transactions on them)
Make sure that you have updated docker & docker-compose This has been tested with
docker-compose version 1.29.1
Docker version 20.10.6, build 370c289
Use node version higher than 12.17
Run npm ci
to install all dependencies (node_module is mounted for development)
Run docker-compose up
for a dev server.
Navigate to http://localhost:3000/.
The app will automatically reload if you change any of the source files.
There are common resources that are generated by the store cli generate commands. Models change quite often so there is helper script that you can run to generate these:
# for local env
./tools/scripts/update-common.sh
# for staging env (you also need .env.staging)
./tools/scripts/update-common.sh staging
# for production env (you also need .env.production)
./tools/scripts/update-common.sh production
There are two helper script to publish changes to staging and to production.
# for staging (you also need .env.staging and *.staging.yaml files in kubernetes folder)
./tools/scripts/deploy-store-staging.sh
# for production (you also need .env.staging and *.production.yaml files in kubernetes folder)
./tools/scripts/deploy-store-production.sh
Run ng g @nrwl/angular:app my-app
to generate an application.
You can use any of the plugins provided by Nx to generate applications as well.
Run ng g @nrwl/angular:lib my-lib
to generate a library.
You can also use any of the provided by Nx above to generate libraries as well.
Libraries are sharable across libraries and applications. They can be imported from @luomus/mylib
.
Run ng g component my-component --project=my-app
to generate a new component.
Run ng test my-app
to execute the unit tests via Jest.
Run nx affected:test
to execute the unit tests affected by a change.
Run ng e2e my-app
to execute the end-to-end tests via Cypress.
Run nx affected:e2e
to execute the end-to-end tests affected by a change.
For Store e2e tests you can run ./tools/scripts/test-store.sh
.
You need the .env.e2e
file in the root of the repo.
Run nx dep-graph
to see a diagram of the dependencies of your projects.
Visit the FinBIF foorums to connect with other users and us or contact us using the contact information in the FinBIF web site.