src/app/layout.tsx: Modify metadata as needed- Optional: Set up fonts
src/app/page.tsx: Setup a heading here for initial test- Add favicon at
src/app/favicon.icoorsrc/app/icon.png - Add various routing files
- ShadCn Themes you can use to copy to
src/app/global.css - I Recomended UI Colours by Sajid for a nice colour pallete
- Simple helpers to log to console in Dev Mode -
log-in-dev-mode.ts - Validate formdata with zod -
validate-formdata-with-zodtype.ts - The above function takes a schema and returns data if it matches schema. Else throws an error
- Example usage of
validateFormDataWithZodSchemafunction; better to wrap in atry-catch
const rawData = Object.fromEntries(formData);
const validatedData: ValidDataType = validateFormDataWithSchema(
schemaToUse,
rawData,
);- Add
DATABASE_URLto .env - This may be either a local database in dev, or a production database (see docs)
- Check local and production drizzle config files at
drizzle.config.tsanddrizzle.config.prod.ts
- Neon DB Setup
- Clerk Auth with users table and Role based authentication
- Basic Formcontainers
- NextJS 16
- vercel hosting
- shadcn ui
- Drizzle ORM
- Zod
- NeonDB
- Clerk Auth
- Next Blob Storage
- SWR for data fetching
- Framer Motion for animations
- Next SEO for boosting SEO
- next-sitemap to autogenerate sitemaps
- Addition Options here
- DATABASE_URL in
.env