The project is built using pnpm workspaces
and divided in packages
and services
.
Packages contains all the common code used in services
.
- @liexp/core contains all the core modules
- @liexp/shared contains domain specific definitions for
models
andendpoints
- @liexp/test contains some test utils
- @liexp/ui contains all
ui
components
The services
are the deployable projects:
The local development require some modules to be installed on your machine:
- node
- pnpm
- docker
- docker compose
The easiest way to run the project is by using docker compose
.
The compose.yml contains all the definitions to run the needed services.
If you want to start developing with docker compose
:
docker compose build # build base image
docker compose up -d db # starts db in background
docker compose up api web admin-web data # starts api, web, admin-web and data services
N.B.: you need to run pnpm api watch
in another shell to make the api container to trigger restart event
pnpm build
Build the images first with
# build `base`, `api` and `web` image
./scripts/docker-build.sh
# start docker compose for `deploy/compose.yml`
./scripts/docker-deploy-test.sh