NexGenStudioDev / NexGenStudioDev/CommDesk-Website

[FEATURE] Enterprise Events Platform – Public Event Discovery, Registration & Management

Open
#6 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
1
Forks
8
PR merge metrics
No merged PRs in 30d

Description

Create a scalable Event Listing Page similar to:

  • Devfolio
  • Unstop
  • Hack2Skill
  • Devpost

The page should allow users to discover events efficiently through advanced filtering, searching, sorting, recommendations, and personalized feeds.

This module will be the primary traffic source of the platform.


Business Goals

User Goals
  • Find relevant events quickly
  • Discover hackathons matching skills
  • Filter events by interests
  • Track registration deadlines
  • Save events for later
  • Share events
Business Goals
  • Increase registrations
  • Improve engagement
  • Increase retention
  • Promote sponsored events
  • Generate analytics data

Supported Event Types

Hackathon
Workshop
Webinar
Bootcamp
Conference
Meetup
Hiring Challenge
Coding Contest
Design Challenge
Open Source Program
Internship Drive
Scholarship Program
Fellowship Program

Page Layout

---------------------------------------------------
Navbar
---------------------------------------------------
Announcement Banner
---------------------------------------------------
Search Bar
---------------------------------------------------
Quick Filters
---------------------------------------------------
Category Tabs
---------------------------------------------------
Featured Events Carousel
---------------------------------------------------
Event Listing Grid
---------------------------------------------------
Pagination
---------------------------------------------------
Footer
---------------------------------------------------

Search System

Global Search

Users should search by:

  • Event Name
  • Organizer Name
  • Technologies
  • Tags
  • Location
  • Skills

Example:

React Hackathon
AI Competition
Google Developer Event
Web3 Challenge

Search Features

Instant Search
  • Debounced Search
  • Search Suggestions
  • Recent Searches
Search History

Store:

{
  userId: string;
  query: string;
  searchedAt: Date;
}

Filter System

Event Type Filter

Hackathon
Workshop
Webinar
Conference
Meetup
Contest

Mode Filter

Online
Offline
Hybrid

Price Filter

Free
Paid

Difficulty Filter

Beginner
Intermediate
Advanced

Team Size Filter

Solo
2-4 Members
5-10 Members

Prize Pool Filter

0-10k
10k-50k
50k-100k
100k+

Date Filter

Today
This Week
This Month
Upcoming

Technology Filter

React
Node.js
AI
Machine Learning
Blockchain
Web3
Cloud
DevOps
Cyber Security

Location Filter

India
USA
Europe
Asia
Remote

Sorting

Users can sort by:

Newest
Most Popular
Registration Deadline
Highest Prize Pool
Trending
Most Registered

Event Card Design

Every Event Card should contain:

Banner Image
Event Name
Organizer Logo
Organizer Name
Event Type
Mode
Location
Prize Pool
Registration Deadline
Participants Count
Tags
Bookmark Button
Share Button
Register Button

Event Card States

Registration Open

Status: Open
Green Badge

Registration Closing Soon

Status: Closing Soon
Orange Badge

Registration Closed

Status: Closed
Red Badge

Live

Status: Live
Blue Badge

Featured Events Section

Top section carousel.

Selection Criteria:

Sponsored Events
Trending Events
Popular Events
Editor's Choice

Recommended Events

For Logged-In Users

Recommendation based on:

Skills
Past Registrations
Interests
Bookmarks
Search History

AI Recommendation Score:

{
  eventId: string;
  userId: string;
  score: number;
}

Bookmark System

Users can:

  • Save Event
  • Remove Event
  • View Saved Events

Schema:

{
  userId: string;
  eventId: string;
  createdAt: Date;
}

Share System

Supported:

LinkedIn
Twitter/X
WhatsApp
Telegram
Copy Link

Tracking:

Share Count
Share Source

Event Analytics

Track:

Impressions
Views
Clicks
Registrations
Bookmarks
Shares
CTR

Database Schema

Event

{
  id: string;
  title: string;
  slug: string;
  description: string;
  bannerUrl: string;

  type: string;
  mode: string;

  prizePool: number;

  location: string;

  registrationStart: Date;
  registrationEnd: Date;

  eventStart: Date;
  eventEnd: Date;

  organizerId: string;

  participantsCount: number;

  tags: string[];

  isFeatured: boolean;

  createdAt: Date;
  updatedAt: Date;
}

Organizer

{
  id: string;
  name: string;
  logo: string;
  verified: boolean;
}

API Endpoints

Get Events

GET /api/events

Query Params:

?page=1
&limit=20
&search=react
&type=hackathon
&mode=online
&sort=popular

Event Details

GET /api/events/:id

Bookmark Event

POST /api/events/:id/bookmark

Remove Bookmark

DELETE /api/events/:id/bookmark

Frontend Components

EventCard
EventGrid
EventFilterSidebar
SearchBar
CategoryTabs
FeaturedCarousel
Pagination
BookmarkButton
ShareButton
EmptyState
LoadingState

Performance Requirements

Core Web Vitals
LCP < 2.5s
CLS < 0.1
FID < 100ms

Optimization
  • Infinite Scroll
  • Image Lazy Loading
  • CDN
  • Query Caching
  • Server Side Rendering
  • Edge Caching

Security

Search Protection
  • Rate Limiting
  • Input Validation
  • SQL Injection Protection
APIs
  • JWT Validation
  • RBAC
  • Audit Logs

Mobile Responsiveness

Breakpoints
Mobile
Tablet
Laptop
Desktop
Ultra Wide

Must support:

  • Touch Gestures
  • Mobile Filters Drawer
  • Sticky Search

Acceptance Criteria

  • Users can discover events easily
  • Search returns results under 300ms
  • Filters work together
  • Event cards load correctly
  • Mobile responsive
  • Analytics tracking implemented
  • Bookmarking works
  • Sharing works
  • Featured events work
  • Pagination/Infinite Scroll works
  • SEO optimized

Tech Stack

Frontend
  • Next.js 15
  • TypeScript
  • Tailwind CSS
  • ShadCN UI
  • TanStack Query
Backend
  • NestJS
  • PostgreSQL
  • Prisma
  • Redis
Search
  • Elasticsearch / Meilisearch
Analytics
  • PostHog
  • Google Analytics

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inventorying the existing project structure and locating the event listing entry point, the listed frontend components, and the /api/events endpoints. Compare the current implementation with the required filters, cards, bookmarks, sharing, analytics, responsiveness, and performance criteria. Done means the full discovery flow and its acceptance criteria work together, but the issue does not identify existing files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
elasticsearch, next.js, postgresql, redis, tailwindcss, typescript
Domain
analytics, api, backend, databases, frontend, full-stack, mobile-dev, performance, search
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.