Peerly

A class meetup app that lets students post spontaneous hangout plans and invite classmates to join — no back-and-forth texting required.

What it does

Tech stack

Getting started

Prerequisites

Setup

  1. Clone the repo and install dependencies:
npm install
  1. Copy the environment file and fill in your values:
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>
  1. Run database migrations:
npx prisma migrate deploy
  1. Start the development server:
npm run dev

Open http://localhost:3000.

Database

Prisma schema is at prisma/schema.prisma. Key models:

Useful commands:

npm run db:push     # push schema changes without migrations (dev)
npm run db:studio   # open Prisma Studio

Deployment

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.