{"id":47625687,"url":"https://github.com/aws-samples/serverless-full-stack-webapp-starter-kit","last_synced_at":"2026-04-01T22:47:09.715Z","repository":{"id":44758013,"uuid":"501846533","full_name":"aws-samples/serverless-full-stack-webapp-starter-kit","owner":"aws-samples","description":"Full stack webapp kit to leverage the power of serverless!","archived":false,"fork":false,"pushed_at":"2026-03-26T09:07:14.000Z","size":3188,"stargazers_count":217,"open_issues_count":13,"forks_count":39,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-03-26T10:51:33.095Z","etag":null,"topics":["aws-cdk","aws-lambda","nextjs","nodejs","react","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit-0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aws-samples.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-06-10T00:14:12.000Z","updated_at":"2026-03-26T02:49:52.000Z","dependencies_parsed_at":"2024-03-18T02:46:07.921Z","dependency_job_id":"6ead0b7e-c07d-4272-912f-bf9f57bc469d","html_url":"https://github.com/aws-samples/serverless-full-stack-webapp-starter-kit","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":"amazon-archives/__template_MIT-0","purl":"pkg:github/aws-samples/serverless-full-stack-webapp-starter-kit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-samples%2Fserverless-full-stack-webapp-starter-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-samples%2Fserverless-full-stack-webapp-starter-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-samples%2Fserverless-full-stack-webapp-starter-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-samples%2Fserverless-full-stack-webapp-starter-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aws-samples","download_url":"https://codeload.github.com/aws-samples/serverless-full-stack-webapp-starter-kit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-samples%2Fserverless-full-stack-webapp-starter-kit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31292696,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-cdk","aws-lambda","nextjs","nodejs","react","typescript"],"created_at":"2026-04-01T22:47:07.552Z","updated_at":"2026-04-01T22:47:09.677Z","avatar_url":"https://github.com/aws-samples.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Serverless Full Stack WebApp Starter Kit\n[![Build](https://github.com/aws-samples/serverless-full-stack-webapp-starter-kit/actions/workflows/build.yml/badge.svg)](https://github.com/aws-samples/serverless-full-stack-webapp-starter-kit/actions/workflows/build.yml)\n[![Release](https://img.shields.io/github/v/release/aws-samples/serverless-full-stack-webapp-starter-kit)](https://github.com/aws-samples/serverless-full-stack-webapp-starter-kit/releases)\n\nA serverless full-stack web app template you **copy and grow into your own app**. Not a framework — you own every file.\n\nCopy, deploy with a single command, then replace the sample todo app with your own features.\n\n## What you get\n\n1. **Working sample app** — A todo app with authentication, DB CRUD, async jobs, and real-time notifications wired end-to-end. Designed as a readable reference for AI coding agents and humans alike.\n2. **End-to-end type safety** — Types flow from Prisma ORM through Zod schemas and Server Actions to React components in a single chain.\n3. **Serverless from day one** — Fully serverless architecture starting under $10/month that scales without operational overhead.\n4. **Integrated DB migration** — Schema migration is integrated into the CDK deploy process via CDK Trigger, providing a development-to-production path out of the box.\n\nYou can refer to [the blog article](https://tmokmss.github.io/blog/posts/serverless-fullstack-webapp-architecture-2025/) for more details (also [Japanese version](https://tmokmss.hatenablog.com/entry/serverless-fullstack-webapp-architecture-2025)).\n\n## Sample app\n\nThe kit includes a simple todo app to demonstrate how all components work together.\n\n\u003cimg align=\"left\" width=\"300\" src=\"./.serverless-full-stack-webapp-starter-kit/docs/imgs/signin.png\"\u003e\nSign in/up page redirects to Cognito Managed Login.\n\u003cbr clear=\"left\"/\u003e\n\n\u0026nbsp;\n\n\u003cimg align=\"left\" width=\"300\" src=\"./.serverless-full-stack-webapp-starter-kit/docs/imgs/top.png\"\u003e\nAfter login, you can add, delete, and manage your todo items. The translate button triggers an async job and pushes a real-time notification to refresh the page.\n\u003cbr clear=\"left\"/\u003e\n\n## Architecture\n\n![architecture](./.serverless-full-stack-webapp-starter-kit/docs/imgs/architecture.png)\n\n| Service | Role |\n|---------|------|\n| [Aurora PostgreSQL Serverless v2](https://aws.amazon.com/rds/aurora/serverless/) | Relational database with Prisma ORM |\n| [Next.js App Router](https://nextjs.org/docs/app) on [Lambda](https://aws.amazon.com/lambda/) | Unified frontend and backend |\n| [CloudFront](https://aws.amazon.com/cloudfront/) + Lambda Function URL | Content delivery with response streaming |\n| [Cognito](https://aws.amazon.com/cognito/) | Authentication (email by default, OIDC federation supported) |\n| [AppSync Events](https://docs.aws.amazon.com/appsync/latest/eventapi/event-api-welcome.html) + Lambda | Async jobs and real-time notifications |\n| [EventBridge](https://aws.amazon.com/eventbridge/) | Scheduled jobs |\n| [CloudWatch](https://aws.amazon.com/cloudwatch/) + S3 | Access logging |\n| [CDK](https://aws.amazon.com/cdk/) | Infrastructure as Code |\n\nFully serverless — high cost efficiency, scalability, and minimal operational overhead.\n\n## Getting started\n\nPrerequisites:\n* [Node.js](https://nodejs.org/) (\u003e= v20)\n* [Docker](https://docs.docker.com/get-docker/)\n* [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) with a configured IAM profile\n\n### 1. Copy the kit\n\nUse the GitHub template (\"Use this template\" button) or clone and copy:\n\n```sh\ngit clone https://github.com/aws-samples/serverless-full-stack-webapp-starter-kit.git my-app\ncd my-app\nrm -rf .git \u0026\u0026 git init\n# Record the kit version in your initial commit for future reference\ngit add -A \u0026\u0026 git commit -m \"Initial commit from serverless-full-stack-webapp-starter-kit vX.Y.Z\"\n```\n\n### 2. Customize (optional)\n\n- Update the application name (stack name, tags) in [`cdk/bin/cdk.ts`](cdk/bin/cdk.ts)\n- Set a custom domain in `cdk/bin/cdk.ts`\n- Remove `cdk.context.json` from `cdk/.gitignore` and commit it (recommended for your own project)\n- Switch from `prisma db push` to `prisma migrate` if you need migration history\n\n### 3. Deploy\n\n```sh\ncd cdk\nnpm ci\nnpx cdk bootstrap\nnpx cdk deploy --all\n```\n\nInitial deployment takes about 20 minutes. After success, you'll see:\n\n```\n ✅  ServerlessWebappStarterKitStack\n\nOutputs:\nServerlessWebappStarterKitStack.FrontendDomainName = https://web.example.com\nServerlessWebappStarterKitStack.DatabaseSecretsCommand = aws secretsmanager get-secret-value ...\nServerlessWebappStarterKitStack.DatabasePortForwardCommand = aws ssm start-session ...\n```\n\nOpen the `FrontendDomainName` URL to try the sample app.\n\n\u003e **Note:** `DatabasePortForwardCommand` establishes a local connection to your RDS database, and `DatabaseSecretsCommand` retrieves database credentials from Secrets Manager.\n\n### 4. Add your own features\n\nSee [`AGENTS.md`](./AGENTS.md) for development guide — local development setup, authentication patterns, async job setup, DB migration, and coding conventions.\n\nTo add social sign-in (Google, Facebook, etc.), see [Add social sign-in to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-configuring-federation-with-social-idp.html).\n\n## Maintenance policy\n\nThis kit follows [Semantic Versioning](https://semver.org/). Since users copy (not fork) this kit, breaking changes are introduced as new major versions without a lengthy deprecation cycle.\n\n## Cost\n\nSample cost breakdown for us-east-1, one month, with cost-optimized configuration:\n\n| Service | Usage Details | Monthly Cost [USD] |\n|---------|--------------|-------------------|\n| Aurora Serverless v2 | 0.5 ACU × 2 hour/day, 1GB storage | 3.6 |\n| Cognito | 100 MAU | 1.5 |\n| AppSync Events | 100 events/month, 10 hours connection/user/month | 0.02 |\n| Lambda | 1024MB × 200ms/request | 0.15 |\n| Lambda@Edge | 128MB × 50ms/request | 0.09 |\n| VPC | NAT Instance (t4g.nano) × 1 | 3.02 |\n| EventBridge | Scheduler 100 jobs/month | 0.0001 |\n| CloudFront | Data transfer 1kB/request | 0.01 |\n| **Total** | | **8.49** |\n\nAssumes 100 users/month, 1000 requests/user. Costs could be further reduced with [Free Tier](https://aws.amazon.com/free/).\n\n## Clean up\n\n```sh\ncd cdk\nnpx cdk destroy --force\n```\n\n## Maintainers\n* [Kenji Kono (konokenj)](https://github.com/konokenj)\n\n### Core contributors\n* [Masashi Tomooka (tmokmss)](https://github.com/tmokmss) — original author\n* [Kazuho Cryer-Shinozuka (badmintoncryer)](https://github.com/badmintoncryer)\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\nContributors (human and AI) **must** read [`.serverless-full-stack-webapp-starter-kit/design/DESIGN_PRINCIPLES.md`](./.serverless-full-stack-webapp-starter-kit/design/DESIGN_PRINCIPLES.md) before making changes. It defines the design decisions and constraints that govern this kit.\n\n## Security\nSee [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.\n\n## License\nThis library is licensed under the MIT-0 License. See the LICENSE file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws-samples%2Fserverless-full-stack-webapp-starter-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faws-samples%2Fserverless-full-stack-webapp-starter-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws-samples%2Fserverless-full-stack-webapp-starter-kit/lists"}