Introduction
SaasKitFy is a production-ready SaaS starter kit built with Laravel (backend API) and React + TypeScript (frontend SPA). It includes everything you need to launch a SaaS product — authentication, billing, multi-tenancy, RBAC, and a full admin panel.
Architecture
The project is split into three independent applications:
- Backend (
backend/) — Laravel REST API with Sanctum auth, Cashier billing, queues, and all business logic - Frontend (
frontend/) — React + TypeScript SPA with TanStack Query, Zustand, and Shadcn UI - Marketing (
marketing/) — Plain PHP marketing site with zero dependencies
Each app deploys independently, scales independently, and can be hosted on different servers.
What's Included
- 5 auth methods — email/password, magic link, OAuth (Google, GitHub, Microsoft, Apple), MFA, SAML SSO
- 5 payment gateways — Stripe, Paddle, MercadoPago, Lemon Squeezy, PayPal
- 5 plan types — recurring, one-time, per-seat, metered, credits
- Multi-tenancy — organization workspaces with data isolation, invitations, and custom roles
- Admin panel — 14 controllers, 150+ configurable settings
- API keys — scoped permissions, hashed storage, rate limiting
- Webhooks — HMAC-signed delivery, event filtering, retry logic
- Feature flags — percentage rollouts, user/org targeting
- Audit logs — tracks every mutation with old/new diffs
- Usage metering — custom metrics per org, daily series
- Email templates — editable from admin, preview and test send
- File uploads — S3/R2 compatible, signed URLs
Tech Stack
Backend
- PHP 8.2+ with Laravel (latest LTS)
- Laravel Sanctum (authentication)
- Laravel Cashier (Stripe billing)
- Spatie Permission (RBAC)
- Laravel Socialite (OAuth)
- PostgreSQL or MySQL
- Redis (optional — cache, queues, sessions)
Frontend
- React 18+ with TypeScript
- Vite (bundler)
- React Router (routing)
- TanStack Query (data fetching)
- Zustand (state management)
- Tailwind CSS + Shadcn UI (styling)
Marketing
- Plain PHP (zero dependencies)
- i18n with JSON translation files
- SEO with structured data (JSON-LD)
- Lucide icons (self-hosted)
Quick Start
The fastest way to get running locally:
# Clone the repo
git clone https://github.com/your-org/saaskitfy.git my-saas
cd my-saas
# Start infrastructure
docker compose up -d
# Backend
cd backend
composer install
cp .env.example .env
php artisan key:generate
php artisan migrate --seed
# Frontend
cd ../frontend
npm install
npm run dev
# Marketing
cd ../marketing/public
php -S localhost:8000 router.php
See the Prerequisites page for full system requirements.