├── .env.example ├── src ├── app │ ├── favicon.ico │ ├── (auth) │ │ ├── sign-in │ │ │ └── [[...sign-in]] │ │ │ │ └── page.tsx │ │ └── sign-up │ │ │ └── [[...sign-up]] │ │ │ └── page.tsx │ ├── robots.ts │ ├── api │ │ ├── test-db │ │ │ └── route.ts │ │ └── webhook │ │ │ └── clerk │ │ │ └── route.ts │ ├── sitemap.ts │ ├── layout.tsx │ ├── page.tsx │ ├── (dashboard) │ │ └── dashboard │ │ │ └── page.tsx │ └── globals.css ├── lib │ ├── utils.ts │ ├── mongodb.ts │ └── csrf.ts ├── middleware.ts ├── components │ ├── ui │ │ ├── sonner.tsx │ │ ├── label.tsx │ │ ├── input.tsx │ │ ├── alert.tsx │ │ ├── theme-toggle.tsx │ │ ├── card.tsx │ │ ├── button.tsx │ │ ├── dialog.tsx │ │ ├── form.tsx │ │ └── dropdown-menu.tsx │ └── layout │ │ ├── Footer.tsx │ │ ├── AccessibilityControls.tsx │ │ └── Navbar.tsx ├── models │ └── User.ts ├── utils │ ├── test-db-connection.ts │ ├── metadata.ts │ └── validation.ts ├── scripts │ └── test-mongodb.js └── context │ └── AccessibilityContext.tsx ├── postcss.config.mjs ├── public ├── vercel.svg ├── window.svg ├── file.svg ├── globe.svg └── next.svg ├── next.config.ts ├── eslint.config.mjs ├── components.json ├── next.config.js ├── tsconfig.json ├── .gitignore ├── README.md ├── package.json ├── tailwind.config.ts └── PLAN.md /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hoodini/yuv-ai-nextjs-boilerplate/HEAD/.env.example -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hoodini/yuv-ai-nextjs-boilerplate/HEAD/src/app/favicon.ico -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- 1 | const config = { 2 | plugins: ["@tailwindcss/postcss"], 3 | }; 4 | 5 | export default config; 6 | -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /next.config.ts: -------------------------------------------------------------------------------- 1 | import type { NextConfig } from "next"; 2 | 3 | const nextConfig: NextConfig = { 4 | /* config options here */ 5 | }; 6 | 7 | export default nextConfig; 8 | -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { clsx, type ClassValue } from "clsx" 2 | import { twMerge } from "tailwind-merge" 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)) 6 | } 7 | -------------------------------------------------------------------------------- /src/app/(auth)/sign-in/[[...sign-in]]/page.tsx: -------------------------------------------------------------------------------- 1 | import { SignIn } from "@clerk/nextjs"; 2 | 3 | export default function Page() { 4 | return ( 5 |
153 | {body} 154 |
155 | ) 156 | } 157 | 158 | export { 159 | useFormField, 160 | Form, 161 | FormItem, 162 | FormLabel, 163 | FormControl, 164 | FormDescription, 165 | FormMessage, 166 | FormField, 167 | } 168 | -------------------------------------------------------------------------------- /src/app/page.tsx: -------------------------------------------------------------------------------- 1 | import { Button } from '@/components/ui/button'; 2 | import Link from 'next/link'; 3 | import { ArrowRight, Code, Shield, Users, Database, Palette } from 'lucide-react'; 4 | 5 | export default function Home() { 6 | return ( 7 |14 | A modern starter template with Next.js, MongoDB Atlas, Clerk Authentication, Tailwind CSS, and shadcn/ui 15 |
16 |{feature.description}
56 |65 | Start with this production-ready boilerplate and focus on building your features instead of setting up infrastructure. 66 |
67 | 77 |82 | Fly High With YUV.AI 83 |
84 |85 | Find me on{' '} 86 | Twitter,{' '} 87 | Instagram, or{' '} 88 | Linktree 89 |
90 |35 | {isSignedIn ? `Welcome ${user?.firstName || 'back'}! Fly High With YUV.AI` : 'Welcome to YUV.AI Boilerplate - Fly High With YUV.AI'} 36 |
37 |Your personal dashboard at YUV.AI Boilerplate
31 |Have questions or need custom development?
166 |167 | Yuval Avidani - AI Builder & Speaker 168 |
169 | 204 |