MCPcopy
hub / github.com/mickasmt/next-saas-stripe-starter

github.com/mickasmt/next-saas-stripe-starter @v1.0.0 sqlite

repository ↗ · DeepWiki ↗ · release v1.0.0 ↗
229 symbols 769 edges 170 files 0 documented · 0%
README

SaaS Starter

Next SaaS Stripe Starter

Start at full speed with SaaS Starter !

Mickasmt Twitter follower count

Introduction · Installation · Tech Stack + Features · Author · Credits

Introduction

Empower your next project with the stack of Next.js 14, Prisma, Neon, Auth.js v5, Resend, React Email, Shadcn/ui, and Stripe.

All seamlessly integrated with the SaaS Starter to accelerate your development and saas journey.

Installation

Clone & create this repo locally with the following command:

npx create-next-app my-saas-project --example "https://github.com/mickasmt/next-saas-stripe-starter"
  1. Install dependencies using pnpm:
pnpm install
  1. Copy .env.example to .env.local and update the variables.
cp .env.example .env.local
  1. Start the development server:
pnpm run dev

[!NOTE]
I use npm-check-updates package for update this project.

Use this command for update your project: ncu -i --format group

[!WARNING]
You need update .react-email folder before use pnpm run email. Check the link here if you have the error : renderToReadableStream not found

Roadmap

  • [x] ~Fix Vaul drawer for mobile sign in~
  • [x] ~Update OG image~
  • [x] ~Add Server Actions on billing form (stripe)~
  • [x] ~Add Server Actions on user name form~
  • [x] ~Upgrade Auth.js to v5~
  • [x] ~Change database platform for Neon (planetscale removes its free plan on April 2024)~
  • [x] ~Switch subscription plan (enable on stripe dashboard)~
  • [x] ~Update documentation for installation & configuration~
  • [x] ~Improve blog section~
  • [ ] Upgrade eslint to v9
  • [ ] Add resend for success subscriptions

Tech Stack + Features

https://github.com/mickasmt/next-saas-stripe-starter/assets/62285783/828a4e0f-30e3-4cfe-96ff-4dfd9cd55124

Frameworks

  • Next.js – React framework for building performant apps with the best developer experience
  • Auth.js – Handle user authentication with ease with providers like Google, Twitter, GitHub, etc.
  • Prisma – Typescript-first ORM for Node.js
  • React Email – Versatile email framework for efficient and flexible email development

Platforms

  • Vercel – Easily preview & deploy changes with git
  • Resend – A powerful email framework for streamlined email development
  • Neon – Serverless Postgres with autoscaling, branching, bottomless storage and generous free tier.

UI

  • Tailwind CSS – Utility-first CSS framework for rapid UI development
  • Shadcn/ui – Re-usable components built using Radix UI and Tailwind CSS
  • Framer Motion – Motion library for React to animate components with ease
  • Lucide – Beautifully simple, pixel-perfect icons
  • next/font – Optimize custom fonts and remove external network requests for improved performance
  • ImageResponse – Generate dynamic Open Graph images at the edge

Hooks and Utilities

  • useIntersectionObserver – React hook to observe when an element enters or leaves the viewport
  • useLocalStorage – Persist data in the browser's local storage
  • useScroll – React hook to observe scroll position (example)
  • nFormatter – Format numbers with suffixes like 1.2k or 1.2M
  • capitalize – Capitalize the first letter of a string
  • truncate – Truncate a string to a specified length
  • use-debounce – Debounce a function call / state update

Code Quality

  • TypeScript – Static type checker for end-to-end typesafety
  • Prettier – Opinionated code formatter for consistent code style
  • ESLint – Pluggable linter for Next.js and TypeScript

Miscellaneous

  • Vercel Analytics – Track unique visitors, pageviews, and more in a privacy-friendly way

Author

Created by @miickasmt in 2023, released under the MIT license.

Credits

This project was inspired by shadcn's Taxonomy, Steven Tey’s Precedent, and Antonio Erdeljac's Next 13 AI SaaS.

Extension points exported contracts — how you extend this code

Session (Interface)
(no doc)
auth.ts
JWT (Interface)
(no doc)
types/next-auth.d.ts
DashboardNavProps (Interface)
(no doc)
components/layout/dashboard-sidenav.tsx
InfoLandingProps (Interface)
(no doc)
components/sections/info-landing.tsx
UserNameFormProps (Interface)
(no doc)
components/forms/user-name-form.tsx
CopyButtonProps (Interface)
(no doc)
components/shared/copy-button.tsx
CommandDialogProps (Interface)
(no doc)
components/ui/command.tsx
CardProps (Interface)
(no doc)
components/content/mdx-card.tsx

Core symbols most depended-on inside this repo

cn
called by 201
lib/utils.ts
constructMetadata
called by 12
lib/utils.ts
getCurrentUser
called by 7
lib/session.ts
dispatch
called by 5
components/ui/use-toast.ts
formatDate
called by 5
lib/utils.ts
useFormField
called by 4
components/ui/form.tsx
getTableOfContents
called by 3
lib/toc.ts
getUserSubscriptionPlan
called by 3
lib/subscription.ts

Shape

Function 175
Interface 51
Class 2
Method 1

Languages

TypeScript100%

Modules by API surface

components/ui/use-toast.ts10 symbols
lib/utils.ts9 symbols
lib/toc.ts6 symbols
components/shared/toc.tsx5 symbols
components/shared/empty-placeholder.tsx5 symbols
app/(docs)/docs/[[...slug]]/page.tsx5 symbols
components/pricing/pricing-cards.tsx4 symbols
components/docs/sidebar-nav.tsx4 symbols
components/docs/pager.tsx4 symbols
lib/exceptions.ts3 symbols
hooks/use-intersection-observer.ts3 symbols
components/ui/sheet.tsx3 symbols

Dependencies from manifests, versioned

@auth/prisma-adapter2.4.1 · 1×
@commitlint/cli19.3.0 · 1×
@commitlint/config-conventional19.2.2 · 1×
@hookform/resolvers3.6.0 · 1×
@prisma/client5.15.1 · 1×
@radix-ui/react-accessible-icon1.1.0 · 1×
@radix-ui/react-accordion1.2.0 · 1×
@radix-ui/react-alert-dialog1.1.1 · 1×
@radix-ui/react-aspect-ratio1.1.0 · 1×
@radix-ui/react-avatar1.1.0 · 1×
@radix-ui/react-checkbox1.1.0 · 1×

For agents

$ claude mcp add next-saas-stripe-starter \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact