Skip to content

πŸš€ A production-ready, fully customizable SaaS template using Wasp, React, and Node.js. Includes authentication, payments, and deployment-ready configurations. | Support me: https://buymeacoffee.com/mathewlewallen

License

Notifications You must be signed in to change notification settings

mathewlewallen/Ready-To-Deploy-SaaS-Template

Repository files navigation

Cloud Context SaaS Template

Built with Wasp, based on the Open Saas template.

This is being shared to help you have a working product that is fully built and functional to start building your own SaaS with. Wasp is a great framework and Open Saas is a great template and they have a thriving community on Discord and Github.

Here is what is built in the SaaS:

  • Wasp v0.16.0
  • React
  • Node.js
  • TailwindCSS
  • Prisma
  • PostgreSQL
  • Lemonsqueezy
  • AWS S3
  • Plausible
  • NameCheap
  • Railway
  • Private Email Service (SMTP via NameCheap)
  • Auth via Email/Password, Google, Github, Discord

🎯 Who is this for??

  • Entrepreneurs launching a SaaS startup πŸš€
  • Developers who want a production-ready SaaS template πŸ—οΈ
  • Indie Hackers looking for a quick MVP solution πŸ’‘

Overview

Cloud Context is a modern web application that helps developers understand and manage their codebase. The template is the core code for the SaaS portion of Cloud Context.

Features

  • πŸ” Authentication & Authorization
  • πŸ’³ Stripe Integration
  • πŸ“Š Dashboard Interface
  • πŸ‘₯ Team Management
  • 🌐 Multi-tenant Architecture

Technology Stack

  • Framework: Wasp
  • Frontend: React + TypeScript
  • Backend: Node.js
  • Database: PostgreSQL
  • ORM: Prisma
  • Authentication: Email/Password + Social Auth
  • Payment Processing: Lemonsqueezy
  • Storage: AWS S3
  • Analytics: Plausible
  • Email: Private Email Service (NameCheap)
  • Hosting: Railway
  • Domain: NameCheap

Development

Prerequisites

  • Node.js (v18+)
  • Wasp CLI
  • PostgreSQL
  • Docker (Desktop Preferred)

Accounts

  • Lemonsqueezy Account (for payment features)
  • AWS Account (for storage features)
  • Plausible Account (for analytics features)
  • NameCheap Account (for domain features)
  • Railway Account (for hosting features)
  • Private Email Service Account (for email features)
  • Github Account (for social auth features)
  • Discord Account (for social auth features)
  • Google Account (for social auth features)

Environment Setup

  1. Clone the repository
  2. Copy .env.example to create both .env.client and .env.server
  3. Fill in the environment variables with your values

Running locally

Open Saas Getting Started First Time Setup:

  1. Install Wasp CLI
  1. Make sure you have the .env.client and .env.server files with correct dev values in the root of the project
  2. Start the database:
    wasp start db
  3. Start the development server:
    wasp start
  4. [OPTIONAL] If this is the first time starting the app, or you've made changes to your entities/prisma schema:
    wasp db migrate-dev

Project Structure

/
β”œβ”€β”€ main.wasp                 # Main Wasp configuration file
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ client/              # Frontend React components and logic
β”‚   β”‚   β”œβ”€β”€ app/             # Core application components
β”‚   β”‚   β”œβ”€β”€ auth/            # Authentication related components
β”‚   β”‚   β”œβ”€β”€ components/      # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ dashboard/       # Dashboard views and components
β”‚   β”‚   β”œβ”€β”€ hooks/          # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ icons/          # SVG icons and icon components
β”‚   β”‚   β”œβ”€β”€ layout/         # Layout components and templates
β”‚   β”‚   └── utils/          # Frontend utility functions
β”‚   β”‚
β”‚   β”œβ”€β”€ server/             # Backend business logic and API routes
β”‚   β”‚   β”œβ”€β”€ actions/        # Server actions (API endpoints)
β”‚   β”‚   β”œβ”€β”€ queries/        # Data fetching logic
β”‚   β”‚   β”œβ”€β”€ auth/           # Authentication logic
β”‚   β”‚   β”œβ”€β”€ webhooks/       # Webhook handlers
β”‚   β”‚   └── utils/          # Server utility functions
β”‚   β”‚
β”‚   β”œβ”€β”€ shared/             # Shared types and utilities
β”‚   β”œβ”€β”€ admin/              # Admin dashboard features
β”‚   β”‚   β”œβ”€β”€ dashboards/     # Various admin dashboards
β”‚   β”‚   β”œβ”€β”€ elements/       # UI elements and components
β”‚   β”‚   └── layout/         # Admin-specific layouts
β”‚   β”‚
β”‚   β”œβ”€β”€ analytics/          # Analytics related code
β”‚   β”œβ”€β”€ payment/            # Payment processing logic
β”‚   └── email/              # Email templates and sending logic
β”‚
β”œβ”€β”€ public/                 # Static assets
β”‚   β”œβ”€β”€ fonts/             # Font files
β”‚   └── images/            # Image assets
β”‚
└── migrations/            # Database migrations

This structure organizes the application into logical modules:

  • Client: All frontend React code, organized by feature
  • Server: Backend logic, including API endpoints and data processing
  • Shared: Code shared between client and server
  • Admin: Administrative interface components and logic
  • Analytics: User activity tracking and reporting
  • Payment: Subscription and payment processing
  • Email: Communication templates and delivery

Contributing

Contributions are welcome! Please read our contributing guidelines before submitting pull requests.

πŸ’– Support This Project

If you find this project useful, consider supporting my work:

License

This project is licensed under the MIT License.

It is based on OpenSaaS.sh by Wasp, which is also licensed under the MIT License. All modifications and additions are Β© 2025 cloudcontext.