Let's take a detailed look at the project structure of BuouNext. This guide provides an overview of the directory layout, key files, and their purposes, helping you understand how to navigate and organize your project efficiently.
BuouNext boilerplate strictly follows the Next.js Project Structure. It's seamlessly integrated with NextAuth, Drizzle, next-intl, Nextra, and Stripe.
├── node_modules
├── drizzle # Drizzle migrations output
├── public # project static file,like img,logo,etc
├── app # Application logic
│ ├── (auth) # NextAuth layout and page
│ ├── (dashboard) # Dashboard layout and page
| ├── (docs) # docs layout and page
│ ├── (marketing) # marketing layout and page
│ ├── (editor) # editor layout and page
│ ├── api # api route (service api)
├── assets # Assets not exposed to the public,like fonts
├── components # React components used on pages
├── config # BuouNext configuration folder
│ ├── dashboard # Configuration for dashboard mainNav,sidebarNav
│ ├── docs # Configuration for docs mainNav,sidebarNav
│ ├── marketing # Configuration for marketing mainNav,sidebarNav
│ ├── site # Configuration for BuouNext (site metadata, description, author, etc.)
│ ├── subscriptions # Configuration for subscriptions
├── lib # Libraries (session, paypal, cloudflare r2, stripe, subscriptions, etc.)
│ └── db # Drizzle schema and database client
├── styles # Styling
├── types # Typings definition
├── env.mjs # Environment variables schema
├── drizzle.config.ts # Drizzle configuration
├── proxy.ts # request proxy (auth redirects and rewrites)
├── .env.example # Example environment file
├── .eslintrc.cjs # ESLint configuration
├── .gitignore
├── next-sitemap.config.js # sitemap
├── next.config.mjs # Next.js, next-intl, and Nextra configuration
├── package.json
├── pnpm-lock.yaml # pnpm depedency
├── postcss.config.cjs
├── prettier.config.cjs
├── README.md
├── tailwind.config.ts # Tailwind configuration
└── tsconfig.json # TypeScript configuration