Skip to content

πŸš€ A production-ready, fully customizable SaaS template using Wasp, React, and Node.js. Includes authentication, payments, and deployment-ready configurations.

Notifications You must be signed in to change notification settings

cpiprint/Ready-To-Deploy-SaaS-Template-cpi

Β 
Β 

Repository files navigation

Cloud Context

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

Overview

Cloud Context is a modern web application that helps developers understand and manage their cloud infrastructure.

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.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

πŸš€ A production-ready, fully customizable SaaS template using Wasp, React, and Node.js. Includes authentication, payments, and deployment-ready configurations.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 97.3%
  • JavaScript 2.0%
  • CSS 0.7%