AutoVotesPro

Admin Panel Guide — SuperAdmins & ShowAdmins

Quick Navigation

1. Admin Roles 2. Logging In 3. Managing Shows 4. Show Types 5. Managing Users 6. Managing Cars 7. Managing Classes 8. Vote Management & Tally 9. Show Configuration 10. Printing Cards 11. CSV & XLSX Imports 12. Site Admin 13. Sponsors 14. Social Media 15. Paper Voting Ballots 16. Dash Cards 17. Judging 18. Show Statistics 19. Publish Winners 20. Email Reports 21. Global Dashboard 22. Cleanse Show 23. Revenue Balance Sheet 24. Custom Awards 25. Photo Gallery & Car Details 26. Bulk SMS 27. Automated Backups 28. Admin as Attendee 29. Multi-Language Support 30. Door Prizes 31. Photo & Comment Management 32. Merchandise Store 33. Photo Likes & Best Photo 34. Scan Car QR 35. Judge Scoring (App) 36. Attendee & Car Count Marquee 37. Pre-Registration Flow 38. Spectator Mode 39. Paper Ballot Entry 40. Door Prize TV Display 41. User Management Features 42. Confirmation & Approval Emails 43. Waiver Management 44. Messaging & Moderation 45. Purge Show Script (SSH) 46. Troubleshooting

1. Admin Roles

SuperAdmin

Full access to everything. Can create, edit, delete, and activate shows. Can manage all users including other SuperAdmins and ShowAdmins. Can toggle shows open/closed. Can configure site-wide settings like contact email.

ShowAdmin

Scoped to assigned shows. Can edit their assigned shows, manage users and cars within those shows, view vote tallies, and print cards. Cannot create or delete shows. Cannot see SuperAdmin accounts. Can only see shows that are open (not closed).

Judge

Scores cars using judging criteria. When judging is enabled, Judges see a scoring interface where they rate each car on defined criteria (Exterior, Interior, Engine, etc.). Judges don't vote — they provide professional scores. Can be assigned to specific shows. Supports Traditional, Freestyle, and Concours scoring formats.

FeatureSuperAdminShowAdmin
Create / Delete shows
Activate shows
Close / Open shows
Edit show details✅ (assigned only)
Manage users✅ (all)✅ (Attendees & Judges)
Reset user passwords✅ (all)✅ (Attendees & Judges)
Add users✅ (all roles)✅ (Attendees & Judges)
See SuperAdmin accounts
Manage cars✅ (show cars only)
Manage classes✅ (show classes only)
View vote tally
View judging results
Manage judging criteria
Print cards
Show configuration
Switch between shows✅ (all shows)✅ (assigned shows)
Site settings (contact email)
Manage waivers
Moderate messages

2. Logging In

1
Open the Admin Panel

Navigate to your server URL followed by /admin (e.g. https://autovotespro.org/admin)

2
Enter your credentials

Use your admin email and password. Default SuperAdmin: admin@autovotespro.com / Admin123!

Important: Admin accounts can only log in to the admin panel (/admin). They are blocked from the attendee app. Attendee accounts are blocked from the admin panel.

3. Managing Shows

The Shows tab displays all car shows. SuperAdmins see all shows; ShowAdmins see only their assigned open shows.

Creating a Show (SuperAdmin only)

1
Click "+ New Show"

Fill in the show name, description, show date, timezone, and vote start/end times.

2
Select Show Type

Choose Classic, Top, or Unique. This cannot be changed after creation.

3
For Top shows, set the vote limit

Enter how many total votes each attendee gets (e.g. 10 for a "Top 10" show).

Activating a Show

Click Activate on a show card to make it the active show. Only one show can be active at a time. The active show is what admins see by default.

Closing / Opening a Show

SuperAdmins can toggle a show between open and closed in the Config tab. Closed shows are hidden from ShowAdmins and attendees.

Editing a Show

Click Edit Show on the show bar or show card. You can change the name, description, dates, timezone, vote window, and open/close dates. The show type cannot be changed.

Open & Close Dates

Set when attendees can access the show. Before the open date, attendees see "Opens on [date]". After the close date, they see "Closed on [date]". Admins can always access the show regardless of these dates.

Deleting a Show (SuperAdmin only)

Warning: Deleting a show removes all associated cars, votes, classes, and show-user links. Users who are only in this show will also be deleted. Users in multiple shows will be unlinked but kept. This cannot be undone.

4. Show Types

Classic

Traditional car show format. Each car is assigned to one class. Attendees vote once per class, picking their favorite car in each. Tally shows winners per class.

Setup: Create classes, assign cars to classes, set vote window.

Top

People's choice format. No class restrictions. Each attendee gets a limited number of total votes (configurable). Tally shows overall ranking by total votes.

Setup: Set the vote limit in Config tab. Classes are optional (not used for voting). Cars don't need a class.

Unique

Every car appears in every class. Attendees vote once per class for any car. Useful for awards like "Best Paint", "Best Engine", "Best Interior" where any car can win any category.

Setup: Create classes (award categories). Cars don't need class assignments — they automatically appear in all classes.

People's Choice

No login required. Spectators scan a QR code on each car's dash card and their vote is cast instantly — one vote per person, per show. No app account needed. Great for public events where spectators walk through and pick their favorite car.

How it works: Each car's dash card QR code links to a mobile-friendly voting page. The spectator sees the car info, taps "Vote for this Car", and they're done. An anonymous token prevents double voting.

Setup: Add cars, print dash cards. No classes needed. Tally shows overall ranking by total votes.

Remember: Show type is set at creation and locked forever. Plan your show type before creating it.

5. Managing Users

The Users tab shows all users for the active show. The user table includes columns for Cars (total car count) and Car #s (the specific car numbers assigned to each user) so you can quickly see which cars belong to which attendee.

Adding a User

Click "+ Add User". Fill in name, email, and role. For Attendees, set the number of cars (placeholder cars are created automatically). Default password is changeme123.

Re-adding users: If a user's email already exists (e.g. from a deleted show), they will be re-linked to the current show automatically with new placeholder cars. No duplicate accounts are created.

Editing a User

Click the edit button on a user row. You can change their name, email, and role.

Pending Pre-Registration Approvals

When pre-registration is enabled, attendees who self-register appear in an amber banner at the top of the Users tab:

Tip: Pre-registered attendees are forced to complete their profile on first login, so their name and contact info will be up to date.

Resetting a User's Password

Click the purple "Reset PW" button on any user row. You'll be prompted to enter a new password (or leave blank for the default "changeme123"). The user will be forced to change their password on next login.

Tip: ShowAdmins can only reset passwords for Attendees. SuperAdmins can reset any user's password.

Password Reset via Email

Attendees can also reset their own password from the app:

The reset email is sent from noreply@autovotespro.org. If attendees report not receiving the email, remind them to check their spam/junk folder.

Toggling Active/Inactive

Click the toggle button to enable/disable a user. Inactive users cannot log in.

Assigning ShowAdmins to Shows

When creating a ShowAdmin, they are automatically linked to the current active show. To give them access to additional shows, add them as a show user via the Users tab while that show is active.

6. Managing Cars

The Cars tab shows all cars for the active show.

Cars are Auto-Created

When you add an attendee with a car count, placeholder cars (make: TBD, model: TBD) are created. Attendees fill in the details themselves via the app.

Editing Cars

Click edit on any car to change make, model, year, color, class, or upload a photo.

Class Assignment

Bulk Photo Upload

Upload a ZIP file containing car photos named by car number (e.g. 1.jpg, 2.png, 3.jpeg). Photos are matched to cars automatically.

Default Class Images

Cars without photos display a default image based on their class. 70 SVG class images are included covering common car types.

7. Managing Classes

The Classes tab shows all classes for the active show.

Adding Classes

Click "+ Add Class" and enter a class number, name, and optional description. Class numbers determine the display order.

Importing Classes

Import classes from a CSV file. The CSV must have a name column. Optional columns: description, class_number. If class_number is not provided, they are numbered automatically.

When Classes Are Needed

8. Vote Management & Tally

The Tally tab shows vote results for the active show.

Vote Window

Set vote start and end times in the show edit dialog. Voting is only allowed between these times. If no times are set, voting is always open.

Allow Self-Vote

Toggle in the Config tab. When disabled (default), attendees cannot vote for their own cars.

Tally Display by Show Type

TypeTally Format
ClassicGrouped by class. Cars ranked by votes within each class. Top car per class wins.
TopOverall ranking. All cars ranked by total votes. Selectable Top N (5, 10, 20, 50).
UniqueGrouped by class (award category). All cars ranked in each class.

Top Vote Limit

For Top shows, the vote limit can be changed in the Config tab at any time. This controls how many cars each attendee can vote for.

9. Show Configuration

The Config tab provides show-specific settings.

📍 Venue / Location

Set the show's venue — displayed on the public show details page with an embedded Google Maps widget.

Images

Colors

Set primary, secondary, and accent colors for branding. Used on cards and show materials.

Settings

Pre-Registration

Enable the "Enable Pre-Registration" checkbox to allow attendees to register themselves via a QR code or link.

Payment Configuration

In the Config tab under 💳 Payment Configuration, choose one of three payment types per show:

🆓 Free (Manual Approval)

💳 Stripe

🅿️ PayPal

🎪 Allow Pay at Show (optional toggle)

Tip: The "Allow Pay at Show" option encourages attendees to prepay online, reducing cash handling at the show and guaranteeing revenue upfront. The price difference (e.g., $20 vs $25) acts as an incentive to pay early.
Tip: You can change the payment type at any time. Existing registrations are not affected — only new registrations will use the new payment method. The registration page automatically shows the correct payment option based on your configuration.
Important: Keep your Stripe Secret Key and PayPal Secret Key secure. Never share them publicly. If compromised, rotate your keys immediately from the provider's dashboard.

Marquee / Announcements

The marquee shows scrolling messages on the attendee's dashboard. Each type can be toggled independently:

Messages cycle one at a time with dot indicators. They auto-refresh every 60 seconds on the attendee's screen.

10. Printing Cards

The Plaques tab generates printable plaques for each car.

What's on a Plaque

Printing

Click "Preview Plaques" to see them, then "Print All" or print individual plaques. Use your browser's print dialog to print on card stock.

Print Winners

After voting ends, use the Tally tab to see winners, then print winner cards or certificates.

Blank Dash Cards

In the Config tab, you can print blank cards for walk-up registrations at the show:

11. CSV & XLSX Imports

Importing Users (CSV/XLSX)

Required columns: name, email

Optional columns: role (default: Attendee), car_count (default: 1), password

A preview shows how many users will be imported before you confirm.

Tip: Users whose email already exists will be re-linked to the current show with new placeholder cars. They won't be duplicated.

Importing Classes (CSV/XLSX)

Required columns: name

Optional columns: description, class_number

File Format Tips

12. Site Admin (SuperAdmin Only)

The ⚙️ Site Admin tab is only visible to SuperAdmins and contains platform-wide settings.

🎨 App Theme

Choose a color theme that applies to both the admin panel and the attendee app.

What's Themed

Admin Panel: Top bar, active tabs, buttons all respond to theme colors.

Attendee App — all screens themed:

Tip: The attendee app reloads the theme each time the dashboard loads. After changing the theme, attendees will see the new colors next time they navigate to their dashboard.

📧 Contact Email

Set a site-wide support email displayed to attendees.

🔒 Show Status

Open or close the current show. Closed shows are only visible to SuperAdmins.

🏪 Show Purchase

Configure show purchase on the landing page — enable/disable, pricing (single show and multi-pack), payment method (Stripe or PayPal), and API keys.

🎠 Landing Page Marquee

The landing page (autovotespro.org) displays a scrolling marquee of all non-closed shows. Each poster is clickable and opens a Show Details page.

📄 Show Details Page

When a visitor clicks a show poster on the landing page, they see a full details page with:

Tip: Fill in the venue lat/lng in Config → 📍 Venue / Location to enable the map. All other fields are optional — only populated fields display.

At the top of the Config tab, SuperAdmins see a "Site Settings" section.

Contact Email

Set the support email displayed at the bottom of every attendee's dashboard. Attendees can tap it to send an email directly. Update this to the show organizer's email.

13. Sponsors

The Sponsors tab lets you showcase show sponsors to attendees.

Adding a Sponsor

Click "+ Add Sponsor" and fill in:

Managing Sponsors

Attendees see sponsors on their 🏅 Sponsors screen, grouped by tier with logos, descriptions, and tappable social media icons.

14. Social Media & Website

In the Config tab, the 🌐 Social Media & Website section lets you add your show's social links:

15. Paper Voting Ballots

For attendees who can't vote on their phone, print paper ballots from the Cards tab.

Classic/Unique: Lists all class names with a blank space to write a car number vote per class.

Top: Shows numbered lines (e.g. 1-10) for the attendee to write their top car picks.

Each ballot includes the show name/logo, voter name field, car number field, voting instructions, and a ballot number. Designed to fit on one page.

16. Dash Cards

Dash cards print in landscape orientation on 8.5×11 pages with no browser headers/footers. Each card fills one full page.

Regular Dash Cards

Blank Dash Cards

Blank cards have fill-in lines for manual entry. Two toggles control the layout:

17. Judging

AutoVotesPro supports professional judging with scored criteria, separate from the attendee voting system.

Enabling Judging

In the Config tab, find the 🏛️ Judging Configuration section:

Judging Formats

📋 Traditional Judging — The most common format.

🤝 Freestyle Judging — Great for team judging.

🏆 Concours Judging — Point deduction method.

Managing Criteria

Go to the Judging tab to manage judging criteria:

Adding Judges

In the Users tab, add users with the Judge role:

Viewing Results

The Judging tab shows live results:

Tip: Judging and attendee voting are independent systems. You can use one or both. The Vote Tally shows attendee votes; the Judging tab shows judge scores.

18. Show Statistics

The Stats tab shows detailed analytics for the current show.

19. Publish Winners

In the Config tab, the 🏆 Publish Winners toggle controls whether attendees can see results.

Tip: Enable this at the awards ceremony for a live reveal!

20. Email Reports

On both the Tally and Stats tabs, click 📧 Email Report to send a formatted HTML email to your own email address containing:

21. Global Dashboard (SuperAdmin Only)

The 📊 Dashboard tab shows platform-wide statistics across ALL shows.

22. Cleanse Show (SuperAdmin Only)

Found in the Config tab, the 🧹 Cleanse section provides irreversible maintenance operations.

Warning: All cleanse actions are irreversible. There is no undo.

23. Revenue Balance Sheet

The 💰 Revenue tab tracks income for the current show.

24. Custom Awards

The 🎖️ Awards tab lets you create special awards beyond voting results.

26. Bulk SMS (SuperAdmin Only)

In ⚙️ Site Admin, configure Twilio to send text messages to all attendees.

27. Automated Backups

A nightly cron job backs up the database automatically.

28. Admin as Attendee

SuperAdmins and ShowAdmins can join a show as an attendee to vote and register cars.

29. Multi-Language Support

The attendee app supports 5 languages, selectable by each user from the Dashboard.

Supported Languages

How It Works

What's Translated

Not Translated

30. Door Prizes

The 🎁 Door Prizes tab lets you create prizes, draw random winners, and track prize collection.

Creating Prizes

Drawing Winners

Tracking Collection

Attendee Notification

31. Photo & Comment Management

In the Cars tab, click 📸 Photos & Comments to manage all user-uploaded content.

Photos

Comments

Tip: Photos and comments can also be deleted from the app — tap any car in "All Vehicles" to see its detail page. Admins see delete buttons on all content.

32. Merchandise Store

The 🛍️ Merch tab lets you sell show merchandise through the attendee app.

Managing Items

Managing Orders

Click 📋 View Orders to see all attendee orders.

Tip: Attendees order from the app and pay at the registration table when they pick up. No online payment required for merch.

33. Photo Likes & Best Photo

Attendees can like photos in the gallery by tapping the ❤️ button. Each user gets one like per photo (tap again to unlike).

34. Scan Car QR (App)

Attendees can scan a car's QR code from the Dashboard to view its detail page.

35. Judge Scoring (App)

Judges can now score cars directly from the app — no admin panel needed.

36. Attendee & Car Count Marquee

A live count of attendees and cars can be displayed in the marquee banner.

37. Pre-Registration Flow

Pre-registration now assigns car numbers on approval, not on registration.

38. Spectator Mode

Spectator mode provides no-login public access to your car show. Share the link with anyone — no account needed.

Access

Tabs (Bottom Navigation)

What Spectators See

Tip: Print the spectator QR code and display it at the venue entrance so walk-up visitors can follow along on their phones.

39. Paper Ballot Entry

Access from Tally tab → 📝 Paper Ballot (red button). Allows admins to enter votes from paper ballots on behalf of attendees.

How It Works

Show Type Behavior

Features

40. Door Prize TV Display

A standalone page designed for projecting on a TV or monitor at the venue.

Access

https://autovotespro.org/app/door-prize-display.html?showId=X

Features

41. User Management Features

Color-Coded User Rows

Search Bar

Type in the search bar at the top of the Users tab to filter both pending approvals and the user table by name or email. Instant filtering, no page reload.

Car Count Dropdown

Each pending approval shows a Cars dropdown (1-10). If the attendee entered the wrong number, change it before approving. Increasing the count triggers a payment verification warning.

Revoke Approval

Click ↩ Revoke on any approved attendee to move them back to Pre-Registered status. This deletes their cars, votes, photos, and comments for the show. Confirmation dialog required.

Approve from Users Tab

Click ✅ Approve on any pre-registered user to approve them directly from the Users tab, without going to the Pending Approvals section.

42. Confirmation & Approval Emails

AutoVotesPro sends automated emails to attendees who opt in during pre-registration.

How Email Opt-In Works

During pre-registration, attendees see a checkbox: "Send me a confirmation email with my registration details." This checkbox is checked by default. The attendee's preference is stored per-registration and controls whether they receive automated emails.

Registration Confirmation Email

Sent immediately when an attendee submits the pre-registration form (if they opted in). The email includes:

If the attendee unchecked the box, no email is sent and the success message simply says "Pre-registration submitted!" without mentioning email notifications.

Approval Email

Sent when you approve a registration, but only if the attendee checked the confirmation email box. The approval email includes:

Email Delivery

Tip: The email preference is visible in the Pending Approvals section. You can see whether each attendee opted into emails before approving them.

43. Waiver Management

Waivers are optional per-show liability agreements that attendees must accept before participating.

Setting Up a Waiver

1
Go to the Waivers section in the Config tab

Look for the waiver toggle and text fields.

2
Enable the waiver

Toggle "Waiver Required" to on.

3
Set the title and text

Enter a waiver title (e.g. "Participant Waiver & Release") and the full waiver text. Use plain text — paragraph breaks are rendered automatically.

4
Save

The waiver takes effect immediately for both the registration page and the in-app waiver screen.

Where Waivers Appear

The waiver appears in two places:

Viewing Waiver Acceptances

The waiver acceptance data is stored in the database with the attendee's name, acceptance date, IP address, and browser user agent. This provides an audit trail for legal compliance.

Important: Changing the waiver text after attendees have accepted does not require them to re-accept. If you make material changes to the waiver, you may want to reset acceptances (contact the developer) or create a new show.
Tip: Write the waiver in plain text. The registration page and app will handle paragraph formatting automatically. HTML tags in the waiver text should be avoided.

44. Messaging & Moderation

Messaging lets attendees communicate directly with each other through private one-on-one conversations in the app.

Enabling/Disabling Messaging

In the Config tab, toggle "Enable Messaging" on or off for the current show.

How Messaging Works for Attendees

Unread Message Notifications

Attendees are notified of unread messages in two ways:

The unread message marquee notification requires no admin configuration — it appears automatically when messaging is enabled and the attendee has unread messages.

Moderating Conversations

Admins can view all conversations for the current show through the admin panel's Messages tab. You can browse any conversation and see the full message history. Use this for handling disputes or reviewing inappropriate content.

Note: Admins cannot currently send messages on behalf of users or delete individual messages from the admin panel. Moderation is view-only for now.
Tip: If you need to disable messaging during an event (e.g. to reduce distractions during voting), simply toggle it off in the Config tab. Existing conversations are preserved but hidden from attendees until you re-enable it.

45. Purge Show Script (SSH)

For complete show removal via SSH, a bash script is available at /opt/autovotespro/server/Documents/purge-show.sh.

What It Does

How to Use

1
SSH into the server

ssh root@129.121.102.38

2
Edit the show ID

Open the script: nano /opt/autovotespro/server/Documents/purge-show.sh

Change SID=13 at the top to the show ID you want to purge.

3
Run the script

bash /opt/autovotespro/server/Documents/purge-show.sh

4
Review and confirm

The script shows a full breakdown of what will be removed and what will be kept before asking for confirmation. Type yes to proceed.

Warning: This is irreversible. Always back up the database before running: mysqldump -u root autovotespro > /opt/autovotespro/backups/manual-backup.sql

46. Troubleshooting

Communication Error on Login

The API URL in admin.html may be incorrect. Ensure it points to the correct server address.

ShowAdmin Sees "No Active Shows"

All shows assigned to this ShowAdmin are closed. A SuperAdmin needs to open a show for them.

"Email already in use" when adding users

This should now re-link the existing user. If it still fails, the user may already be in this show. Check the Users tab.

Password reset emails not arriving

Reset emails are sent from noreply@autovotespro.org using the server's mail system with SPF and DKIM authentication. If emails aren't arriving:

Confirmation/approval emails not arriving

These emails use the same mail system as password reset emails. Check:

Show switching not working

Click the purple "Switch Show" button in the show bar to switch between shows. Both SuperAdmins and ShowAdmins can switch. On the Shows tab, SuperAdmins can also click "Manage" to switch to any show, or "Activate" to make a show the system default.

Stripe payments not working

PayPal payments not working

Attendee paid but not approved

If an attendee reports paying but their show still says "Pending Approval":

Class import shows duplicates

The same CSV was imported multiple times. Delete duplicate classes in the Classes tab, or delete all classes and re-import.

Votes not showing in tally

Ensure the correct show is active. The tally shows votes for the active show only.

Car photos not loading

Ensure the class-images folder is present on the server. Check that image uploads completed successfully.

Attendees can't vote

Check: Is the vote window set and currently open? Is the show active? Is the attendee assigned to the show?

Camera scanner not working for attendees

The QR camera scanner requires HTTPS. Ensure SSL is configured on the server. Attendees can use "Vote by Number" as an alternative.

Attendee stuck on waiver screen

The attendee must scroll all the way to the bottom of the waiver text before the checkbox becomes available. If the waiver text is very long, they may need to scroll slowly. If they've already accepted the waiver but keep being redirected, check the database — the waiver_accepted field in the show_users table should be 1.

Messaging not showing for attendees

Check that messaging is enabled in the Config tab. If it's enabled but the "Message Owner" button isn't appearing, ensure the attendee is viewing a car owned by someone else (you can't message yourself). The Messages button on the Dashboard only appears when messaging is enabled for the show.

Server logs

Check the logs folder in the server directory for daily error and access logs. On the server: pm2 logs autovotespro