A modern, feature-rich Next.js starter template with TypeScript, built with best practices and developer experience in mind. This template provides a solid foundation for building scalable web applications with a focus on performance, security, and developer experience.
- Production Ready: Built with best practices and optimized for production
- Developer Experience: Excellent DX with TypeScript, ESLint, and Prettier
- Modern Stack: Uses the latest features of Next.js 15 and React 19
- Scalable: Well-organized project structure for growing applications
- Secure: Built-in authentication and security best practices
- Maintainable: Clean code architecture and comprehensive documentation
- β‘οΈ Next.js 15 with App Router
- π₯ TypeScript for type safety
- π¨ Tailwind CSS for styling
- π Clerk Authentication
- π TipTap Rich Text Editor
- π― Redux Toolkit for state management
- π¨ Radix UI Components
- π Dark/Light mode support
- π± Responsive design
- π― ESLint & Prettier configuration
- π Turbopack for faster development
- π Server-side rendering (SSR)
- π± Progressive Web App (PWA) ready
- π SEO optimized
- π― Performance optimized
- π Security best practices
- π Analytics ready
- π Internationalization ready
- π§ͺ Testing setup included
- Node.js 18.17 or later
- npm, yarn, or pnpm
- Git
- Clone the repository:
git clone https://github.com/tariqul420/next-ts-starter.git
cd next-ts-starter- Install dependencies:
npm install
# or
yarn install
# or
pnpm install- Set up environment variables:
cp .env.example .env.local- Update the
.env.localfile with your credentials:
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_publishable_key
CLERK_SECRET_KEY=your_secret_key
# Database (if using)
DATABASE_URL=your_database_url
# Other configurations
NEXT_PUBLIC_APP_URL=http://localhost:3000Run the development server:
npm run dev
# or
yarn dev
# or
pnpm devOpen http://localhost:3000 with your browser to see the result.
npm run build
# or
yarn build
# or
pnpm buildnpm run start
# or
yarn start
# or
pnpm startβββ app/ # App router pages and layouts
β βββ (auth)/ # Authentication routes
β βββ (dashboard)/ # Dashboard routes
β βββ api/ # API routes
β βββ layout.tsx # Root layout
βββ components/ # Reusable UI components
β βββ ui/ # Basic UI components
β βββ forms/ # Form components
β βββ shared/ # Shared components
βββ constant/ # Constants and configuration
βββ hooks/ # Custom React hooks
βββ lib/ # Utility functions and libraries
βββ models/ # Database models
βββ public/ # Static assets
βββ types/ # TypeScript type definitions
βββ ...
- Clerk integration for secure authentication
- Protected routes and API endpoints
- User profile management
- Social login support
- Role-based access control
- Radix UI primitives for accessible components
- Custom styled components with Tailwind CSS
- Responsive design patterns
- Dark/Light mode support
- Loading states and animations
- Redux Toolkit for global state
- Local state with React hooks
- Server state management
- Persistent state with local storage
- State synchronization
- TipTap integration
- Custom extensions
- Markdown support
- Image upload
- Code highlighting
- Push your code to GitHub
- Import your repository to Vercel
- Configure environment variables
- Deploy!
- Netlify
- AWS Amplify
- Digital Ocean
- Heroku
- Follow TypeScript best practices
- Use ESLint and Prettier
- Write meaningful commit messages
- Document your code
- Create a new branch
- Make your changes
- Write tests
- Submit a pull request
- Unit tests with Jest
- Integration tests with Cypress
- E2E tests with Playwright
-
Module not found
npm install # or yarn install -
TypeScript errors
npm run type-check # or yarn type-check -
Build errors
npm run build # or yarn build
- Use React.memo for expensive components
- Implement code splitting
- Optimize images
- Use proper caching strategies
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Tariqul Islam - GitHub
βοΈ If you like this project, please give it a star on GitHub!
If you need help or have questions, please:
- Open an issue
- Join our Discord community
- Contact the maintainer
Stay updated with the latest changes by:
- Watching the repository
- Following the author
- Checking the releases page
Made with β€οΈ by Tariqul Islam
