# 🚗 CarSense
This is a fullstack [Next.js](https://nextjs.org) app built using the **App Router**, **Server Actions**, **Clerk** for authentication, and **Supabase PostgreSQL** as the database.
Now with full **Docker support** 🐳 for production and local environments!
---
## 🚀 Getting Started (Local Development)
Install dependencies:
```bash
npm installRun the development server:
npm run devThen open http://localhost:3000 in your browser.
- Build the Docker image:
docker build -t carsense \
--build-arg NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your-clerk-key .- Run the container:
docker run -p 3000:3000 --env-file .env carsenseThen visit: http://localhost:3000
- Edit the homepage at:
app/page.js - Dynamic routes like
/adminuseexport const dynamic = 'force-dynamic'to support runtime headers - Prisma client is auto-generated during Docker build (
prisma generate) - Clerk's public key is injected at build time, not runtime
This app can be deployed using:
Make sure to provide necessary environment variables such as:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/signin
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/signup
NEXT_PUBLIC_CLERK_SIGN_IN_FALLBACK_REDIRECT_URL=/
NEXT_PUBLIC_CLERK_SIGN_UP_FALLBACK_REDIRECT_URL=/
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
DATABASE_URL=
# Direct connection to the database. Used for migrations
DIRECT_URL=
ARCJET_KEY=
NODE_ENV=
GEMINI_API_KEY=Built with ❤️ for modern fullstack apps using Next.js, Clerk, Arcjet and Supabase.