A Next.js application with PostgreSQL database, authentication, and modern UI components.
- Node.js and pnpm (or npm/yarn)
- Docker (for local database)
-
Install dependencies:
pnpm install
-
Start the local database:
docker-compose up -d
-
Configure environment variables:
Create a
.env.localfile with:DATABASE_URL=postgresql://omnilog:omnilog_dev_password@localhost:5432/omnilog URL_LOCAL=http://localhost:3000 URL_PUBLIC=https://your-production-domain.com GITHUB_CLIENT_ID=your_github_client_id GITHUB_CLIENT_SECRET=your_github_client_secret GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret
-
Run database migrations:
pnpm db:migrate
-
Start the development server:
pnpm dev
Open http://localhost:3000 to view the app.
pnpm db:generate- Generate migration files from schema changespnpm db:migrate- Run pending migrationspnpm db:push- Push schema changes directly (dev only)
pnpm dev- Start development serverpnpm build- Build for productionpnpm start- Start production serverpnpm lint-format- Lint and format code
- Next.js - React framework
- Tailwind CSS - Utility-first CSS
- TypeScript - Type safety
- Drizzle ORM - TypeScript ORM
- Better Auth - Authentication
- shadcn/ui - UI components
- Biome - Linting and formatting