A class meetup app that lets students post spontaneous hangout plans and invite classmates to join — no back-and-forth texting required.
npm install
cp .env.example .env
Required environment variables:
DATABASE_URL=postgresql://...
NEXTAUTH_SECRET=<random secret>
NEXTAUTH_URL=http://localhost:3000
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=<your Google Maps API key>
npx prisma migrate deploy
npm run dev
Open http://localhost:3000.
Prisma schema is at prisma/schema.prisma. Key models:
User — students and adminsClass — a class list with a unique invite codeClassMember — join table between users and classes (with role)Meetup — a hangout plan tied to a class, with location and timeAttendance — RSVP records per user per meetupUseful commands:
npm run db:push # push schema changes without migrations (dev)
npm run db:studio # open Prisma Studio
The build step runs migrations automatically:
npm run build # runs: prisma generate && prisma migrate deploy && next build
npm run start
The app is configured for Vercel deployment. Set the environment variables in your Vercel project settings.