Skip to content

YashVarpe05/DevEvent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

125 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevEvent - discover hackathons, meetups, and workshops across India

DevEvent

India's developer event platform for discovering, hosting, selling, and managing tech events.

Live Site | Vercel Preview | Deployment Guide | CI

CI Next.js React TypeScript MongoDB Vercel


What is DevEvent?

DevEvent is a production-ready event platform built for developer communities. Attendees can discover events, register in seconds, receive QR tickets, join waitlists, follow organizers, and add events to their calendars. Organizers get a full operating dashboard for publishing events, managing tickets, sending announcements, checking attendees in, tracking referrals, issuing refunds, and reviewing feedback.

It is designed for real-world event workflows: free RSVPs, paid ticketing, capacity limits, approvals, waitlists, promo codes, co-host access, webhooks, lifecycle emails, cron jobs, SEO, analytics, monitoring, and CI.

Highlights

For attendees

  • Browse events by city, category, and trend signals
  • Register for free or paid events
  • Join waitlists when events are full
  • Receive QR tickets and email confirmations
  • Add events to Google, Outlook, or ICS calendars
  • Follow organizers and get new-event notifications
  • Leave feedback after attending

For organizers

  • Create drafts and publish with validation
  • Configure tickets, pricing, capacity, and promo codes
  • Manage approvals, cancellations, refunds, and payouts
  • Scan QR tickets with camera-based check-in
  • Invite guests and send event announcements
  • Add co-hosts for day-of event operations
  • Track referrals, earnings, and attendee feedback

Platform quality

  • Signed QR ticket payloads with HMAC validation
  • Webhook signature verification for payments
  • Rate limiting with Redis and local fallback
  • Mass-assignment-safe API validation
  • Dynamic OG images, sitemap, robots, and metadata
  • Sentry, PostHog, health checks, and preflight scripts
  • GitHub Actions for typecheck, tests, and production build

Tech Stack

Area Stack
App Next.js 16 App Router, React 19, TypeScript
Styling Tailwind CSS 4, custom design system, Framer Motion, GSAP
Data MongoDB Atlas, Mongoose, Upstash Redis
Auth NextAuth v5, credentials auth, Google OAuth
Payments Razorpay, Stripe, Stripe Connect
Email Resend transactional emails
Media Cloudinary, Next Image
Analytics and monitoring PostHog, Sentry, /api/health
Testing and CI Vitest, mongodb-memory-server, GitHub Actions
Deployment Vercel, GitHub Actions cron workflows

Product Workflow

flowchart LR
  A["Organizer creates event"] --> B["Draft validation"]
  B --> C["Published event page"]
  C --> D["Attendee registration"]
  D --> E{"Capacity available?"}
  E -->|Yes| F["Confirmed ticket + QR"]
  E -->|No| G["Waitlist"]
  G --> H["Auto-promotion when seats open"]
  F --> I["Calendar + email reminders"]
  I --> J["QR check-in"]
  J --> K["Feedback + payout summary"]
Loading

Quick Start

Prerequisites

  • Node.js 24 recommended
  • npm 11+
  • MongoDB Atlas connection string
  • Optional: Upstash Redis, Resend, Cloudinary, Razorpay, Stripe, PostHog, Sentry

Run locally

git clone https://github.com/YashVarpe05/DevEvent.git
cd DevEvent
npm install
cp .env.example .env.local
npm run dev

Open http://localhost:3000.

At minimum, fill these in .env.local:

MONGODB_URI=mongodb+srv://user:password@cluster.mongodb.net/devevents
NEXTAUTH_SECRET=replace-with-a-long-random-secret
NEXTAUTH_URL=http://localhost:3000
NEXT_PUBLIC_BASE_URL=http://localhost:3000

Seed demo data

npx tsx scripts/seed-demo-data.ts

Default demo password:

Demo@1234

The seed script creates sample organizers, attendees, events, tickets, and registrations. You can override the email base:

SEED_EMAIL_BASE=you@gmail.com npx tsx scripts/seed-demo-data.ts

Environment Variables

See .env.example for the full list. The most important values are:

Variable Required Purpose
MONGODB_URI Yes MongoDB Atlas connection string with a database name
NEXTAUTH_SECRET Yes Auth and token signing secret
NEXTAUTH_URL Production Canonical auth callback URL
NEXT_PUBLIC_BASE_URL Production Canonical public site URL for emails, metadata, and calendar links
CRON_SECRET Production Protects scheduled job endpoints
UPSTASH_REDIS_REST_URL / UPSTASH_REDIS_REST_TOKEN Recommended Distributed rate limiting and caching
RESEND_API_KEY / RESEND_FROM_EMAIL Email Transactional email delivery
RAZORPAY_KEY_ID / RAZORPAY_KEY_SECRET Paid events India-first payment processing
STRIPE_* Optional Stripe payments, webhooks, and Connect
CLOUDINARY_URL Media uploads Image storage
SENTRY_DSN / NEXT_PUBLIC_SENTRY_DSN Optional Error monitoring

Production boot validates critical values through instrumentation.ts. Optional integrations degrade gracefully when unset.

Scripts

Command Purpose
npm run dev Start the local dev server
npm run build Create a production build
npm start Start the production server
npm run lint Run ESLint
npm test Run the Vitest suite
npm run preflight Check production-facing configuration without printing secrets
npm run db:indexes Ensure MongoDB indexes exist
npx tsc --noEmit Run TypeScript checks

Testing

npm test

The integration suite uses mongodb-memory-server, so tests do not require a local MongoDB process. The first run may download a MongoDB binary and can take longer than later runs.

CI runs on every push and pull request:

  1. Install dependencies
  2. Typecheck
  3. Run tests
  4. Build the production app

Deployment

DevEvent is deployed on Vercel.

Production:

Read the full launch runbook in docs/DEPLOYMENT.md. It covers Vercel setup, environment variables, custom domains, Google OAuth, Razorpay and Stripe webhooks, scheduled jobs, and post-deploy smoke tests.

Scheduled work is handled by GitHub Actions:

Workflow Purpose
.github/workflows/cron-hourly.yml Event lifecycle reminders
.github/workflows/cron-daily.yml Event cleanup and organizer payout summaries
.github/workflows/ci.yml Typecheck, tests, and build

Project Structure

app/                 Next.js App Router pages, layouts, API routes, metadata
components/          Reusable UI and feature components
database/            Mongoose models
hooks/               Client-side React hooks
lib/                 Auth, email, payments, caching, analytics, validations
scripts/             Seed, preflight, and database utility scripts
docs/                Deployment and feature documentation
__tests__/           Vitest integration and unit tests
public/              Static assets and share images

Security Notes

  • QR tickets are signed and verified before check-in.
  • Payment webhooks verify provider signatures before mutating orders.
  • API inputs are validated with Zod and scoped to the authenticated user.
  • Cron endpoints require CRON_SECRET.
  • Rate limiting uses Upstash Redis in production and a local fallback in development.
  • Secrets belong in .env.local, Vercel environment variables, or GitHub Secrets. Never commit real credentials.

Roadmap Ideas

  • Public organizer verification badges
  • Event collections and curated city pages
  • Mobile-first check-in operator mode
  • Better attendee recommendations
  • Admin analytics for platform health
  • Native calendar subscription improvements

Contributing

Contributions are welcome. A good local loop is:

npm install
npm run preflight
npx tsc --noEmit
npm test
npm run build

Keep changes focused, add tests for risky behavior, and update docs when workflows or environment requirements change.

License

No license file is currently committed. Add a LICENSE file before accepting external reuse or distribution.

About

A comprehensive platform for developers to discover and manage events like hackathons, meetups, and conferences. This project is built with Next.js and MongoDB, providing a seamless experience for finding and organizing tech events.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages