The project uses a mono-repo structure, with the main functions and modules organized in the following directories
🌐 web
: It contains the source code associated with the web application.📱 mobile
: It contains the source code associated with the mobile application.🖥️ api
: It contains the source code associated with the API server.
It includes packages and libraries that will be reused throughout the project.
⚙️ core
: It includes common packages related to business logic and data processing.🎨 ui
: It includes common packages related to UI components and styling.
It includes tools and settings related to development and operation.
git clone https://github.com/koutyuke/mona-ca.git && cd mona-ca
We use mise as a version control tool.
mise install
See .env.example
for each application
bun i
bunx lefthook install
# up
docker compose up -d
# down
docker compose down
Perform various checks on all files.
# build
bun run build
# static code check(lint, fmt, imports)
bun run check
# static code check(lint, fmt, imports) & fix
bun run check:fix
# type check
bun run typecheck
# test
bun run test
# Other
# See `scripts` field in `package.json`
Perform CI performed by Github Action in a local environment
Install act
and Start Docker
# all CI
act --container-architecture linux/amd64 --secret-file ./.github/act/.secrets --env-file ./.github/act/.env --defaultbranch main
# app-build
act --container-architecture linux/amd64 --secret-file ./.github/act/.secrets --env-file ./.github/act/.env --defaultbranch main -W ./.github/workflows/app-build.yaml
# app-test
act --container-architecture linux/amd64 --secret-file ./.github/act/.secrets --env-file ./.github/act/.env --defaultbranch main -W ./.github/workflows/app-test.yaml
# app-static-check
act --container-architecture linux/amd64 --secret-file ./.github/act/.secrets --env-file ./.github/act/.env --defaultbranch main -W ./.github/workflows/app-static-check.yaml
# api-deploy-cloudflare
act --container-architecture linux/amd64 --secret-file ./.github/act/.secrets --env-file ./.github/act/.env --defaultbranch main -W ./.github/workflows/api-deploy-cloudflare.yaml
# catalog-build
act --container-architecture linux/amd64 --secret-file ./.github/act/.secrets --env-file ./.github/act/.env --defaultbranch main -W ./.github/workflows/catalog-build.yaml
Note
Since Biome's VSCode extension does not support workspaces, all settings are rolled up and configured in root's biome.json
.