Back to Projects
Open Source
| TypeScript | university

NomNomNow

Serverless food delivery backend architecture using AWS Lambda, DynamoDB, API Gateway, Cognito, and real-time order workflow patterns.

Role
Cloud Architecture Developer
Period
2025
Signal
University project
Why it matters

Designed a complete cloud-backed ordering system with serverless deployment and API architecture.

NomNomNow is a serverless food delivery backend architecture built on AWS. This cloud computing project demonstrates modern serverless patterns for high-scale, cost-effective web applications.

The system handles restaurant management, order processing, and real-time delivery tracking without any server management. Lambda functions scale automatically from zero to thousands of concurrent executions.

Tech Stack

AWS Lambda DynamoDB TypeScript API Gateway Cognito CloudFormation

Key Features

  • RESTful API for all food ordering operations
  • Restaurant and menu management system
  • Order processing with status tracking
  • User authentication and session management
  • Real-time order updates via WebSocket
  • Cost-optimized serverless architecture
  • Infrastructure as Code with CloudFormation

Technical Highlights

  • AWS Lambda functions with TypeScript
  • DynamoDB single-table design pattern
  • API Gateway with request validation
  • Cognito for user authentication
  • Step Functions for order workflow orchestration
  • CloudWatch for monitoring and alerting

Architecture

API Layer

  • API Gateway REST endpoints
  • Lambda authorizers for JWT validation
  • Request/response schema validation
  • CORS configuration for web clients

Data Layer

  • DynamoDB with GSI for query flexibility
  • Single-table design for efficient access patterns
  • TTL for automatic order history cleanup
  • DynamoDB Streams for real-time updates

Challenges & Solutions

1

Designing efficient DynamoDB access patterns

2

Managing cold starts for optimal user experience

3

Implementing idempotent order processing

4

Cost optimization while maintaining performance