Skip to content

A high-performance Event Management Marketplace featuring AI-driven vendor matching, and real-time negotiation tools. Built with React 19, Node.js, and Three.js.

Notifications You must be signed in to change notification settings

U-LF/Event-Management-Startup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

34 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Event Management Marketplace

A comprehensive full-stack web application connecting Event Clients with Professional Vendors. This platform facilitates the entire lifecycle of event organization, from posting requirements to bidding, negotiation, and final agreement, enhanced with AI matching and real-time collaboration tools.

๐Ÿš€ Project Overview

The Event Management Marketplace is designed to streamline the chaotic process of finding reliable vendors for events. It acts as a bridge where:

  • Clients can post detailed event requirements, browse vendor profiles, receive competitive bids, and manage their events.
  • Vendors can find new business opportunities, submit proposals, track their bid history, and build their reputation.

The system emphasizes transparency, efficiency, and communication, featuring real-time messaging, detailed proposal tracking, and an intelligent matching engine.

๐Ÿ’ก About the Project

This platform was built to solve the fragmentation and friction in the event planning industry. Most marketplaces only offer directory listings; this project focuses on the entire lifecycleโ€”from the first creative spark in a 3D Moodboard to the final signature on a Digital Contract.

Why this project exists: AI-First Discovery: Moving away from simple keyword search to a weighted multi-objective matching engine. Visual Collaboration: Bridging the gap between client ideas and vendor execution using Three.js spatial planning. Professional Governance: Implementing "FAANG-level" vendor analytics, reputation scoring, and dispute resolution systems.


๐Ÿ“‚ Project Structure

A high-level overview of the Modular Monolith architecture:

Event-Management-Startup/
โ”œโ”€โ”€ client/                           # Frontend React Application
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ api/                      # Axios instances & API definitions
โ”‚   โ”‚   โ”œโ”€โ”€ components/               # Shared UI (ChatWindow, Navbar, Modals)
โ”‚   โ”‚   โ”œโ”€โ”€ features/                 # Feature-Sliced Architecture
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ admin/                # Admin Dashboard & Premium Management
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ auth/                 # Login & Register Forms
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ client/               # Client Dashboard Logic
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ complaints/           # Ticket & Dispute System
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ dashboard/            # Main Role-Based Router
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ events/               # Event Feed & Opportunity Board
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ landing/              # 3D Animated Landing Page
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ messages/             # Real-time Chat Interface
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ proposals/            # Bidding & Contract Modals
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ users/                # Profile & Vendor Directory
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ vendor/               # Vendor Dashboard & Calendar
โ”‚   โ”‚   โ”œโ”€โ”€ context/                  # Theme Context (Light/Dark)
โ”‚   โ”‚   โ”œโ”€โ”€ layouts/                  # App Shell & Route Guards
โ”‚   โ”‚   โ”œโ”€โ”€ stores/                   # Zustand State (Auth, Socket)
โ”‚   โ”‚   โ””โ”€โ”€ lib/                      # Utilities (Three.js helpers, formatters)
โ”‚
โ”œโ”€โ”€ server/                           # Backend Express API
โ”‚   โ”œโ”€โ”€ prisma/                       # Database Schema (SQLite)
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ common/                   # Shared Services
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ services/             # Socket.io, Cron Jobs
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ middleware/           # Auth Middleware
โ”‚   โ”‚   โ”œโ”€โ”€ modules/                  # Domain-Driven Modules
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ admin/                # User Governance & Soft Delete
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ analytics/            # Predictive Insights & Reporting
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ auth/                 # JWT Authentication
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ calendar/             # Vendor Availability Logic
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ complaints/           # Dispute Resolution Logic
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ contracts/            # Digital Signatures
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ events/               # Core Event CRUD
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ matching/             # AI Scoring Engine
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ messages/             # Chat Persistence
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ moodboard/            # 3D & 2D Galleries
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ planner/              # Kanban & Budgeting
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ premium/              # Monetization & Verification
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ users/                # Profile Management
โ”‚   โ”‚   โ””โ”€โ”€ index.ts                  # Server Entry Point
โ”‚
โ””โ”€โ”€ package.json                      # Root configuration

โœจ Features Implemented (Detailed)

1. Core Marketplace & Workflow

  • Event Lifecycle Management:
    • Posting: Clients create events with specific details (budget, location, date).
    • Bidding System: Vendors submit proposals with custom cover letters and dynamic pricing.
    • Digital Contracts: Secure "Pending -> Signed" workflow for finalizing agreements.
    • Status Flow: Open -> In Progress (Accepted) -> Completed -> Reviewed.
  • Social & Engagement:
    • Stories: Vendors can post ephemeral updates (24h expiry) to showcase recent work, similar to Instagram.
    • Reviews: 1-5 Star rating system with text comments.
  • Role-Based Dashboards:
    • Client: Manage posted events, view incoming bids, and track budget. Redesigned filter representation for easier access.
    • Vendor: View "Opportunity Board" (Event Feed), track active jobs, and manage availability.
  • Enhanced UX & Design:
    • Responsive: Fully optimized layout ensuring proper functionality across all screen sizes.
    • Authentication: Completely redesigned Login and Sign-Up pages with improved animations and layout.
    • Landing Page: Enhanced design with platform statistics, featured events showcase, and streamlined CTA.
    • Messaging: Redesigned chat interface for a smoother communication experience.

2. Intelligent Discovery (AI & Matching)

  • AI Smart Match Engine (/modules/matching):
    • Algorithm: A weighted scoring system (Symbolic AI) that ranks vendors based on 4 vectors:
      • Relevance (40%): Keyword matching against vendor bio and tags.
      • Reputation (20%): Weighted average of star ratings and review count.
      • Reliability (20%): Response time and completion rates.
      • Boost (20%): Premium subscription status.
    • Constraint Checking: Automatically filters out vendors with conflicting dates in the Availability Calendar.
    • Smart Search: Includes a budget range slider interface (in progress) and advanced filtering by Location, Category, and Rating.

3. Planning & Visual Intelligence

  • Interactive Event Planner:
    • Kanban Board: Drag-and-drop task management.
    • Budget Tracker: Real-time comparison of "Estimated" vs "Actual" spending using Recharts.
    • Guest List: Manage guest attendance status (Pending, Confirmed, Declined).
  • Physics-Enabled 3D Planner (/modules/moodboard):
    • Engine: Powered by Three.js (@react-three/fiber) and Cannon.js (@react-three/cannon).
    • Features: Interactive drag-and-drop furniture placement, collision detection, rotation controls, and real-time cloud saving.
  • Vendor Calendar:
    • Monthly View: New calendar interface for managing availability.
    • Quick Blocking: One-click functionality to block/unblock specific dates.

4. Monetization & Premium Ecosystem

  • Subscription Models: 3 distinct Premium Package options displayed with detailed perks.
  • Payment & Verification:
    • Manual payment proof upload (handled via Multer) for package requests.
    • Support for Bank Transfer details managed by Admins.
  • Visibility Boosts:
    • Featured Badge: Gold crown indicator for premium vendors.
    • Priority Sorting: Premium vendors appear at the top of search results.
  • Automated Governance: Hourly Cron jobs (node-cron) check subscription validity and auto-downgrade expired accounts.

5. Admin & Governance

  • User Lifecycle:
    • Hold: Temporarily block login access.
    • Soft Delete: Mark for deletion (30-day grace period).
    • Purge: Permanent data removal.
  • Complaint Center: Dedicated ticket system for dispute resolution between clients and vendors, now supporting file attachments.
  • Analytics: Platform-wide stats on active users, revenue, and event completion rates.

๐Ÿ“ก Key API Endpoints (Reference)

Authentication

  • POST /api/auth/register - Create a new account.
  • POST /api/auth/login - Authenticate and receive JWT.

Events

  • GET /api/events - List all open events (with filters).
  • POST /api/events - Create a new event.
  • GET /api/events/my - List events created by the logged-in user.

Proposals

  • POST /api/proposals - Submit a bid for an event.
  • PUT /api/proposals/:id/accept - Client accepts a proposal.

Matching & Discovery

  • POST /api/matching/find - (AI Engine) Returns ranked vendors based on event criteria.
    • Note: Logic resides in server/src/modules/matching/matching.service.ts.

Monetization

  • POST /api/premium/request - Submit a premium plan request (requires multipart/form-data for proof).

๐Ÿ—บ๏ธ Roadmap & Implementation Plan

Phase 1: Foundation & Auth โœ…

  • Project Monorepo Setup (Client/Server)
  • JWT Authentication & Role-Based Access Control
  • Database Schema Design (Prisma)
  • Basic User Profiles

Phase 2: Core Marketplace Loop โœ…

  • Event Creation & Listing
  • Bidding/Proposal System
  • Digital Contracts & Signatures
  • Review & Rating System

Phase 3: Real-Time Communication โœ…

  • Socket.io Setup
  • Instant Messaging (Chat)
  • Stories (Ephemeral Content)
  • Live Notifications

Phase 4: Advanced Features (The "Wow" Factor) โœ…

  • AI Smart Match Algorithm
  • 3D Event Planner (Three.js + Cannon.js)
  • Vendor Availability Calendar
  • Kanban Task Manager

Phase 5: Monetization & Admin โœ…

  • Premium Subscription Logic
  • Admin Dashboard & User Governance
  • Complaint/Ticket System
  • Automated Cron Jobs for Subscription Expiry

Future Outlook (Post-v1.0) ๐Ÿ”ฎ

  • Payment Gateway: Integration with Stripe/Razorpay for automatic subscription billing.
  • Mobile App: React Native port for iOS/Android.
  • Social Login: Google/Apple Auth integration.

๐Ÿ› ๏ธ Tech Stack

Frontend

Backend

๐Ÿ—„๏ธ Database Schema Details (Prisma)

The SQLite database uses a relational model with the following key entities:

  • User: Central entity for all roles (CLIENT, VENDOR, ADMIN).
    • Key Fields: role, isVerified, accountStatus, credits (for promotion).
    • Relations: One-to-many with Event, Proposal, Review, Message.
  • Event: Represents a job posting.
    • Lifecycle: OPEN -> IN_PROGRESS -> COMPLETED.
    • Relations: Links to MoodBoard (one-to-one) and Proposal (one-to-many).
  • Proposal: A vendor's bid on an event.
    • Flow: Starts as PENDING, can become ACCEPTED or REJECTED.
    • Relations: Links to Contract (one-to-one).
  • PremiumRequest: Handles vendor upgrade requests.
    • Storage: Stores paymentProofUrl pointing to /uploads.

โšก Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm

Installation

  1. Install all dependencies:

    npm run install-all
  2. Database Setup:

    cd server
    npx prisma migrate dev
    npx prisma generate
    cd ..
  3. Environment Configuration: The application requires a .env file in the server directory. Ensure the following variables are set:

    Variable Description Default/Example
    PORT The port for the backend server. 5000
    DATABASE_URL Connection string for the SQLite database. file:./dev.db
    JWT_SECRET Secret key for signing JSON Web Tokens. your_super_secret_key_123
    VITE_API_URL (Client-side) Base URL for the backend API. http://localhost:5000

Running the Application

Start both the Backend and Frontend servers:

npm run dev
  • Frontend: http://localhost:5173
  • Backend: http://localhost:5000

๐Ÿ“œ Key Commands

Command Description
npm run install-all Installs root, client, and server dependencies.
npm run dev Runs both Frontend and Backend concurrently.
npx prisma migrate dev (Run in /server) Applies schema changes and updates DB.
npx prisma generate (Run in /server) Regenerates the Prisma Client.
npx prisma studio (Run in /server) GUI to view/edit database records.
npx tsx --env-file=./server/.env seed-admin.ts Seeds the initial Master Admin account.
npx tsx test-db.ts Verifies database connectivity.

๐Ÿ› Implementation Notes

  1. Smart Vendor Search (Budget Slider):

    • Status: The UI component exists, but the backend matching algorithm (MatchingService) may need an update to strictly filter by the budget range parameter passed from the frontend.
    • File: server/src/modules/matching/matching.service.ts
  2. Payment Proofs:

    • Implementation: Uses Multer for file uploads. Files are saved to server/uploads with a timestamp prefix.
    • File: server/src/modules/premium/premium.routes.ts
  3. 3D Moodboard:

    • Logic: Spatial data is stored as a JSON string in the MoodBoard table (spatialData column) to allow flexibility without complex relation tables for every furniture item.

๐Ÿ”‘ Demo Accounts

A Master Admin account is available for testing administrative features:

  • Login URL: /login
  • Email: admin@eventstart.com
  • Password: adminpassword123

About

A high-performance Event Management Marketplace featuring AI-driven vendor matching, and real-time negotiation tools. Built with React 19, Node.js, and Three.js.

Topics

Resources

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages