nextjs-starter-kit Tailwind Templates

Nextjs Starter Kit

A modern, production-ready Next.js starter kit featuring shadcn/ui components, Drizzle ORM, TypeScript, and Tailwind CSS. Built with best practices and developer experience in mind.

Next.js Starter Kit

A modern, production-ready Next.js starter kit with everything you need to build fast, beautiful, and responsive web applications.

๐Ÿš€ Features

  • โšก๏ธ Next.js 15 with App Router
  • ๐ŸŽจ Tailwind CSS for styling
  • ๐Ÿ“ฆ TypeScript for type safety
  • ๐ŸŽฏ ESLint & Prettier for code quality
  • ๐Ÿ“ฑ Responsive design
  • ๐ŸŽจ shadcn/ui components
  • ๐Ÿ“Š Drizzle ORM for database
  • ๐Ÿ” Better-Auth for authentication with role-based permissions with type-safe checks
  • ๐Ÿ“ง React Email for email system with Mailpit for local email testing
  • โ˜๏ธ LocalStack for local AWS service testing (e.g., S3)
  • ๐Ÿ”’ next-safe-action for type-safe server actions
  • ๐Ÿ“Š shadcn-table for data tables
  • ๐Ÿ”„ React Hook Form for forms
  • ๐Ÿ“ Zod for validation
  • ๐ŸŽจ Tailwind Animate for animations
  • ๐Ÿ“ฑ Mobile First approach
  • ๐Ÿงช Playwright for E2E testing
  • โšก๏ธ Vitest for unit testing

๐Ÿ“ Project Structure

src/
โ”œโ”€โ”€ app/                 # Next.js app router pages and layouts
โ”œโ”€โ”€ components/          # Reusable UI components
โ”œโ”€โ”€ config/              # Configuration files
โ”œโ”€โ”€ emails/              # Email templates using React Email
โ”œโ”€โ”€ lib/                 # Utility functions and shared logic
โ”œโ”€โ”€ server/              # Server-side code (DB, Auth, API logic)
โ””โ”€โ”€ env.js               # Environment variables validation
e2e/                     # End-to-end tests with Playwright
โ”œโ”€โ”€ auth/                # Authentication-related tests
โ”œโ”€โ”€ navigation/          # Navigation flow tests
โ”œโ”€โ”€ fixtures/            # Test fixtures and helpers
โ””โ”€โ”€ utils/               # Test utilities
temp/                    # Temporary files and folder
โ”œโ”€โ”€ localstack/          # LocalStack configuration for AWS services
โ”œโ”€โ”€ mailpit/             # Mailpit configuration for local email testing
โ”œโ”€โ”€ playwright-report/   # Playwright test reports
โ””โ”€โ”€ playwright-results/  # Playwright test results

๐Ÿš€ Getting Started

  1. Clone the repository

    git clone https://github.com/yourusername/nextjs-starter-kit.git
    cd nextjs-starter-kit
    
  2. Install dependencies

    pnpm install
    
  3. Set up environment variables

    Edit .env with your configuration.

  4. Start the development server and Docker services

    The docker-compose.yml includes services like Mailpit for email testing and LocalStack for emulating AWS services (like S3) locally.

    docker-compose up -d  # Start Mailpit, LocalStack, and other services
    pnpm dev
    
  5. Open http://localhost:3000 with your browser to see the result.

  6. For email testing, access Mailpit at http://localhost:8025

๐Ÿ› ๏ธ Available Scripts

  • dev - Start development server with Turbopack
  • build - Build for production
  • start - Start production server
  • lint - Run ESLint
  • lint:fix - Fix ESLint issues
  • typecheck - Run TypeScript compiler check
  • format:write - Format code with Prettier
  • format:check - Check code formatting
  • db:push - Push schema changes to the database (SQLite)
  • db:generate - Generate DB migration files
  • db:migrate - Apply DB migrations
  • db:studio - Open Drizzle Studio GUI
  • email:dev - Start React Email development server
  • test:unit - Run unit tests with Vitest
  • test:e2e - Run Playwright E2E tests
  • test:e2e:ui - Run Playwright tests with UI mode

๐Ÿ“š Documentation

For more information about the technologies used in this starter kit:

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Top categories

Loading Svelte Themes