Skip to content

luomus/lajistore

Repository files navigation

Luomus

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.

Tech Stack & Links to Documentations

Docker

Angular

NestJS

RabbitMQ

Nx

ElasticSearch

PostgreSQL (other database can be used as long as TypeORM supports transactions on them)

Development server

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:https://localhost:3000/. The app will automatically reload if you change any of the source files.

Shared resources

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

Store deployment

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

Generate an application

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.

Generate a library

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.

Code scaffolding

Run ng g component my-component --project=my-app to generate a new component.

Running unit tests

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.

Running end-to-end tests

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.

Understand your workspace

Run nx dep-graph to see a diagram of the dependencies of your projects.

Further help

Visit the FinBIF foorums to connect with other users and us or contact us using the contact information in the FinBIF web site.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages