https://github.com/venkat-gorla/smartmeal-serverless
SmartMeal โ A meal-sharing platform featuring image uploads, real-time voting, and notifications. Built with Node.js microservices on AWS using event-driven architecture (SNS, EventBridge, DynamoDB), and deployed with fully managed serverless infrastructure.
https://github.com/venkat-gorla/smartmeal-serverless
aws aws-cognito aws-dynamodb aws-eventbridge aws-lambda aws-opensearch aws-s3 cqrs-pattern event-driven-architecture
Last synced: about 2 months ago
JSON representation
SmartMeal โ A meal-sharing platform featuring image uploads, real-time voting, and notifications. Built with Node.js microservices on AWS using event-driven architecture (SNS, EventBridge, DynamoDB), and deployed with fully managed serverless infrastructure.
- Host: GitHub
- URL: https://github.com/venkat-gorla/smartmeal-serverless
- Owner: Venkat-Gorla
- License: mit
- Created: 2025-04-30T10:43:18.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-07-06T10:18:52.000Z (3 months ago)
- Last Synced: 2025-07-13T23:19:00.890Z (3 months ago)
- Topics: aws, aws-cognito, aws-dynamodb, aws-eventbridge, aws-lambda, aws-opensearch, aws-s3, cqrs-pattern, event-driven-architecture
- Language: JavaScript
- Homepage: https://smartmeal-preview.netlify.app/
- Size: 4.13 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ฑ Smart Meals Platform





A personal project to design and prototype a full-stack meals application โ built for learning, and future extensibility.
**SmartMeal** โ A meal-sharing platform featuring image uploads, real-time voting, and notifications. Built with Node.js microservices on AWS using event-driven architecture (SNS, EventBridge, DynamoDB), and deployed with fully managed serverless infrastructure.
## ๐ Table of Contents
- [Architecture](#-architecture)
- [๐ฏ Highlights](#-highlights)
- [โ MVP Scope](#-mvp-scope)
- [๐ง Not Yet Implemented (Planned Work)](#-not-yet-implemented-planned-work)
- [๐ป Frontend Preview](#-frontend-preview)
- [๐ Services Overview](#-services-overview)
- [๐งช Testing](#-testing)
- [๐งฑ Unit Tests in Action](#-unit-tests-in-action)
- [๐ Motivation](#-motivation)
- [๐ License](#-license)## ๐ Architecture

This project follows a **CQRS architecture** and leverages:
- ๐ฆ Microservices (Node.js + Lambda)
- ๐ฉ AWS-native services: S3, DynamoDB, EventBridge, SNS, Cognito, OpenSearch, API Gateway
- ๐จ Event-driven communication for **loose coupling** (pub-sub pattern)
- ๐ Separation of write and read planes (Command-Query Responsibility Segregation)> The full proposed design is represented in the system diagram.
> Not everything is implemented for the MVP.## ๐ฏ Highlights
- โ๏ธ Node.js + AWS Lambda
- ๐ React-based frontend (standalone, no backend wiring yet)
- ๐ฌ API Gateway secured with **Amazon Cognito**
- ๐ EventBridge & DynamoDB Streams used for inter-service events
- ๐ง Designed for learning and growth## โ MVP Scope
The following are fully implemented and tested:
- All backend services
- End-to-end infrastructure for write and read planes
- Event-driven communication across services### ๐ง Not Yet Implemented (Planned Work)
- **Upload & Authentication Integration** (Cognito token validation โ API Gateway)
- **Like Meal Flow** (API โ DynamoDB โ deduplication โ EventBridge)## ๐ป Frontend Preview
- **Live Preview**: [Try it!](https://smartmeal-preview.netlify.app/)
- **Source**: [`/react-client`](./react-client/)## ๐ Services Overview
Each service is documented with its own detailed README:
- [`/auth`](./services/auth)
- [`/upload`](./services/upload-meal)
- [`/dynamodb`](./services/get-meals/events)
- [`/indexer-opensearch`](./services/get-meals/elastic-search)## ๐งช Testing
โ Rigorous test coverage across all services and frontend:
- **Unit Testing**: [Vitest](https://vitest.dev/) for logic
- **UI Testing**: [React Testing Library](https://testing-library.com/docs/react-testing-library/intro/)
- **Integration & Contract Tests**### ๐งฑ Unit Tests in Action


## ๐ Motivation
> This project is a deep dive into:
>
> - Event-driven architecture
> - AWS serverless design patterns
> - Real-world system design for interviewsAll code is open-sourced and maintained here on GitHub.
## ๐ License
MIT License ยฉ 2025 VG โ open to contributions, if you find it useful.