Not your average scorekeeping software
This project is a monrepo and utilizes features from turbrepo.
- Install turborepo via
npm install turbo --global - run
npm installat the project root
- You can specify specific targets using turborepo (e.g.
turbo run @toa-lib/models#build) - Running
turbo buildwill build all apps and libraries. - It's recommended to use
npm run buildorturbo buildas they are synonymous.
- Execute the root-level dev command via
npm run dev - This starts the
api,realtimeandwebapplications.
EMS supports being run inside of docker containers.
- First, install Docker Desktop
- Make sure your
package-lock.jsonis either untouched, or synced (via runningnpm i) - Start the docker daemon
The dockerfile supports the repo's monorepo structure via turbo, and should take no more than 5-6 minutes to build from a no-cache state. With cache, the build will take around 30 seconds.
There are 2 docker containers based upon the same image that can be run -- backend and web.
The backend container will run api and realtime services while exposing their ports. The docker build
will also build these images in a production environment via NODE_ENV=production.
The web container wll run ems-web on port 80. Also built in a production environment.
You can build these images via the 2 commands:
docker build -t ems-srv:latest --target backend .docker build -t ems-web:latest --target web .
These commands must be run from the repo root.
Run docker compose up -d --pull always in the root directory to run both containers with their proper settings, including volume storage.
First grab the ems-admin IAM security credentials needed to login to AWS.
Run aws configure --profile ems-admin
You might need to bootstrap your environment.
Run npx cdk bootstrap aws://102536421230/us-east-2 --profile ems-admin