The Build Software starter template.
A template for kickstarting internal business management projects, the auth is configured as a closed system for internal use.
- Next.js 15 App Directory
- Next-Auth (Credentials - Sign-in only)
- Shadcn Components
- Tailwind CSS
- ZOD Validation
- Drizzle ORM
- NEON Database
- TanStack Query
- Nodemailer
- React Email Templates
- Icons from Lucide
- Dark mode with
next-themes
- Tailwind CSS class sorting, merging and linting.
Download the repository to a directory of your choice and run:
npm install
Copy these variables into a .env file:
DATABASE_URL=
NEXTAUTH_SECRET=
NEXTAUTH_URL="http://localhost:3000"
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
URL="http://localhost:3000"
MAIL="[email protected]"
MAIL_USER="[email protected]"
MAIL_PASSWORD="password"
Edit the site.ts file in the config folder:
export type SiteConfig = typeof siteConfig
export const siteConfig = {
name: "ACME Management",
description:
"Beautifully designed components built with Radix UI and Tailwind CSS.",
businessName: "ACME (Pty) Ltd",
domain: "https://www.acme.com",
domainShort: "ACME.com",
supportEmail: "[email protected]",
mainNav: [
{
title: "Home",
href: "/",
},
],
links: {
dashboard: "/",
assets: "/assets",
settings: "/settings"
},
}
Push the pre-generated schema to your Neon database and create your first user with a password of "Changeme2024!" (after logging in you will be directed to update your password).
npm run db:push
You can also add a user via Drizzle Studio. Make sure you have Drizzle Kit installed.
npm install drizzle-orm -D drizzle-kit
npx drizzle-kit studio
- Drizzle ORM: Get started with Drizzle and Neon.
- Neon DB: Learn how to connect to Neon from Drizzle.
- Upstash Rate Limiting: Redis rate limiting.
- Next Auth Credentials: Sign in with email & password.
- Shadcn: UI Components
- Shadcn's NEXT Template which this repository was forked from