EventMate is a comprehensive event management solution designed to streamline registration, payment verification, and attendance tracking for events of any scale. The application bridges the gap between payment processing and event attendance management by automatically verifying UPI payments against participant records and providing QR code-based check-in functionality.
Currently, EventMate is optimized for managing a single event efficiently. Development is underway to support multiple events within a single dashboard, allowing organizers to manage concurrent events while maintaining the same streamlined verification and attendance tracking features.
Built with modern web technologies, EventMate offers an intuitive interface for event organizers to:
- Verify payments by matching PhonePe transaction statements with participant data
- Generate unique QR codes for verified participants
- Track attendance in real-time using QR code scanning
- Monitor event metrics through a comprehensive dashboard
- Automated Payment Verification: Match UTR IDs from PhonePe statements with participant records
- QR Code Management: Generate and distribute secure QR codes to verified participants
- Attendance Tracking: Scan QR codes to mark attendance with real-time updates
- Dashboard Analytics: Monitor verification status, attendance rates, and participant metrics
- Activity Logging: Track all system activities with detailed audit trails
The frontend is built with React, TypeScript, and Vite, providing a responsive and intuitive user interface.
- Dashboard: Central hub displaying event statistics and recent activities
- Verification Page: Upload and process payment records against participant data
- QR Generator: Create and manage QR codes for verified participants
- QR Scanner: Scan QR codes to verify participants and mark attendance
- Unattended List: View verified participants who haven't checked in yet
- Activity Log: Track all system actions for audit purposes
The backend is powered by Node.js with Express, providing RESTful APIs for the frontend and business logic.
- Verification Service: Process payment statements and match transactions
- Participant Management: Handle participant data and verification status
- QR Code Service: Generate secure, participant-specific QR codes
- Attendance Tracking: Record and manage participant check-ins
- Activity Logging: Track and store all system activities
Contains API documentation and usage guides.
- OpenAPI Specification: Complete API documentation following OpenAPI 3.0 standard
- API Documentation: Available online at https://pradyumna-7.github.io/EventMate/
- Node.js (v14 or higher)
- MongoDB (v4.4 or higher)
- npm or yarn
-
Navigate to the backend directory:
cd e:\EventMate\backend
-
Install dependencies:
npm install
-
Create a
.env
file in the backend directory with the following content:PORT=5000 MONGODB_URI=mongodb://localhost:27017/eventmate QR_SECRET=your-secure-random-string EMAIL_SERVICE=gmail EMAIL_USER=your-email@gmail.com EMAIL_PASS=your-email-password-or-app-password
-
Start the development server:
npm run dev
-
Navigate to the frontend directory:
cd e:\EventMate\frontend
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Access the application at
http://localhost:5173
-
Build the backend:
cd e:\EventMate\backend npm run build
-
Build the frontend:
cd e:\EventMate\frontend npm run build
-
The frontend build will be in
frontend/dist
directory which can be served using any static file server. -
The backend can be started using:
cd e:\EventMate\backend npm start
The QR Scanner module allows event organizers to efficiently check in participants using a smartphone camera. Follow these steps to use the QR scanner functionality:
Allow your browser to give access to the application and you can then use your machine's webcam directly to scan QR codes for participants upon on entry
The application can easily connect to your phone and use its camera as the QR scanner. Follow the steps below to connect your phone to the application
Step 1: Check System Requirements
- PC: Windows 10 (October 2018 update or later) or Windows 11.
- Phone:
- Android: Android 7.0 or higher.
- iPhone: iOS 14 or higher.
Step 2: Setup Windows Phone Link
Follow the steps outlined in the link below
How to Connect Smartphone to Windows PC using Phone Link
Step 3: Follow the steps in the video below
Ensure that your phone is connected to your PC through windows phone link Click the image below to watch the video tutorial on how to use your phone for QR scanning.
- Open settings on your PC
- Go to Bluetooth & Devices > Mobile Devices > Manage Devices
- You should see your connected phone
- Click on "Manage Devices" and turn on the option: "Use as a connected camera"
EventMate is designed to be modular and flexible, allowing for integration with existing management systems in several ways:
The backend provides comprehensive RESTful APIs that can be consumed by any external system:
-
Participant Data Import/Export: Use the API endpoints to programmatically import participant data from your existing systems or export verification results.
-
Webhook Support: Implement webhooks to notify your existing systems when payment verification or attendance status changes.
-
MongoDB Integration: If your existing system uses MongoDB, you can either:
- Share the same MongoDB instance with appropriate collection namespacing
- Set up replication between MongoDB instances
-
Data Synchronization: Implement scheduled jobs to synchronize data between EventMate's MongoDB and your existing database.
-
Iframe Embedding: Specific pages of EventMate can be embedded within your existing web application using iframes.
-
White-labeling: Customize the UI to match your organization's branding by modifying the frontend theme variables.
-
Single Sign-On (SSO): Implement SSO to allow seamless authentication between your system and EventMate.
-
Custom Fields: Extend the participant schema to include organization-specific fields.
-
Additional Payment Providers: Extend the verification module to support additional payment providers beyond PhonePe.
-
Custom Reports: Create custom reporting modules that aggregate data according to your organization's needs.
For a college festival registration system:
- Export registered student data as CSV
- Import into EventMate for payment verification
- Use the QR code system for event check-in
- Export attendance data back to the college management system