GithubHelp home page GithubHelp logo

serverless-fullstack-example-app's Introduction

[WIP] Serverless Fullstack Template

Kickstart development of a fullstack serverless app with a cloud first development workflow.


forthebadge forthebadge

This example will demonstrate how too

  • Completely setup all your infrastructure Infrastructure As Code
  • Only use pay per use resources so we can deploy to many stages without breaking the bank
  • Follow best practices like no hard coded magic strings, 1 IAM role per function, and Modular yml files

Why This Exists

Most examples of how to use the serverless framework to build a fullstack web application trade ease of initial understanding for long term maintainability and development velocity. This helps more people get started building serverless applications but when concerns like testing, developing and deploying iterable chunks of an application quickly and reliably start to arise generally we have to figure out how to solve those challenges ourselves.

This template is a reference mostly for myself on how to configure some of the more gnarly resources like cognito and cloudformation, and get them working together correctly with a stage based deployment strategy.

Features

  • Stage based ephemaral deploys to .domain (when stage is production it deploys to domain)
  • localhost development against cloud resources for --stage local
  • Distributed edge caching (Built to scale)
  • User management using cognito
  • SPA built with React and Tailwind
  • CRUD lambda examples
  • Continuius deployment to dev. with simple promote to production powered by seed.run

Upcoming features

  • OriginAccessIdentity for s3 website
  • Observability
  • Full test coverage (unit - e2e - post deploy canaries for production)
  • A/B testing and feature flagging

Getting Started

This application deploys to many different stages. I recomend you get it working on localhost first before trying out the production deploys.

Local Setup

Fork this repo and clone it.

Install the dependencies by running npm install

Deploy the resources required for local development. See the yml files at infrastructure/authentication and infrastructure/database

serverless deploy --stage local

Once that command is complete you can run npm start

This should start up the create react app dev server at port 3000 and the serverless offline server at port 4000. It uses the built in http api jwt authorizer support and the create react app web proxy functionality to forward requests to the local http api port.

Dev Setup

This stage is completely managed by seed.run

Scripts Reference

Development Workflow

Debugging

Infrastructure

Contributing

serverless-fullstack-example-app's People

Contributors

ankcorn avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

stefanolaru

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.