Clone the repository:
git clone <repository-url>
cd <project-directory>
Install dependencies:
yarn
Set up environment variables:
Create a .env
file in the root directory with the following variables:
SUPABASE_URL=<your-supabase-project-url>
SUPABASE_SERVICE_KEY=<your-supabase-service-key>
# If using Stripe
STRIPE_SECRET_KEY=<your-stripe-secret-key>
NEXT_PUBLIC_STRIPE_PRICE_ID=<your-stripe-price-id>
# If using Clerk
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=<your-clerk-publishable-key>
CLERK_SECRET_KEY=<your-clerk-secret-key>
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/
Configure features:
In config.ts
, set the desired features:
const config = {
auth: {
enabled: true, // Set to false if not using Clerk
},
payments: {
enabled: true, // Set to false if not using Stripe
}
};
Set up the database: Run Prisma migrations:
npx prisma migrate dev
Start the development server:
yarn dev
Open your browser and navigate to http://localhost:3000
to see your application running.
/api/auth/webhook
and for Stripe (if using payments) at /api/payments/webhook
.prisma/schema.prisma
if you need to change the database structure.Refer to the documentation of the individual technologies used in this project for more detailed information: