Based on w3cj/next-start
A basic Next.js starter.
- Linting / Code Style
- Environment Variables
- Styles / UI
- Validation
- Forms
- Database
- Authentication
The main branch contains the entire setup. The following branches build on each other from top to bottom:
- base
- eslint / prettier settings
- nextui
- layout / styles
- dark / light theme toggle
- typesafe-env
- typesafe environment variables
- next-auth
- google oauth with no database
- drizzle / main
- basic drizzle schema with users / accounts / sessions
- Install dependencies:
pnpm install
- Copy the
.env
file:
cp .env.example .env
- Update the following values in the
.env
file:
NEXTAUTH_SECRET=your-value-here
GOOGLE_CLIENT_ID=your-value-here
GOOGLE_CLIENT_SECRET=your-value-here
- Start the database:
docker compose up
- Migrate the database:
pnpm run db:migrate
- Start the app:
pnpm run dev