A production-ready Next.js 16 starter with Drizzle ORM, PostgreSQL, Better Auth, Tailwind CSS v4, and Server Actions. Built for scalable management applications with industry-standard architecture.
.
├── biome.json
├── bun.lock
├── components.json
├── next.config.ts
├── next-env.d.ts
├── package.json
├── postcss.config.mjs
├── public
├── README.md
├── src
│ ├── app
│ │ ├── api
│ │ │ ├── auth
│ │ │ │ └── [...all]
│ │ │ │ └── route.ts
│ │ │ └── uploadthing
│ │ │ ├── core.ts
│ │ │ └── route.ts
│ │ ├── (auth)
│ │ │ ├── _components
│ │ │ │ ├── forgot-form.tsx
│ │ │ │ ├── login-form.tsx
│ │ │ │ ├── register-form.tsx
│ │ │ │ ├── reset-form.tsx
│ │ │ │ └── verify-form.tsx
│ │ │ ├── forgot
│ │ │ │ ├── loading.tsx
│ │ │ │ └── page.tsx
│ │ │ ├── layout.tsx
│ │ │ ├── login
│ │ │ │ ├── loading.tsx
│ │ │ │ └── page.tsx
│ │ │ ├── register
│ │ │ │ ├── loading.tsx
│ │ │ │ └── page.tsx
│ │ │ ├── reset
│ │ │ │ ├── loading.tsx
│ │ │ │ └── page.tsx
│ │ │ └── verify
│ │ │ ├── loading.tsx
│ │ │ └── page.tsx
│ │ ├── (dashboard)
│ │ │ ├── _components
│ │ │ │ ├── header.tsx
│ │ │ │ ├── mobile-nav.tsx
│ │ │ │ ├── sidebar.tsx
│ │ │ │ └── user-nav.tsx
│ │ │ ├── dashboard
│ │ │ │ ├── loading.tsx
│ │ │ │ └── page.tsx
│ │ │ ├── files
│ │ │ │ ├── _components
│ │ │ │ │ ├── file-card.tsx
│ │ │ │ │ ├── file-list.tsx
│ │ │ │ │ └── file-uploader.tsx
│ │ │ │ ├── error.tsx
│ │ │ │ ├── loading.tsx
│ │ │ │ └── page.tsx
│ │ │ ├── layout.tsx
│ │ │ ├── page.tsx
│ │ │ ├── settings
│ │ │ │ ├── _components
│ │ │ │ │ ├── avatar-upload.tsx
│ │ │ │ │ └── settings-nav.tsx
│ │ │ │ ├── layout.tsx
│ │ │ │ ├── loading.tsx
│ │ │ │ ├── page.tsx
│ │ │ │ ├── profile
│ │ │ │ │ └── page.tsx
│ │ │ │ └── security
│ │ │ │ └── page.tsx
│ │ │ └── users
│ │ │ ├── _components
│ │ │ │ ├── user-actions.tsx
│ │ │ │ ├── user-filters.tsx
│ │ │ │ ├── user-form.tsx
│ │ │ │ └── user-table.tsx
│ │ │ ├── error.tsx
│ │ │ ├── [id]
│ │ │ │ ├── edit
│ │ │ │ │ └── page.tsx
│ │ │ │ ├── loading.tsx
│ │ │ │ └── page.tsx
│ │ │ ├── loading.tsx
│ │ │ ├── new
│ │ │ │ └── page.tsx
│ │ │ └── page.tsx
│ │ ├── error.tsx
│ │ ├── favicon.ico
│ │ ├── global-error.tsx
│ │ ├── globals.css
│ │ ├── layout.tsx
│ │ ├── loading.tsx
│ │ ├── not-found.tsx
│ │ └── page.tsx
│ ├── components
│ │ ├── forms
│ │ ├── providers
│ │ ├── ui
│ │ │ ├── alert-dialog.tsx
│ │ │ ├── badge.tsx
│ │ │ ├── button.tsx
│ │ │ ├── card.tsx
│ │ │ ├── combobox.tsx
│ │ │ ├── dropdown-menu.tsx
│ │ │ ├── field.tsx
│ │ │ ├── input-group.tsx
│ │ │ ├── input.tsx
│ │ │ ├── label.tsx
│ │ │ ├── select.tsx
│ │ │ ├── separator.tsx
│ │ │ ├── spinner.tsx
│ │ │ └── textarea.tsx
│ │ └── upload
│ ├── hooks
│ ├── lib
│ │ ├── auth
│ │ │ └── config.ts
│ │ ├── uploadthing.ts
│ │ ├── utils
│ │ │ ├── cn.ts
│ │ │ ├── date.ts
│ │ │ └── format.ts
│ │ ├── utils.ts
│ │ └── validations
│ │ ├── auth.schema.ts
│ │ ├── common.schema.ts
│ │ ├── file.schema.ts
│ │ └── user.schema.ts
│ ├── _proxy.ts
│ └── server
│ ├── actions
│ │ ├── auth.actions.ts
│ │ ├── files.actions.ts
│ │ ├── settings.actions.ts
│ │ └── users.actions.ts
│ ├── db
│ │ ├── index.ts
│ │ ├── schema
│ │ └── types.ts
│ └── queries
│ ├── files.queries.ts
│ └── users.queries.ts
├── structure.txt
└── tsconfig.json
44 directories, 102 files