Local Setup
Local development targets the event-driven-serverless-platform-demo monorepo. Terraform
HashiCorp Terraform — provisions all platform infrastructure through five modules in `terraform/`. provisions AWS
Amazon Web Services — cloud platform for ingest, processing, storage, API, and portal hosting in this walkthrough. resources; services and the portal can be developed and tested locally.
Clone the demo repo
Section titled “Clone the demo repo”git clone https://github.com/jajera/event-driven-serverless-platform-demo.gitcd event-driven-serverless-platform-demoConfirm Tools and Accounts are installed.
Lambda services
Section titled “Lambda services”Python 3.14 services live under services/:
| Service | Path | Runtime |
|---|---|---|
| Ingest-sync | services/ingest-sync/ | Python 3.14 zip Lambda |
| Query API | services/query-api/ | Python 3.14 zip Lambda |
| Reprocess API | services/reprocess-api/ | Python 3.14 zip Lambda |
| Processor | Container image (external) | Python 3.13 in |
Run service unit tests
Section titled “Run service unit tests”Each service includes tests under tests/:
cd services/ingest-sync && python3 -m pytestcd services/query-api && python3 -m pytestcd services/reprocess-api && python3 -m pytestRebuild Lambda packages
Section titled “Rebuild Lambda packages”Terraform packages zip Lambdas during apply. To rebuild manually:
./scripts/build-lambda-packages.shPortal (web/)
Section titled “Portal (web/)”cd webnpm installnpm testnpm run buildBuild output lands in web/dist/.
Deploy UI changes to Amplify
Section titled “Deploy UI changes to Amplify”After local changes, ship to the hosted portal:
export WEB_SOURCE_DIR="$(pwd)/web"export AMPLIFY_APP_ID="$(terraform -chdir=terraform output -raw amplify_app_id)"export VITE_API_URL="$(terraform -chdir=terraform output -raw api_url)"./scripts/deploy-amplify.shRequires a prior Terraform apply with the presentation layer enabled.
Processor image development
Section titled “Processor image development”The processor
Processor Lambda container — runs PyTECGg calibration per SQS message; adopted when a Batch on Fargate parallel-execution quota increase was rejected. Image from `ghcr.io/platformfuzz/tec-processor-image` mirrored to ECR. runs as an external container image. This repo mirrors it to ECR
Amazon Elastic Container Registry — stores the mirrored processor Lambda container image at deploy time. — it does not maintain processor source code locally. To deploy a different tag:
./scripts/sync-processor-image.sh <tag>terraform -chdir=terraform apply -var="processor_image_tag=<tag>"Related pages
Section titled “Related pages”- Environment Variables — Lambda env var reference
- Amplify Portal