https://github.com/rocky-jaiswal/todo-pro-serverless
AWS Serverless full-stack web application
https://github.com/rocky-jaiswal/todo-pro-serverless
dynamodb lambda-functions reactjs trpc
Last synced: 4 months ago
JSON representation
AWS Serverless full-stack web application
- Host: GitHub
- URL: https://github.com/rocky-jaiswal/todo-pro-serverless
- Owner: rocky-jaiswal
- Created: 2025-06-05T14:50:41.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-06-21T07:01:31.000Z (5 months ago)
- Last Synced: 2025-06-21T08:18:25.278Z (5 months ago)
- Topics: dynamodb, lambda-functions, reactjs, trpc
- Language: TypeScript
- Homepage: https://yetanotherapp.xyz/
- Size: 479 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ToDo Pro Serverless
Serverless cousin of [ToDo Pro](https://github.com/rocky-jaiswal/todo-pro). Uses AWS CloudFront, Lambda, DynamoDB etc.
- `ops` directory contains the Terraform setup code. See README inside that.
- `apps/todo-pro-trpc-server` contains the TRPC code.
- `apps/todo-pro-web` contains the React web application code.
- You can develop locally by running DynamoDB locally and running the npm projects individually
- Use `docker-compose`
- Similarly, run integration tests (on local DynamoDB) with `docker-compose run server npm run test`
# Notes
- Setup is self explanatory - run Terraform / OpenTofu to provision the infrastructure
- Deploy the TRPC server as an AWS Lambda Function via HTTP API Gateway
- Deploy the web application on AWS CloudFront CDN
# Technology Stack
- Node.js
- Terraform / OpenTofu
- Vite, React.js with Zustand and TanStack (Route & Query) for web application
- AWS CloudFront CDN for web application hosting
- DynamoDB for persistence
- TRPC for API management
- AWS Lambda + API Gateway for hosting the API
- KMS & Secrets Manager for storing secrets
- NPM workspaces for code management
- Docker for building artifacts
- Python for minor scripting tasks
- Use as base for any web application