Adding Features

Frontend (Next.js)

Add a New Page

  1. Create frontend/app/my-feature/page.tsx:
export default function MyFeaturePage() { return <div>My new feature!</div>; }
  1. Add to navigation in your layout/header component

Add API Routes

Create frontend/app/api/my-endpoint/route.ts:

export async function GET() { return Response.json({ message: "Hello!" }); }

Backend (AWS Lambda)

Add New Lambda Function

  1. Create backend/lambdas/myFunction.js
  2. Add to backend/cdk-stack.ts:
const myLambda = new lambda.Function(this, "MyLambda", { runtime: lambda.Runtime.NODEJS_20_X, handler: "myFunction.handler", code: lambda.Code.fromAsset(path.join(__dirname, "lambdas")), });
  1. Add API Gateway route and deploy: npm run deploy:dev or npm run deploy:prod

Database (DynamoDB)

FastAWS uses single-table design. Add new data types using the pattern:

// User data pk: "USER#user-id" sk: "MY_DATA_TYPE"

Access via the existing Lambda functions or create new ones.

Learn More:

Next: AWS Amplifyin Deployment