Giter Club home page Giter Club logo

sst's Introduction

SST

Discord npm Build status


SST makes it easy to build full-stack serverless applications on AWS.

  • High-level components to simplify building APIs, databases, and frontends on AWS.
    • Avoid having to configure ten different AWS resources just to create a simple API.
  • Set breakpoints in VS Code and debug Lambda functions locally in real-time.
    • You won't need to create mock request objects or deploy every time you make a change.
  • Admin dashboard to view logs, run queries, browse uploads, apply migrations, and more.
    • Way better than clicking through a dozen different services in the AWS console.
  • Full-stack starters with all the best practices, designed like monoliths.
    • Don't spend days organizing your functions or getting secrets, testing, etc., to work.

Learn more: What is SST | Live Lambda | SST Console | FAQ

Try it out

# Create a new SST app
npx create-sst@latest my-sst-app
cd my-sst-app
npm i

# Start Live Lambda Dev
npx sst start

# Open the SST Console
open console.sst.dev

# Deploy to prod
npx sst deploy --stage prod

Get started

  • Quick start: Take a quick tour of SST and deploy your first full-stack app. Takes minutes.

  • Tutorial: A tutorial on how to add a new feature to your SST app. Takes an hour.

  • Guide: Learn to build a full-stack serverless app from scratch with SST. Takes a day.

Why SST

Here's how SST makes it easy to build full-stack serverless apps.

AWS without all the complexity

SST provides simple abstractions called Constructs for common use cases like APIs, databases, static sites, etc. So you don't have to configure each of the underlying AWS services by hand.

For example, the following is an API with a custom domain that has permissions to upload files to S3.

const api = new Api(this, "Api", {
  customDomain: "api.domain.com",
  routes: {
    "GET /notes": "src/list.main",
  },
});

api.attachPermissions(["s3"]);

Internally, SST uses AWS CDK to compile this code, configure nearly a dozen AWS services, and create the necessary security policies.

And don't worry, SST has an easy way to extend constructs, and even has an escape hatch for when you need something custom.

Local development with live reload

The sst start command starts a local development environment that lets you set breakpoints and test your functions locally. You don't need to mock any resources or wait for the changes to redeploy.

sst start

  • Supports real Lambda environment variables and Lambda IAM permissions.
  • Supports all Lambda triggers, so there's no need to mock API Gateway, SQS, SNS, etc.
  • Is 50-100x faster than the alternatives and changes are reloaded in a few ms.

The instant feedback means that working on a serverless application is no different from working on a traditional application.

Admin dashboard

The SST Console is a web based dashboard to manage your SST apps. So you don't have to click through a dozen different services in the AWS console.

sst console

Here's just a couple of things you can do with the Console:

  • Invoke functions and replay them
  • Query your databases and run migrations
  • Upload and delete files from your buckets

The SST Console automatically connects to your local environment when you run sst start.

Organized like monoliths

The full-stack starters that come with SST are organized like singular monolith apps in a monorepo. They are designed to manage growing serverless projects.

my-sst-app
โ”œโ”€ sst.json
โ”œโ”€ services
โ”‚ย ย โ”œโ”€ core
โ”‚ย ย โ”œโ”€ functions
โ”‚ย ย โ”‚  โ””โ”€ graphql
โ”‚ย ย โ””โ”€ migrations
โ”œโ”€ graphql
โ”œโ”€ stacks
โ””โ”€ web

The backend, frontend, and infrastructure code are kept together as packages in the monorepo. Types, environment variables, secrets, and config are also shared across the application.

And more

You can also use Seed to git push to deploy your SST apps. It natively supports concurrent asynchronous deployments for your SST apps. And SST deployments on Seed are free!

Seed is built by the team behind SST.


Join our community Discord | YouTube | Twitter | Contribute

sst's People

Contributors

abirtley avatar aisflat439 avatar amodinho avatar ctrlplusb avatar erikm-icario avatar estyrke avatar fwang avatar geekmidas avatar github-actions[bot] avatar idvb avatar jayair avatar jbrown avatar jfix avatar jfreyheit avatar junaway avatar manitej66 avatar mattkinnersley avatar mgranell avatar mmccall10 avatar omichowdhury avatar patrick-icario avatar phausken avatar philipliberato avatar rcoundon avatar revmischa avatar richicoder1 avatar saltedpotatos avatar seththomas avatar thdxr avatar tylerflint avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.