A production-ready SaaS Starter Kit with authentication, RBAC, Stripe billing, PostgreSQL, and a fully custom cyberpunk dashboard UI.
- π NextAuth.js Authentication (GitHub OAuth)
- π RBAC β Role-Based Access Control
- π³ Stripe Billing β Checkout + Customer Portal
- 𧬠PostgreSQL + Prisma ORM
- π Vercel Ready β One-click deploy
- π‘ Cyberpunk UI with Matrix-style rain background
- π Interactive Dashboard (Total Revenue, Sales, User Growth, Activity)
- Framework: Next.js 15 App Router (TypeScript)
- Styling: Tailwind CSS, custom UI
- Auth: NextAuth.js (JWT Strategy)
- DB: Supabase PostgreSQL + Prisma ORM
- Payments: Stripe Checkout & Portal
- Deployment: Vercel
src/
βββ app/
β βββ dashboard/ # Dashboard page + subpages
β βββ signin/page.tsx # Sign In Page
β βββ unauthorized/page.tsx # Access Denied Page
β βββ api/
β β βββ auth/[...nextauth]/route.ts # Auth Route
β β βββ stripe/checkout/ # Stripe API Routes
βββ components/ui/ # Custom UI components
βββ lib/ # Helpers (Prisma, Auth, etc)
βββ styles/ # Global styles
public/
β βββ decryptmike-logo.png # Brand Logo
Required in .env.local
:
GITHUB_ID=your_github_oauth_id
GITHUB_SECRET=your_github_oauth_secret
NEXTAUTH_SECRET=your_nextauth_secret
NEXTAUTH_URL=https://your-vercel-domain.vercel.app
NEXT_PUBLIC_APP_URL=https://your-vercel-domain.vercel.app
STRIPE_SECRET_KEY=your_stripe_secret
STRIPE_PUBLIC_KEY=your_stripe_public
STRIPE_WEBHOOK_SECRET=your_stripe_webhook_secret
DATABASE_URL=your_postgres_database_url
git clone https://github.com/DecryptMike/DecryptMike-SaaS-Starter-Kit.git
cd DecryptMike-SaaS-Starter-Kit
npm install
npx prisma generate
npx prisma db push
npm run dev
All screenshots + GIFs can be found inside your public/
folder or attached assets:
/public/signin.png
/public/dashboard-scroll.gif
/public/unauthorized.png
/public/success.png
/public/cancelled.png
First, clone the project and install dependencies:
git clone https://github.com/DecryptMike/DecryptMike-SaaS-Starter-Kit.git
cd DecryptMike-SaaS-Starter-Kit
npm install
Run your database migrations and generate the Prisma client:
npx prisma generate
npx prisma db push
Then start the dev server:
npm run dev
Visit http://localhost:3000 to view the app. Sign-in requires GitHub OAuth to be configured in .env.local
.
Pro Tip: The landing page redirects to
/signin
, and only authenticated users can view/dashboard
.
β
Final build tested locally and pushed to GitHub and Vercel
β Currently debugging GitHub OAuth callback 404
π― Feature complete + ready for deployment
This project was built to showcase real-world skills in full-stack development with a cybersecurity-focused SaaS kit. Itβs designed for hiring managers, portfolio reviewers, and recruiters looking to assess:
- Proficiency with authentication, RBAC, and secure data storageβ¨
- Experience integrating Stripe billing into a Next.js applicationβ¨
- Design and layout customization with Tailwind CSSβ¨
- Deployment and CI/CD using Vercel
This tool is intended for educational and authorized personal use only.