The hub for developer events — discover hackathons, meetups, and conferences in one place.
- Next.js 16 (App Router) + TypeScript
- Tailwind CSS v4
- MongoDB with Mongoose
- PostHog analytics (optional)
- Install dependencies:
npm install
- Create
.env.localin the project root:# Required MONGODB_URI=mongodb+srv://<user>:<pass>@<cluster>/<db>?retryWrites=true&w=majority # Optional (for analytics) NEXT_PUBLIC_POSTHOG_KEY=phc_xxx
- Run the dev server:
App runs at http://localhost:3000
npm run dev
npm run dev— start development servernpm run build— build for productionnpm run start— start production servernpm run lint— lint the codebase
- Responsive UI with event cards and categories
- Complete REST API for events and bookings
- Advanced search and filtering
- Analytics dashboard data
- Image upload via Cloudinary
- Strongly-typed Mongoose models
app/— routes, pages, and layoutcomponents/— UI componentslib/— utilities (e.g., MongoDB connection)database/— Mongoose modelspublic/— static assets (icons/images)
GET /api/events— list all eventsPOST /api/events— create event (JSON/form-data with image upload)GET /api/events/[slug]— get single eventPUT /api/events/[slug]— update eventDELETE /api/events/[slug]— delete eventGET /api/events/search— search/filter eventsGET /api/bookings— list bookings (optional ?eventId=...)POST /api/bookings— create bookingGET /api/stats— analytics dataGET /api/categories— unique tags/modes/locations
# Required
MONGODB_URI=mongodb+srv://...
# Optional (for image uploads)
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
# Optional (for analytics)
NEXT_PUBLIC_POSTHOG_KEY=phc_xxx- Ensure images referenced in
lib/constants.tsexist underpublic/images. - If using PostHog, Next rewrites are configured in
next.config.tsunder/ingest. - Image uploads require Cloudinary credentials and use the nodejs runtime.