This project demonstrates how to build a fully serverless event registration system using AWS services without relying on EC2 instances. It highlights the benefits of serverless design — scalability, cost efficiency, and reduced infrastructure overhead.
- Amazon S3 → Host the frontend (static HTML form).
- Amazon API Gateway → Connect frontend with backend securely.
- AWS Lambda → Handle validation and business logic.
- Amazon DynamoDB → Store registration details.
- Amazon SNS → Send confirmation notifications via email.
- Amazon CloudWatch → Debugging and log monitoring.
- AWS IAM → Manage secure permissions between services.
- User opens the registration form hosted on S3.
- On form submission → request sent to API Gateway (POST method).
- API Gateway triggers Lambda function.
- Lambda validates input (ensures no empty fields).
- Valid data is stored in DynamoDB (Partition Key:
eventID). - Lambda publishes a success notification to SNS.
- User receives an email confirmation.
👤 User → 🪣 S3 (Frontend Hosting) → 🔗 API Gateway → λ Lambda
→ 📊 DynamoDB (DB Storage)
→ ✉️ SNS (Email Notification)
→ 📈 CloudWatch (Logs & Debugging)
| Attribute | Type | Description |
|---|---|---|
| eventID | String | Partition Key (Unique ID) |
| customername | String | Name of registrant |
| customerage | Number | Age of registrant |
| customermail | String | Email of registrant |
| eventname | String | Event name selected |
- Create a role with Lambda as Use Case.
- Attach AmazonDynamoDBFullAccess policy.
- Attach AmazonSNSFullAccess policy.
- Validates that no field is empty.
- Writes data into DynamoDB.
- Publishes confirmation email using SNS.
-
DynamoDB → Create table
EventRegistrationwitheventIDas Partition Key. -
IAM → Create role for Lambda with DynamoDB + SNS permissions.
-
Lambda → Write and deploy function with created role.
-
SNS → Create topic
FormSubmissionTopicand subscribe an email. -
API Gateway → Create REST API → resource
/register→ methodPOST.- Enable Lambda Proxy Integration.
- Deploy API and get endpoint URL.
-
S3 → Upload frontend HTML/JS → enable static website hosting.
- Update form action URL with API Gateway endpoint.
-
CloudWatch → Monitor logs and debug issues.
-
Issue: Form submission worked in Lambda test console but failed via S3 frontend with error:
"statusCode": 405, "body": "{\"error\": \"Method not allowed\"}" -
Root Cause: API Gateway method wasn’t configured with Lambda Proxy Integration.
-
Fix: Enabled Proxy Integration → request passed correctly → system worked end-to-end ✅.
Architectural Diagram
Project Flow
Event Registration Form
DynamoDB Table
CloudWatch Logs
SNS Service
- Serverless saves resources compared to EC2 hosting.
- Debugging with CloudWatch is essential when API calls silently fail.
- Proper API Gateway + Lambda integration is key for smooth workflows.





