- Docker Desktop
- AWS CLI and an AWS account
- PNPM
- Terraform CLI
cp ./.env.example ./.env.development
cp ./services/gateway/.env.example ./services/gateway/.env.development
cp ./services/user/.env.example ./services/users/.env.development
Remember fulfill the env variables.
docker-compose -f ./docker/docker-compose.yml up -d
pnpm run module:install
pnpm run module:install --force # Alternative for Mac M1, M2 ...etc
docker-compose -f ./docker/docker-compose.yml restart
cp ./.env.example ./.env.production
cp ./services/gateway/.env.example ./services/gateway/.env.production
cp ./services/user/.env.example ./services/users/.env.production
cp ./.env.makefile.example ./.env.makefile
Remember fulfill the env variables.
aws configure
Enter the AWS access key and secret by generating an access key record through AWS console.
make bump
cd ./terraform/registry
terraform init
terraform plan
terraform apply
To destroy the ECR repository, you only can do it via AWS console.
make release
docker-compose -f ./docker/docker-compose.general.yml
Please running the database by 3rd-party SaaS provider to save your time, such as Cockroach Lab.
- Add hursky to automatically execute lint, prettier command.
- Build shared eslint file for multiple services.
- Typeorm migrations mechanism
- Pull out the shared packages for services ex: Entity type, helpers ......etc
- CI/CD auto deployment
- Implement ECS deployment via Terraform
- Client site via NextJS
- Admin portal via NextJS or headless CMS