Provides a starter kit with the basics of a modern Software-as-a-Service (SaaS) software stack, including:
- RESTful API - using serverless technology
- SPAs (Single Page Applications) - for both:
- the external (pre-login), and
- internal (business guts) part of your SaaS app
- Authentication - handled by third parties, currently:
- GitHub
- Payment processing - subscription-based, handled by Stripe
The starter kit allows a user to sign in to your SaaS application using their preferred third-party identity provider. It uses Google and GitHub, but you could add others as needed.
There are no server-side redirects since this kit is built with a design of a SPA and RESTful API. A good explanation of the flow implemented in this kit can be found in Matthew Beale's excellent blog post.
Payment processing will be handled via Stripe.
The code is organized into a collection of small codebases (some would say microservices), each with its distinct responsibility:
- Public SPA - for the pre-login portion of your app
- Application SPA - the logged-in actual business portion of your app
- Authentication API - a serverless API that handles authentication for your app
- Business API - a serverless API that handles your actual business service
- Payments - a serverless API and related services for payment processing
The serverless microservices are built using the Serverless framework on top of AWS services, including AWS API Gateway.