- node
- pnpm
- turbo
- Docker and Docker Compose
- Kubernetes (optional, for K8s deployment)
-
apps/ - Microservice applications
- admin-frontend - Admin dashboard UI
- auth - Authentication service
- chatbot-backend - Chatbot service
- customer-frontend - Customer UI
- driver - Driver service
- driver-frontend - Driver UI
- invoice - Invoice management service
- notification - Notification service
- order - Order management service
- temporal - Temporal workflow service
- web - Web service
-
custom-dns/ - DNS configuration for local development
- Scripts to add entries for admin.esd.local, customer.esd.local, driver.esd.local, etc.
-
kubernetes/ - Kubernetes deployment configuration
- backend - Configurations for backend services
- frontend - Configurations for frontend applications
- database - Database configurations
- temporal - Temporal service configurations
-
temporal/ - Temporal workflow definitions
- activities - Workflow activities
- workflows - Workflow definitions
- common - Shared utilities
pnpm install- Running the development server (with module hot reloading)
pnpm run dev- Running with docker
docker compose up -dFor local development with domain names, use the scripts in the custom-dns directory:
cd custom-dns
chmod +x add_dns_unix.sh
sudo ./add_dns_unix.shRun as Administrator:
cd custom-dns
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
.\add_dns_windows.ps1The project includes a helper script k8s.sh for managing Kubernetes deployments:
-
Create a
.env.k8sfile based on.env.k8s.examplein the kubernetes directory -
Building images:
./k8s.sh build- Install required Kubernetes components:
./k8s.sh install- Deploy components:
# Deploy databases
./k8s.sh up db
# Deploy Temporal
./k8s.sh up temporal
# Deploy application services
./k8s.sh up app
# Deploy ingress configuration
./k8s.sh up ingress
# Deploy nginx
./k8s.sh up nginx- Tear down components:
./k8s.sh down app
./k8s.sh down db
./k8s.sh down ingress
./k8s.sh down nginx
./k8s.sh down temporal- Uninstall Kubernetes components:
./k8s.sh uninstallturbo gen- Install LocalStack https://www.localstack.cloud/
- Modify AWS Config and AWS Credentials
- Add LocalStack credentials to
~/.aws/credentials
[localstack]
aws_access_key_id=anything
aws_secret_access_key=anything- Add LocalStack config to
~/.aws/config
[profile localstack]
output = json
endpoint_url = http://localhost:4566
region = ap-south-1- Run docker command
./docker-compose.sh up localstack- Fork the repo
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request