An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          

# ๐Ÿฑ Smart Meals Platform

![Node.js](https://img.shields.io/badge/Node.js-20.x-green?logo=node.js)
![AWS](https://img.shields.io/badge/AWS-Lambda%2C%20DynamoDB%2C%20S3-orange?logo=amazon-aws)
![AWS SDK](https://img.shields.io/badge/AWS%20SDK-v3-orange?logo=amazon-aws)
![React](https://img.shields.io/badge/React-18-blue?logo=react)
![Vitest](https://img.shields.io/badge/Tested%20with-Vitest-8A2BE2?logo=vitest)
![License](https://img.shields.io/badge/License-MIT-lightgrey)

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

![System Diagram](./services/docs/architecture.PNG)

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

![Services unit tests](./docs/services-unit-tests.PNG)

![React unit tests](./docs/react-unit-tests.PNG)

## ๐Ÿ“š Motivation

> This project is a deep dive into:
>
> - Event-driven architecture
> - AWS serverless design patterns
> - Real-world system design for interviews

All code is open-sourced and maintained here on GitHub.

## ๐Ÿš€ License

MIT License ยฉ 2025 VG โ€” open to contributions, if you find it useful.