All Projects β†’ sk-t3ch β†’ AWS_Stripe-SaaS-quickstart

sk-t3ch / AWS_Stripe-SaaS-quickstart

Licence: other
πŸ›οΈ πŸš€ AWS Software as a Service App with subscriptions using Stripe Quickstart

Programming Languages

python
139335 projects - #7 most used programming language
Vue
7211 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to AWS Stripe-SaaS-quickstart

Api
πŸπŸ› οΈ SaaS backend & API framework based on @nestjs
Stars: ✭ 390 (+1200%)
Mutual labels:  stripe, saas
Invoice As A Service
πŸ’° Simple invoicing service (REST API): from JSON to PDF
Stars: ✭ 106 (+253.33%)
Mutual labels:  stripe, saas
Flasksaas
A great starting point to build your SaaS in Flask & Python, with Stripe subscription billing πŸš€
Stars: ✭ 412 (+1273.33%)
Mutual labels:  stripe, saas
Pinax Stripe
a payments Django app for Stripe
Stars: ✭ 650 (+2066.67%)
Mutual labels:  stripe, saas
pinax-stripe-light
a payments Django app for Stripe
Stars: ✭ 670 (+2133.33%)
Mutual labels:  stripe, saas
Djaodjin Saas
Django application for software-as-service and subscription businesses
Stars: ✭ 297 (+890%)
Mutual labels:  stripe, saas
Parabol
Free online agile retrospective meeting tool
Stars: ✭ 1,145 (+3716.67%)
Mutual labels:  stripe, saas
limestone-accounts
Boilerplate Rails 5.2 multitenant SaaS application with webpack and Docker integration. Billing is scoped to accounts.
Stars: ✭ 97 (+223.33%)
Mutual labels:  stripe, saas
subscribie
Collect recurring payments online - subscription payments collection automation
Stars: ✭ 36 (+20%)
Mutual labels:  stripe, saas
Limestone
Boilerplate Rails 6 SaaS application with Webpack, Stimulus and Docker integration.
Stars: ✭ 191 (+536.67%)
Mutual labels:  stripe, saas
Memberprism2
open source alternative to memberstack / memberspace , but with both front and backend member-only content protection
Stars: ✭ 171 (+470%)
Mutual labels:  stripe, saas
SAAS-Starter-Kit-Pro
πŸš€A boilerplate for building Software-as-Service (SAAS) apps with Reactjs, and Nodejs
Stars: ✭ 313 (+943.33%)
Mutual labels:  stripe, saas
cashier-register
Cashier Register is a simple quota feature usage tracker for Laravel Cashier subscriptions.
Stars: ✭ 93 (+210%)
Mutual labels:  stripe, saas
Flask-Stripe-MySQL-Bootstrapped
Flask template with microservices architecture. Fully integrated with Stripe πŸš€
Stars: ✭ 124 (+313.33%)
Mutual labels:  stripe, saas
stripe-scala
Scala library for the Stripe API
Stars: ✭ 33 (+10%)
Mutual labels:  stripe
async-stripe
Async (and blocking!) Rust bindings for the Stripe API
Stars: ✭ 71 (+136.67%)
Mutual labels:  stripe
timeoff-server
TimeOff is an application that allows companies' employees to set vacations before they begin taking their time off. Implemented in modern tech stack i.e. Node, Express, MongoDB.
Stars: ✭ 33 (+10%)
Mutual labels:  saas
aws-serverless-fullstack-swift-apple-carplay-example
This application demonstrates a full-stack Apple CarPlay app that uses Swift for both the UI and the backend services in AWS. The app accesses Lambda functions written in Swift and deployed from Docker images. The app accesses Amazon Location Service and a 3rd party weather api to display information in the vicinity of the user.
Stars: ✭ 84 (+180%)
Mutual labels:  amplify
element-ui-saas-extend
基于ElementUIεΌ€ε‘ηš„SaaSδΈšεŠ‘ζ‰©ε±•
Stars: ✭ 14 (-53.33%)
Mutual labels:  saas
griffin-app-opensource
The Axway Griffin App goes open source!
Stars: ✭ 19 (-36.67%)
Mutual labels:  amplify

T3chFlicks: AWS SaaS App with Stripe Quickstart

Quickstart for running an example Sofware as a Service app on AWS allowing users to make subscriptions and payments via stripe. thumbnail


tutorials/

Generic badge

Generic badge

Generic badge

Architecture

architecture

User Management State Machine

Screenshots

Home Page User Page Prices Page

Step By Step Instructions

  1. This project assumes the existence of a domain hosted on Route53 and with SSL certificates for both the region of your service and US-EAST-1.
    1. Get a domain on AWS
    2. Create a hosted zone on Route53
    3. Create two HTTPS Certificates
      • One for your region e.g. eu-west-1
      • One for cloudfront which must be us-east-1
  2. Deploy 00-infra.yml to create code bucket, certificate, and email alerts.
    •   aws cloudformation deploy --template-file ./00-infra.yml --stack-name infra --region=eu-west-1  --capabilities CAPABILITY_NAMED_IAM --parameter-overrides 
        RootDomain=t3chflicks.org 
        RegionalCertArn=arn:aws:acm:eu-west-1:855097409413:certificate/73255636-c96a-4170-b86d-10261b5e3c0a 
        HostedZoneId=ZFRPCPYMXP38T 
        CloudFrontCertArn=arn:aws:acm:us-east-1:855097409413:certificate/196cda25-d956-415e-b4b6-423342b9657d
      
  3. Deploy 01-vpc.yml to create vpc
    •   aws cloudformation deploy --template-file ./01-vpc.yml --stack-name vpc
      
  4. Deploy 02-tables.yml to create user and product tables
    • aws cloudformation deploy --template-file ./02-tables.yml --stack-name tables
      
  5. Deploy 03-user-manager.yml and use your own Stripe parameters to create a State Machine
    • Package AddPlan lambda and upload to bucket - the bucket name should be ~ s3://infra-codebucket-...
    •   aws cloudformation deploy --template-file ./03-user-manager.yml --stack-name user-manager --region=eu-west-1  --capabilities CAPABILITY_NAMED_IAM
      
  6. Create Stripe Account
    • get test API keys
  7. Create Stripe products using extra/StripeScripts/syncProducts.py
    • using new secret test key
    • using product table name exported from previous step.
  8. Deploy 04-congito.yml to create the user pool and post confirmation functions using Stripe params
    •   aws cloudformation deploy --template-file ./04-cognito.yml --stack-name cognito --region=eu-west-1  --capabilities CAPABILITY_NAMED_IAM --parameter-overrides 
        StripeSecretKey=sk_test_51HKlevJAV1tclqKuuFvkoHoOoygiavnUNDet2HXnyXd2bsNVCzvxkW2bNAA8HivobXs5idcpa5VCzK0b90wub2h100rsOtHlun
      
  9. Deploy 05-user-api.yml to create the user api and create functions
    •   aws cloudformation deploy --template-file ./05-user-api.yml --stack-name user-api --region=eu-west-1  --capabilities CAPABILITY_NAMED_IAM --parameter-overrides 
        StripeSecretKey=sk_test_51HKlevJAV1tclqKuuFvkoHoOoygiavnUNDet2HXnyXd2bsNVCzvxkW2bNAA8HivobXs5idcpa5VCzK0b90wub2h100rsOtHlun
      
  10. Create Stripe web hook using extra/StripeScripts/createWebHook.py
    • use WebHookAPIUrl + endpoint
  11. Deploy 06-stripe-api.yml to create webhook api
    • add Stripe Secret key
    • add Stripe web hook Secret
    •   aws cloudformation deploy --template-file ./06-stripe-api.yml --stack-name stripe-api --region=eu-west-1  --capabilities CAPABILITY_NAMED_IAM --parameter-overrides 
        StripeSecretKey=sk_test_51HKlevJAV1tclqKuuFvkoHoOoygiavnUNDet2HXnyXd2bsNVCzvxkW2bNAA8HivobXs5idcpa5VCzK0b90wub2h100rsOtHlun  
        StripeWebHookSecret=whsec_GJx2kmziA8JG3Cjs3EVVcRZzYaD5nsmz
      
  12. Deploy 07-test-service.yml as an example service running on the load balancer which verifies the user request
    •   aws cloudformation deploy --template-file ./07-test-api.yml --stack-name test-api --region=eu-west-1  --capabilities CAPABILITY_NAMED_IAM
      
  13. Deploy 08-site.yml
    •   aws cloudformation deploy --template-file ./08-site.yml --stack-name site --region=eu-west-1  --capabilities CAPABILITY_NAMED_IAM      
      
  14. Add parameters to frontend/src/main.js
    • Root Domain
    • Region
    • UserApiUrl
    • TestApiUrl
    • CognitoUserPoolId
    • CognitoUserPoolClientId
  15. Add parameter to frontend/src/views/Pricing.png
    • publishableKey from Stripe
  16. Build
    • npm run build
  17. Deploy to S3 bucket
    •   aws s3 cp ./dist s3://saas-app.YOUR_DOMAIN --recursive
      

Extra Info


This project was created by T3chFlicks - A tech focused education and services company.


Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].