A production-ready Next.js 15 boilerplate with TypeScript, Tailwind CSS, Radix UI, and Zylo integration.
- Next.js 15 - React framework with App Router
- TypeScript - Type-safe code
- Tailwind CSS v4 - Utility-first CSS framework
- Radix UI - Accessible component primitives
- Framer Motion - Animation library
- TanStack Query - Server state management
- Zustand - Client state management
- Axios - HTTP client with interceptors
- React Hook Form - Performant forms
- Zod - Schema validation
- @hookform/resolvers - Form validation integration
- shadcn/ui - Re-usable component library
- Lucide React - Icon library
- Recharts - Chart library
- Sonner - Toast notifications
- ESLint - Linting
- Prettier - Code formatting
- TypeScript - Static type checking
- Built-in Zylo provider and hooks
- Authentication flow
- Protected routes
- API integration
- Node.js 20+
- npm, yarn, or pnpm
-
Clone the repository: ```bash git clone https://github.com/your-org/next.jsBoilerplateZylo.git cd next.jsBoilerplateZylo ```
-
Install dependencies: ```bash npm install ```
-
Set up environment variables: ```bash cp .env.example .env.local ``` Edit `.env.local` and add your values.
-
Run the development server: ```bash npm run dev ```
``` src/ ├── app/ # Next.js app directory ├── components/ # React components │ ├── ui/ # shadcn/ui components │ ├── error-boundary.tsx │ ├── loading-skeleton.tsx │ └── empty-state.tsx ├── hooks/ # Custom React hooks ├── lib/ # Core libraries ├── utils/ # Utility functions ├── types/ # TypeScript types ├── constants/ # App constants └── stores/ # Zustand stores ```
```typescript const debouncedSearch = useDebounce(searchTerm, 300); ```
```typescript const [user, setUser, removeUser] = useLocalStorage('user', null); ```
```typescript const isMobile = useIsMobile(); ```
```typescript import { apiClient } from '@/utils';
const { data } = await apiClient.get('/users'); await apiClient.post('/users', { name: 'John' }); ```
All included and ready to use!
Deploy to Vercel with one click or use Docker.
MIT License
Built with ❤️ using Next.js and TypeScript