Logo Lanfrica

Aliu2211/event-cloud

Domain:

digital infrastructure

Record type:

software
Creator:
Ali
Host:
A serverless REST API on AWS that replaces Microsoft Forms + Excel for event registration, built for the getINNOtized x Azubi Africa Capstone. # Event Registration and Ticketing System A serverless REST API on AWS that replaces Microsoft Forms + Excel for event registration — built for the getINNOtized x Azubi Africa Capstone. **Live frontends** (Vercel): - Public portal — public-portal-seven.vercel.… (runs on mock data; works standalone) - Organizer console — organizer-portal-five.verce… (needs a live API + Cognito to actually load data or sign in — see note below) **Live API**: torn down between work sessions to stay inside the Free Tier and avoid idle cost — see Running it yourself to redeploy. `terraform apply` reprovisions the whole backend in one command; `terraform destroy` tears it back down. ## The problem Manual event registration via forms and spreadsheets doesn't scale: no real-time capacity tracking, no automated confirmations, no audit trail, and no way to query registrations by event or by attendee without opening a spreadsheet. This system replaces that with a REST API backed by managed AWS services, so registration state, capacity, and confirmations are all handled automatically. ## Architecture GitHub push triggers GitHub Actions, which runs the test suite then `terraform apply`s the whole stack. API Gateway fronts 16 Lambda functions, each with its own least-privilege IAM role; they read/write DynamoDB, authenticate organizers via Cognito, publish registration confirmations and CloudWatch alerts via SNS, and store event images in S3. CloudWatch tracks logs and per-function error-rate alarms; AWS Budgets watches spend. Editable source: `architecture.drawio` (open at app.diagrams.net). Every function has its own IAM role scoped to only the table actions it actually performs (least privilege) — see `infrastructure/modules/lambda/main.tf`. ## Screenshots Live captures from the deployed frontends (not mockups) — the public portal is running its built-in mock-data fallback since no live API is configured on this deployment right now (see the "Live API" note up …