Installation

[!NOTE] EventSlot currently uses Paystack for billing flows in this repository. Stripe setup is not the active payment path.

Step-by-step installation

  1. Install dependencies:
npm install
  1. Create local env file:
cp .env.example .env.local
  1. Generate Prisma client:
npm run db:generate
  1. Apply DB schema locally:
npm run db:push
  1. Start app:
npm run dev

Configure Google OAuth credentials

  1. Create OAuth credentials in Google Cloud Console.
  2. Add GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET to .env.local.
  3. Set NEXTAUTH_URL to your local app URL, usually http://localhost:3000.

Configure Paystack test keys

Use PAYSTACK_SECRET_KEY in local env for billing route testing.

Verify app runs locally

  • open home page
  • create or sign in user
  • access dashboard
  • create an event
  • submit registration via event link

Common installation issues

SymptomCauseFix
NextAuth callback errorsNEXTAUTH_URL mismatchSet NEXTAUTH_URL correctly
Prisma connection errorDATABASE_URL invalidUse Neon pooled URL
Migration errorDIRECT_URL missingAdd direct Neon URL
OAuth login failsbad Google credentialsRe-check client ID/secret and callback domain
Billing verify failsmissing Paystack secretSet PAYSTACK_SECRET_KEY