Expressive Samwise

Expressive Samwise is a modern starter template that combines the power of AWS SAM (Serverless Application Model) with the simplicity and flexibility of Express.js.

While traditional Lambda functions can be fragmented and verbose, Express gives you a clean, centralized API layer — familiar to any Node.js developer. Meanwhile, SAM handles packaging, permissions, and integration with AWS services like API Gateway, letting you focus on building features instead of wiring infrastructure.

This template builds on the official SAM Express example but makes a few opinionated improvements: it updates dependencies, simplifies configuration, and removes infrastructure (like S3 buckets and roles) that should live in your own IaC environment.

It’s designed for teams who want to get started fast with a clean, production-ready foundation — without sacrificing control.

“I won’t leave you having to manage all those servers, Mr. Frodo.”

Resources

GET /api/users

Returns a list of all users.

curl https://stx.gridstack.io/api/users -H 'accept: application/json'

POST /api/users

Creates a new user.

curl https://stx.gridstack.io/api/users -X POST -d '{"name":"Sam"}' -H 'accept: application/json'

GET /api/users/:userId

Returns a single user.

curl https://stx.gridstack.io/api/users/1 -H 'accept: application/json'

PUT /api/users/:userId

Updates an existing user.

curl https://stx.gridstack.io/api/users/1 -X PUT -d '{"name":"Samantha"}' -H 'accept: application/json'

DELETE /api/users/:userId

Deletes an existing user.

curl https://stx.gridstack.io/api/users/1 -X DELETE -H 'accept: application/json'

Test the Form

Use this form to POST or PUT a user. Leave "user id" blank for POST, or fill it in for PUT.