Bharat.
HomeCareerEducationProjectsResume

weekends-plan

Event aggregation platform that discovers, deduplicates, and displays tech/community events across India.

Stack: Next.js 14 (App Router) · TypeScript · MongoDB · Tailwind CSS · shadcn/ui

Quick Start

npm install           # Install dependencies
cp .env.example .env  # Configure MONGODB_URI
npm run dev           # Start dev server on http://localhost:3000

Scripts

CommandDescription
npm run devStart development server
npm run buildProduction build
npm run ingestRun event ingestion pipeline (fetches → dedup → upserts to MongoDB)
npm run lintESLint

Architecture

Workflows (GitHub Actions)      Vercel (Next.js)
       │                              │
       │ npm run ingest               │ SSR pages
       ▼                              ▼
   ┌──────────┐               ┌──────────────┐
   │ Ingestion│ ── upsert ──▶ │   MongoDB    │
   │ Pipeline │               │  (Atlas)     │
   └──────────┘               └──────────────┘
        │                           ▲
        │ POST /api/revalidate      │ getEvents()
        ▼                           │
   ┌──────────┐                     │
   │  ISR     │ ── revalidate ──────┘
   │  Cache   │
   └──────────┘

Project Structure

app/                  Next.js App Router (pages, layouts, API routes)
components/           React components (cards, filters, UI primitives)
components/ui/        shadcn/ui primitives
config/               Source configuration (Luma, Meetup, FOSS, Eventbrite)
lib/                  Shared utilities (MongoDB client, date utils, city aliases, hashing)
services/ingestion/   Ingestion pipeline (clients, registry, orchestrator, location cleaner)
services/             Deduplication engine
types/                TypeScript interfaces
scripts/              CLI entry points (ingest.ts)
.github/workflows/    CI/CD (daily event sync)

Documentation

DocumentDescription
docs/architecture.mdHigh-level design: system architecture, tech stack, deployment
docs/data-model.mdLow-level design: schemas, types, interfaces
docs/ingestion-pipeline.mdIngestion flow: source clients → orchestrator → dedup → MongoDB
docs/components.mdFrontend component tree, state management, filtering
docs/user-journey.mdUser flow diagrams

Screenshots

Main Page (Card View)

Main Page

See docs/screenshots.md for the full walkthrough, including the calendar view and mobile viewports.

License

MIT

Project Details

Stars0
Forks0
LanguageTypeScript
LicenseMIT
UpdatedSep 12, 2026
View CodeLive Demo