A modern Next.js starter template with TypeScript, Tailwind CSS, and more
- ⚡️ Next.js 15 with App Router
- 🎨 Tailwind CSS with Typography plugin
- 🔒 Better Auth for authentication
- 🗄️ Drizzle ORM with NeonDB integration
- 📝 MDX support for content
- 🎭 Framer Motion for animations
- 🔔 Sonner for toast notifications
- 🎵 use-sound for sound effects
- 🎨 Akar Icons for beautiful icons
- 🔍 SEO optimized(with metadata and schema.org)
- 🎯 TypeScript for type safety
- 🧹 ESLint + Prettier for code quality
- 🐶 Husky for git pre commit
- 🚀 View transitions for smooth page navigation
├── app/ # Next.js app directory
├── components/ # React components
│ ├── atoms/ # Basic UI components
│ └── ...
├── hooks/ # Custom React hooks
├── styles/ # Global styles
├── utils/ # Utility functions
├── public/ # Static assets
├── assets/ # Project assets
└── ...
not found pagepage to handle 404 routesconfig.tscontainer site information to be used for seo and schema.org dataseo.tsutil to generate SEO metadata and schema.orgmanifest.jsonfor site infoclassnamesutil for easily managing classescomponents/atoms/Button.tsxa button component with variantshooks/useClickOutsidehook to check if user clicked outside the elementhooks/useModalhook to create modals, which can close with eschooks/useDynamicHeightauth pages- Auth page for login
- next-view-transitions - for page smooth transitions
- Tailwind CSS - for styling(with typography plugin)
- Framer Motion - for animations
- Akar Icons - library for rounded icons
- Sonner - for toast messages
- use-sound - for using sounds
- Class Variance Authority - for type-safely managing class names
-
Clone and install:
git clone https://github.com/nirnejak/nextjs-typescript-saas.git && cd nextjs-typescript-saas && bun install -
Set up environment:
cp .env.example .envand update.envwith your config -
Start dev server:
bun run dev
bun install- Install dependenciesbun run prepare- Setup pre-commit hooksbun run dev- Start development serverbun run lint- Run ESLintbun run format- Format with Prettierbun run type-check- Run TypeScript type checkingbun run db:generate- Generate database migrationsbun run db:migrate- Run database migrationsbun run build- Build for productionbun run start- Start production server
Update the config.ts file with your site's information:
const config = {
baseUrl: "https://your-site.com",
appName: "Your App Name",
appDescription: "Your app description",
creator: "Your Name",
authorName: "Your Name",
authorUrl: "Your URL or Email",
keywords: ["your", "keywords"],
twitterSite: "@your-site",
twitterCreator: "@your-username",
}Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by Jitendra Nirnejak