/letsgo

Starter Kit for Starting Startups

Primary LanguageTypeScriptMIT LicenseMIT

Check Markdown Links

LetsGo - A Starter Kit for Starting Startups

New SaaS businesses cut corners that are hard to fix later. LetsGo gives you a foundation to prevent this.

This project provides you with the architecture and the tooling that will put your startup on a solid foundation from day one. It helps you save months of work leading to the launch while allowing you to focus on the essence of your product. The day you let the first customer in, you have no technical debt. As you grow, you can continue focusing your resources on what matters most: your customers and your product.

LetsGo Architecture

LetsGo does it by providing a prescriptive architecture implemented with a modern set of technologies and robust operational tooling for managing your app in AWS. On day one you get more than most startups build in the first two years:

  • An application architecture with a web, HTTP API, worker, and database components, all wired up and ready to go.
  • A devops CLI that helps you set up CI/CD and manage several deployments of your app in AWS to help you segregate your production and development workloads or to support dedicated deployments for your customers.
  • Integration with Auth0 to authenticate your users and protect your APIs.
  • Integration with Stripe to automate your billing and subscription lifecycle management.
  • Integration with Slack to keep current with new customers signing up and subscriptions being paid.
  • A flexible tenancy and user model with membership management and invitation flow.
  • A set of modern yet robust technologies including Next.js, Node.js, and Typescript that make your days exciting and the nights boring.
  • LetsGo is OSS under MIT, so there is no vendor lock-in and you can always see what makes it tick.

Getting started

Learn more about the architecture, technology choices, and principles or jump right into your first deployment to AWS tutorial.

If you run into a problem or have a question, file an issue

Let's go!

Documentation

Overview

Why LetsGo?

Tutorials

First deployment to AWS
Building and running locally
Re-deploying to AWS
Setting up authentication with Auth0
Setting up payments with Stripe
Configuring a custom domain

How-Tos

How to use LetsGo?
Run locally
Run tests
Develop the frontend
Develop the API
Develop the worker
Enqueue asynchronous work
Schedule asynchronous work
Access data in the database from code
Process the contact form
Manage configuration
Manage multiple deployments
Manage trust and authentication
Get deployment status
Manage the pricing model and Stripe integration
Send notifications to Slack
Manage scalability
Remove deployments

Background Concepts

Architecture and technology choices
Tenants and users
Data model
Authentication, authorization, and trust
DevOps and dedicated deployments

Reference

LetsGo CLI (yarn ops)
System database categories
@letsgo/constants
@letsgo/db
@letsgo/pricing
@letsgo/queue
@letsgo/slack
@letsgo/stripe
@letsgo/tenant
@letsgo/trust
@letsgo/types