next-auth-roles-template
next-auth-roles-template copied to clipboard
Open-source Nextjs 14 Template Starter with Auth.js v5, User Roles & Admin Panel. Remove blog or docs parts with one cli.
Next Auth Roles Template
Start at full speed with this Next.js Template !
Installation · Tech Stack + Features · Author
Installation
Clone & create this repo locally with the following command:
npx create-next-app my-saas-project --example "https://github.com/mickasmt/next-auth-roles-template"
Or, deploy with Vercel:
Steps
- Install dependencies using pnpm:
pnpm install
- Copy
.env.exampleto.env.localand update the variables.
cp .env.example .env.local
- Start the development server:
pnpm run dev
- Remove parts you don't want
You can use the command pnpm run remove-content in your terminal to remove specific parts of your project. This command supports the following parameters:
- --blog: Removes the blog section from your project.
- --docs: Removes the documentation section from your project.
Recommendations
- Remove Both Sections: It is recommended to use
pnpm run remove-contentwithout specifying parameters (--blogor--docs). This ensures that all associated documents are properly removed, as some documents may not be deleted/updated if you remove "blog" after "docs" or vice versa.
Examples
- To remove both the blog and documentation sections:
pnpm run remove-content
- To remove only the blog section:
pnpm run remove-content --blog
- To remove only the documentation section:
pnpm run remove-content --docs
[!NOTE]
I use npm-check-updates package for update this project.Use this command for update your project:
ncu -i --format group
Tech Stack + Features
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
- Lucide – Beautifully simple, pixel-perfect icons
next/font– Optimize custom fonts and remove external network requests for improved performanceImageResponse– Generate dynamic Open Graph images at the edge
Hooks and Utilities
useIntersectionObserver– React hook to observe when an element enters or leaves the viewportuseLocalStorage– Persist data in the browser's local storageuseScroll– React hook to observe scroll position (example)nFormatter– Format numbers with suffixes like1.2kor1.2Mcapitalize– Capitalize the first letter of a stringtruncate– Truncate a string to a specified lengthuse-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
This project is based on Next SaaS Stripe Starter.
Created by @miickasmt in 2023, released under the MIT license.
Credits
Thanks to Hosna Qasmei for part of the dashboard sidebar code.