{"repo":"mfkimbell/aws-saas-webapp-template","free":true,"listed":false,"github":"https://github.com/mfkimbell/aws-saas-webapp-template","clone":"git clone https://github.com/mfkimbell/aws-saas-webapp-template.git","description":"AWS SaaS DevOps Webapp Template: Fully automated DevOps template for deploying a SaaS web application on AWS using Terraform, GitHub Actions, and ECS. It includes a Next.js frontend and a FastAPI backend with PostgreSQL (RDS), featuring a JWT-based authen","language":"TypeScript","stars":31,"topics":["decorator-pattern","docker","ecs","fastapi","hashicorp-cloud","nexjs","postgresql","react","redux","repository-pattern"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"AWS SaaS DevOps Webapp Template with Auth v1 Overview This is a template for a SaaS application with authentication. The frontend is built with Next.js and Tailwind CSS. The backend is built with FastAPI and SQLAlchemy. This template allows for a user to sign up, sign in, and sign out. It comes with a prebuilt user store made in redux, which persists across refreshes. All of the session logic is handled in the backend. This template focuses on a credit system where users can purchase credits to use the application, with the ability to make an API key to use the application without the frontend. Though this can be easily modified to use a subscription model, by forcing the requires credit function to not decrement the user's credit balance, to act as a subscription. This template allows the user to use GitHub Actions to trigger Terraform to deploy their containers to AWS ECS, ensuring fault tolerance, high availability, and seamless scalability for authentication in the cloud. Architechture Demo Local Development Steps 1. Change Dockerfile.frontend to end with To enable hot reloading 2. Setup enviornment variables ./env ./frontend/env 3. Run make build up to build and start the containers 4. Visit http://localhost:3000 to view the frontend Production Deployment steps 1. You need to go to app.terraform.io and setup an Organization and a Workspace Go to the Variables Tab set the following Workspace Variables : Key Value Category Actions ----------------------- ------------------","default_branch":null,"files":null,"tree":[],"storefront":"/r/mfkimbell","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mfkimbell/aws-saas-webapp-template/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}