Kumaraguru Events Portal

Complete guide to user roles, permissions, and step-by-step workflows for managing large-scale college festivals

System Overview

The Kumaraguru Events Portal manages multiple events and workshops. The system uses a role-based access control (RBAC) model with two layers:


Layer 1: User Roles

  • Participant — Regular users who browse and register
  • Admin — Administrative users with granular permissions

Layer 2: Admin Groups (for Admins only)

  • 6 admin groups control what each admin can see and do
  • Admins can belong to multiple groups
  • Coordinators get per-event or per-workshop access

All User Roles at a Glance

Participant
Regular user — the default role for everyone who registers
Browse Events Register Pay Online Join Teams Submit Forms View Dashboard
Super Admin
Full unrestricted access to everything — bypasses all permission checks
All Permissions Manage Groups Assign Roles System Settings
Developer Admin
System configuration, user management, and technical operations
Settings Users Groups Activity Log Receipts
Events Admin
Create, edit, and manage all events and event categories
Create Events Edit Events Event Combos Categories Email Reports
Workshops Admin
Create, edit, and manage all workshops and speakers
Create Workshops Edit Workshops Speakers Categories Email Reports
Cashier Admin
Handle payments, transactions, refunds, and approve paid events
Transactions Approvals Refunds Razorpay Settings
Forms Admin
Create and manage contribution forms for data collection
Create Forms Manage Questions View Responses
Event / Workshop Coordinator
Assigned to specific events or workshops for on-ground management
Registrations Attendance Teams Rounds/Winners Send Emails

Admin Groups & Sidebar Access

How it works: Each admin group grants access to specific sidebar sections in the admin panel. An admin user sees only the sections their group(s) allow. Super Admin sees everything.
Admin Group Sidebar Sections Settings Access Email Reports
Super Admin All Sections (*) All settings All reports
Developer Admin Dashboard Analytics Settings Users Groups Activity Log Receipts Email Reports All settings All reports
Events Admin Dashboard Analytics Events Settings Email Reports Categories, Sub-categories Events only
Workshops Admin Dashboard Analytics Workshops Settings Email Reports Categories, Sub-categories Workshops only
Cashier Admin Dashboard Analytics Payments Settings Razorpay Accounts None
Forms Admin Dashboard Analytics Contribution Forms None None

Participant Guide

This is the default role for every new user. Here's everything a participant can do:

1. Getting Started

  1. Go to the portal and click Continue with Google or Microsoft
  2. Fill in your details: name, email, phone, college, department, year
  3. Verify your email via OTP
  4. You're now logged in as a Participant

2. Browsing Events & Workshops

  1. Visit the Events page to see all published events
  2. Use search (full-text), filters (category, department, date), and sorting
  3. Click any event to view full details: description, rules, schedule, fees, venue
  4. The Workshops page works the same way, with speaker info included

3. Registering for an Event

  1. Open the event page and click Register
  2. Fill in any custom form fields the event requires (e.g., T-shirt size, dietary preference)
  3. Free event: Registration is instantly confirmed
  4. Paid event: You'll be redirected to Razorpay to complete payment
  5. After payment, your status changes to Confirmed
  6. If the event is full, you'll be placed on a Waitlist
Register Pay (if needed) Confirmed

4. Registering for a Workshop

Same flow as events. Workshops do not have team support, so registration is always individual.

5. Joining a Team

  1. Some events require teams. You can create a team (become the leader) or join an existing one
  2. As a leader: Create the team, then invite members by their email
  3. Invited members receive an invitation link (via email)
  4. Members click the link to accept and join the team
  5. Once all members join, the team status becomes Confirmed
  6. Payment: The leader can pay for everyone, or each member pays individually (depends on event settings)

6. Your Dashboard

Visit /dashboard to see:

  • All your event and workshop registrations with current status
  • Payment history and transaction details
  • Your teams and team invitations
  • Feedback forms for completed events

Event & Workshop Coordinator Guide

What is a Coordinator? A coordinator is an admin user assigned to manage one or more specific events or workshops. They don't have access to everything — only their assigned events/workshops.

How You Get Assigned

  1. A Super Admin, Developer Admin, or relevant admin assigns you
  2. They go to Admin → Add Admin → Event Coordinator (or Workshop Coordinator)
  3. They search for your user account and assign you to specific event(s)/workshop(s)
  4. You now see a Coordinator section in your admin sidebar

What You Can Do (Per Assigned Event)

Registrations
  • View all registered participants
  • See payment status for each
  • Filter by paid / unpaid / confirmed
Attendance
  • Mark participants as attended
  • Check-in at the venue
Teams
  • View all teams for the event
  • Manage team membership
  • Create teams on behalf of participants
Rounds & Winners
  • Create competition rounds
  • Add participants to each round
  • Mark winners
Communication
  • Send emails to registered participants
  • Notify about schedule changes
Feedback
  • View feedback submitted by attendees

Step-by-Step: Managing Your Event on Event Day

  1. Log in and go to Admin → Coordinator → Events
  2. Select your assigned event
  3. Go to Registered to see who signed up
  4. Go to Attendance to check people in as they arrive
  5. If it's a competition, go to Rounds to set up elimination rounds
  6. Add qualifying participants to each round
  7. After the final round, go to Winners to record results
  8. Go to Email to send any announcements

Events Admin Guide

Creating an Event

  1. Go to Admin → Events → Create
  2. Fill in: title, description, category, sub-category, department
  3. Set dates: start date, end date, registration deadline
  4. Set capacity (max registrations) and venue
  5. Configure team settings if needed (min/max members, payment method)
  6. Upload event image / banner
  7. If the event is free, set payment_needed = No
  8. If the event is paid, set the registration fee and select a Razorpay account
  9. Save as Draft

Event Status Workflow

Free Event

Draft Published Completed

Paid Event (requires Cashier approval)

Draft Awaiting Cashier Approval Published Completed

Cancellation (from any active state)

Any Status Cancelled

Managing Events

  1. Go to Admin → Events → List to see all events
  2. Click an event to edit details, change status, or view registrations
  3. Use Event Dashboard for registration stats and analytics
  4. Manage Categories and Sub-categories under Settings
  5. Assign Event Coordinators for on-ground management
  6. View Email Reports to track all notifications sent

Creating Event Combos

  1. Go to Admin → Events → Combos → Create
  2. Give the combo a title, description, and image
  3. Select 2 to 25 events to bundle together
  4. Set a combined price (should be less than the sum of individual prices)
  5. If paid, it goes through Cashier approval just like regular events
  6. Publish the combo for participants to register

Workshops Admin Guide

Creating a Workshop

  1. Go to Admin → Workshops → Create
  2. Fill in: title, description, category, department
  3. Set dates, capacity, and venue
  4. Add speaker details (name, bio, photo, organization)
  5. Configure pricing (free or paid)
  6. Save and publish (paid workshops need Cashier approval)
Note: Workshops follow the same status workflow as events (Draft → Awaiting Cashier Approval → Published → Completed/Cancelled). The main difference is that workshops have speaker management and no team support.

Cashier Admin Guide

Approving Paid Events & Workshops

  1. Go to Admin → Cashier → Approvals
  2. You'll see events/workshops with status "Awaiting Cashier Approval"
  3. Review the event details, pricing, and Razorpay account configuration
  4. Click Approve to publish the event, or Reject with a reason
  5. Approved events automatically move to Published status
Only events/workshops with payment_needed = true require your approval. Free events go directly to Published.

Managing Transactions

  1. Go to Admin → Payments → Transactions to see all transactions
  2. Filter by status (Completed, Pending, Failed), type, date range
  3. Click a transaction to see full details including Razorpay references
  4. Use God's Eye for advanced lookups (search by any field)

Processing Refunds

  1. Go to Admin → Payments → Refunds
  2. Find the transaction to refund
  3. Initiate the refund — this processes through Razorpay
  4. Transaction status changes to Refunded
  5. Registration payment status also updates to Refunded

Manual Payment Entry

  1. For cash/offline payments, go to Payments → Event Entry (or Workshop Entry)
  2. Search for the participant
  3. Record the payment method (Cash, UPI, Card, Bank Transfer)
  4. Confirm the registration manually

Razorpay Account Settings

  1. Go to Admin → Settings → Razorpay Accounts
  2. Add multiple Razorpay accounts (useful for different departments or sponsors)
  3. Each event/workshop can be linked to a specific Razorpay account
  4. Payments are routed to the correct account automatically

Transaction Types Reference

TypeDescription
SPECIFIC_EVENT_REGISTRATIONPayment for a single event
WORKSHOP_REGISTRATIONPayment for a workshop
COMBO_REGISTRATIONPayment for a combo bundle
PAYMENT_FORMContribution form payment
REFUNDRefund processed

Forms Admin Guide

Creating a Contribution Form

  1. Go to Admin → Contribution Forms → Create
  2. Set the form name, slug (URL-friendly name), and description
  3. Upload a banner image
  4. Choose whether payment is required (set amount if yes)
  5. Save as Draft

Adding Questions

  1. Open the form and go to Questions
  2. Add questions of various types:
Text Questions
  • Short Text (single line)
  • Long Text (paragraph)
  • Email
  • Phone
  • Number
Choice Questions
  • Dropdown (select one)
  • Radio Buttons (select one)
  • Checkboxes (select many)
Special Types
  • Date picker
  • File Upload
  • Section Header (for organization)
  • Payment (displays calculated total)

Form Workflow

Draft Awaiting Cashier Approval (if paid) Published Closed

Reviewing Responses

  1. Go to Admin → Contribution Forms → (select form) → Responses
  2. View all submitted responses with their data
  3. Each response can be Approved or Rejected
  4. Download file uploads from responses

Developer Admin Guide

User Management

  1. Go to Admin → Users → All Users
  2. Search for users by name, email, or phone
  3. View user details: role, groups, registrations, transactions
  4. Use Bulk Registration (Settings → Bulk Registration) to import multiple users at once

Admin Group Management

  1. Go to Admin → Groups to see all 6 admin groups
  2. Click a group to see its current members
  3. Add or remove members from groups
  4. Assign coordinators via Add Admin → Event/Workshop Coordinator

System Settings

Departments
  • Add/edit college departments
Institutions
  • Manage hosting institutions
Venues
  • Add/edit event venues
Email Templates
  • Customize notification emails
BullMQ Dashboard
  • Monitor background job queues
Receipt Templates
  • Configure payment receipt formats

Activity Log

  1. Go to Admin → Activity Log
  2. See an audit trail of all admin actions (who did what, when)
  3. Filter by admin user, action type, or date range

Super Admin Guide

Super Admin has unrestricted access. This role bypasses every permission check in the system. Only trusted individuals should hold this role.

What Only Super Admin Can Do

  • Assign other users as Super Admins
  • Access every section of the admin panel
  • Override any event/workshop access restrictions
  • Manage all admin groups and their members
  • Access settings that other admin groups cannot

Assigning Admin Roles

  1. Go to Admin → Add Admin
  2. Select the role type you want to assign:
    • Super Admin — full access
    • Developer Admin — system config
    • Events Admin — event management
    • Workshops Admin — workshop management
    • Cashier Admin — payment management
    • Forms Admin — form management
    • Event Coordinator — specific event access
    • Workshop Coordinator — specific workshop access
  3. Search for the user by name or email
  4. Select and confirm the assignment
  5. The user will now see the relevant admin sidebar sections on their next login

Complete Workflows

Event Lifecycle (End to End)

  1. Events Admin creates a new event in Draft status
  2. Fills in all details: title, description, dates, venue, pricing, team settings
  3. If paid: submits for Cashier approval (status → Awaiting Cashier Approval)
  4. Cashier Admin reviews and approves (status → Published)
  5. Event appears on the public portal for Participants to browse
  6. Participants register and pay (registrations created, transactions processed)
  7. Event Coordinator manages on-ground: attendance, rounds, winners
  8. After the event, admin marks it as Completed
  9. Participants can submit feedback

Registration Status Flow

Pending Payment (if paid) Confirmed
Pending Cancelled Pending Waitlisted

Payment Status Flow

Pending Completed
Pending Failed Completed Refunded

Transaction Status Flow

Initiated Pending Completed
Pending Failed Pending Cancelled

Team System

Creating a Team (as Participant)

  1. Go to the event page that requires teams
  2. Click Create Team
  3. You become the Team Leader
  4. Invite members by entering their email addresses
  5. Each member gets an invitation email with a unique link
  6. Members click the link to accept and join your team
  7. Team status updates as members join

Team Status Flow

Pending Confirmed Active
Any Status Cancelled

Team Payment Options

Individual Payment

Each team member pays their own registration fee separately.

Team Leader Payment

The team leader pays the total fee for all members in a single transaction.

Team Invitation Status

Pending Accepted
Pending Rejected / Expired

Payment System

Payment Methods

Razorpay (Online)
  • Credit/Debit cards
  • UPI
  • Net Banking
  • Digital Wallets
Offline (Manual Entry)
  • Cash at counter
  • Direct UPI transfer
  • Card swipe
  • Bank transfer

Payment Flow (Online)

  1. Participant clicks Register on an event/workshop/combo
  2. System creates a Razorpay order (Transaction status: Initiated)
  3. Razorpay checkout opens (card/UPI/wallet selection)
  4. Participant completes payment on Razorpay
  5. System verifies the payment signature with Razorpay
  6. Transaction status → Completed
  7. Registration status → Confirmed
  8. Confirmation email sent to participant

Payment Breakdown

ComponentDescription
Base AmountThe registration fee set by the admin
Additional ChargesAny extra fees (e.g., materials)
Convenience FeePayment gateway processing fee
Discount AmountApplied discounts or coupons
Final Amount= Base + Additional + Convenience - Discount

Multi-Account Razorpay

The system supports multiple Razorpay accounts. Different events/workshops can route payments to different accounts. This is useful when:

  • Different departments manage their own funds
  • External sponsors handle their own payment processing
  • Multiple festivals run simultaneously

Quick Reference: Who Can Do What

Action Participant Event Coord. Events Admin Workshops Admin Cashier Admin Forms Admin Developer Admin Super Admin
Browse events/workshops YesYesYesYesYesYesYesYes
Register for events YesYesYesYesYesYesYesYes
Create events YesYes
Edit any event YesYes
Edit assigned event YesYesYes
Create workshops YesYes
Mark attendance YesYesYesYes
Manage rounds/winners YesYesYes
Approve paid events YesYes
Process refunds YesYes
View transactions YesYes
Create forms YesYes
Manage users YesYes
Manage admin groups YesYes
System settings PartialPartialPartialYesYes
Activity log YesYes
Assign coordinators YesYes

Initial Setup Guide

Before creating any events or workshops, you need to set up the foundational data that the portal relies on. Follow these steps in order. This setup is typically done by a Super Admin or Developer Admin.

Step 1: Set Up Categories

What are Categories?

Categories group your events and workshops by type (e.g., "Technical", "Cultural", "Sports", "Gaming"). Every event and workshop must belong to a category.

Fields

FieldRequiredDescription
NameYesCategory name (e.g., "Technical Events")
DescriptionNoBrief description of this category
TypeYesevent, workshop, or both (default: both)
ActiveYesWhether this category is visible (default: yes)

Steps

  1. Go to Admin → Settings → Categories
  2. Click Add Category
  3. Enter the name (e.g., "Technical", "Cultural", "Sports")
  4. Choose the type — set to both if the category applies to events and workshops
  5. Optionally add a description
  6. Save. Repeat for all your categories
Who can do this: Events Admin and Workshops Admin can manage categories from their Settings access. Super Admin and Developer Admin have full access.

Step 2: Set Up Sub-Categories

What are Sub-Categories?

Sub-categories provide a second level of organization under each category. For example, under "Technical" you might have "Coding", "Robotics", "Paper Presentation".

Fields

FieldRequiredDescription
NameYesSub-category name (e.g., "Coding")
DescriptionNoBrief description
Parent CategoryYesWhich category this belongs to
ActiveYesWhether this sub-category is visible (default: yes)

Steps

  1. Go to Admin → Settings → Sub-Categories
  2. Click Add Sub-Category
  3. Select the parent category from the dropdown
  4. Enter the sub-category name
  5. Save. Repeat for all sub-categories

Step 3: Set Up Departments

What are Departments?

Departments represent the academic/organizational units in your institution (e.g., "Computer Science", "Mechanical Engineering", "MBA"). They are used to track which department hosts an event and to categorize participants.

Fields

FieldRequiredDescription
Department NameYesFull name of the department
Department CodeNoShort code (e.g., "CSE", "MECH", "MBA")
ActiveYesWhether this department is visible (default: yes)

Steps

  1. Go to Admin → Settings → Departments
  2. Click Add Department
  3. Enter the department name and optional code
  4. Save. Repeat for all departments in your institution
Who can do this: Only Developer Admin and Super Admin can manage departments.

Step 4: Set Up Institutions (Colleges)

What are Institutions?

Institutions represent the colleges and organizations that participants belong to. When a participant registers, they select their institution from this list. This is especially important for inter-college festivals.

Fields

FieldRequiredDescription
College NameYesFull institution name (must be unique)
CityNoCity where the institution is located
ActiveYesWhether this institution is visible (default: yes)

Steps

  1. Go to Admin → Settings → Institutions
  2. Click Add Institution
  3. Enter the college name and city
  4. Save. Repeat for all participating institutions
Tip: Institutions support bulk upload via CSV. If you have a large list, use the bulk upload option instead of adding them one by one.

Step 5: Set Up Venues

What are Venues?

Venues are the physical locations where events and workshops take place — auditoriums, labs, seminar halls, open grounds, etc.

Fields

FieldRequiredDescription
Venue NameYesName of the venue (e.g., "Main Auditorium")
Venue BlockNoBuilding or block location (e.g., "Block A", "Science Building")
ActiveYesWhether this venue is available (default: yes)

Steps

  1. Go to Admin → Settings → Venues
  2. Click Add Venue
  3. Enter the venue name and block/building
  4. Save. Repeat for all your event locations
Tip: Venues also support bulk upload via CSV for adding many locations at once.

Step 6: Configure Razorpay Accounts

What are Razorpay Accounts?

Razorpay is the online payment gateway. You need to configure at least one account if you have paid events or workshops. The system supports up to 2 active accounts, so different departments or sponsors can receive payments separately.

Fields

FieldRequiredDescription
LabelYesFriendly name to identify this account (e.g., "CSE Department", "Main Festival Account")
Key IDYesRazorpay API Key ID (starts with rzp_live_ or rzp_test_)
Key SecretYesRazorpay API Secret (encrypted at rest in the database)
ActiveYesWhether this account is available for use (default: yes)

Steps

  1. Go to Admin → Settings → Razorpay Accounts
  2. Click Add Account
  3. Enter a label to identify this account
  4. Paste your Razorpay Key ID and Key Secret from the Razorpay dashboard
  5. Click Test Connection to verify the credentials work
  6. Save the account
  7. When creating a paid event, you'll select which Razorpay account to use for that event
Security: The Key Secret is automatically encrypted before storing in the database. It is never displayed in full — only the last 4 characters are shown for identification.
Who can do this: Cashier Admin has access to Razorpay Account settings. Super Admin and Developer Admin also have full access.

Step 7: Configure Email Templates

What are Email Templates?

Email templates define the format and content of automated emails sent by the system — registration confirmations, payment receipts, team invitations, refund notifications, and more.

Fields

FieldRequiredDescription
NameYesDisplay name (e.g., "Registration Confirmation")
SlugYesUnique identifier (e.g., registration-confirmation)
SubjectYesEmail subject line (supports variables)
Body HTMLYesEmail body in HTML (supports variables)
CategoryYesOne of: Registration, Payment, Team, Form, Account, Refund, System
Available VariablesNoList of template variables that can be used
ActiveYesWhether this template is in use (default: yes)

Template Variables

Use double curly braces in the subject and body to insert dynamic content:

User Variables
  • {{firstName}} — First name
  • {{lastName}} — Last name
  • {{email}} — Email address
Event Variables
  • {{eventTitle}} — Event name
  • {{eventDate}} — Event date/time
  • {{registrationLink}} — Registration URL
Payment Variables
  • {{amount}} — Payment amount
  • {{transactionId}} — Transaction ID
  • {{ticketNo}} — Ticket number
  • {{refundAmount}} — Refund amount

Steps

  1. Go to Admin → Settings → Email Templates
  2. You'll see existing system templates grouped by category
  3. Click a template to edit its subject, body, or active status
  4. Use the available variables (shown on the edit page) in your template
  5. Click Send Test Email to preview how it looks in an inbox
  6. Save your changes

Template Categories

Registration Payment Team Form Account Refund System

Step 8: Bulk Registration (Optional)

What is Bulk Registration?

Bulk registration lets you register many participants at once by uploading a CSV file. This is useful for pre-registering students from your own institution, handling offline signups, or migrating from another system. All bulk-registered users are auto-confirmed and marked as paid.

Who can do this: Only Super Admin and Developer Admin have access to bulk registration.

Steps

  1. Go to Admin → Settings → Bulk Registration
  2. Select the event you want to bulk-register users for (only published, non-team events are shown)
  3. Select the user type: School Student, College Student, or Professional
  4. Click Download Template to get the CSV file with the correct headers
  5. Fill in the CSV with participant data (see field requirements below)
  6. Upload the completed CSV file (max 10 MB)
  7. Review the processing results — you'll see success/failure counts for each row

CSV Fields by User Type

School Student Fields
ColumnRequiredNotes
first_nameYesStudent's first name
last_nameYesStudent's last name
emailYesValid email, converted to lowercase
phoneYesExactly 10 digits
genderNoMALE, FEMALE, or OTHER
schoolYesSchool name
gradeYesGrade/class level
stateNoState/region
College Student Fields
ColumnRequiredNotes
first_nameYesStudent's first name
last_nameYesStudent's last name
emailYesValid email, converted to lowercase
phoneYesExactly 10 digits
genderNoMALE, FEMALE, or OTHER
collegeYesCollege/institution name
departmentNoDepartment name
yearNoYear of study
stateNoState/region
Professional Fields
ColumnRequiredNotes
first_nameYesFirst name
last_nameYesLast name
emailYesValid email, converted to lowercase
phoneYesExactly 10 digits
genderNoMALE, FEMALE, or OTHER
organizationYesCompany or organization name
designationNoJob title / designation
stateNoState/region

What Happens After Upload

  • Each row is processed individually (one failure doesn't stop others)
  • If the email already exists, the system uses the existing user account
  • If the email is new, a new user account is created automatically
  • Duplicate registrations (same user + same event) are flagged as errors
  • All successful registrations are set to Confirmed status with Completed payment
  • If the event has linked forms, form responses from the CSV are submitted automatically
Dynamic form fields: If the event has linked forms, the CSV template will include additional columns for form fields (e.g., [Contact Form] - Phone Number *). File upload fields are skipped in bulk registration.

Recommended Setup Order

1 Categories → needed before creating events/workshops
2 Sub-Categories → depends on categories existing first
3 Departments → needed for hosting department assignment
4 Institutions → needed for participant registration
5 Venues → needed for assigning event locations
6 Razorpay Accounts → needed before creating paid events
7 Email Templates → customize before going live
8 Bulk Registration → optional, use after events are published

Frequently Asked Questions

How do I become an admin?

A Super Admin or Developer Admin must add you to an admin group. You cannot self-promote. Contact your festival organizer to request admin access.

Can I have multiple admin roles?

Yes! A user can belong to multiple admin groups at the same time. For example, you could be both an Events Admin and a Cashier Admin. Your sidebar will show all sections you have access to.

Why is my event stuck in "Awaiting Cashier Approval"?

Paid events (with a registration fee) must be approved by a Cashier Admin before they can be published. Ask your Cashier Admin to go to Admin → Cashier → Approvals and approve your event.

What happens if a payment fails?

The transaction is marked as Failed and the registration stays in Pending status. The participant can retry the payment. No money is deducted on failure.

How do refunds work?

A Cashier Admin initiates the refund from Admin → Payments → Refunds. The refund is processed through Razorpay and typically takes 5-7 business days to reflect in the participant's account.

What's the difference between Events Admin and Event Coordinator?
  • Events Admin can create, edit, and manage all events across the system.
  • Event Coordinator can only manage the specific events they are assigned to (attendance, teams, rounds, etc.).
Can a participant be a coordinator?

No. Coordinators must have the Admin user role. A Super Admin or Developer Admin needs to first make the user an Admin, then assign them as a coordinator for specific events/workshops.

What is a combo? Is it different from registering individually?

A combo bundles multiple events (2-25) into a single package at a discounted price. You make one payment and get registered for all events in the bundle. It's cheaper and faster than registering for each event individually.

How does the team payment work?

There are two options depending on the event configuration:

  • Individual: Each team member pays their own fee
  • Team Leader: The leader pays the total for all members in one transaction
What data does the activity log track?

The activity log records every admin action: event creation/edits, group changes, user management, payment processing, and more. It includes who performed the action and when. Only Developer Admin and Super Admin can view it.