Admin Panel Guide — SuperAdmins & ShowAdmins
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.
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).
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.
| Feature | SuperAdmin | ShowAdmin |
|---|---|---|
| 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) | ✅ | ❌ |
Navigate to your server URL followed by /admin (e.g. https://autovotespro.org/admin)
Use your admin email and password. Default SuperAdmin: admin@autovotespro.com / Admin123!
The Shows tab displays all car shows. SuperAdmins see all shows; ShowAdmins see only their assigned open shows.
Fill in the show name, description, show date, timezone, and vote start/end times.
Choose Classic, Top, or Unique. This cannot be changed after creation.
Enter how many total votes each attendee gets (e.g. 10 for a "Top 10" 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.
SuperAdmins can toggle a show between open and closed in the Config tab. Closed shows are hidden from ShowAdmins and attendees.
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.
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.
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.
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.
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.
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.
The Users tab shows all users for the active show.
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.
Click the edit button on a user row. You can change their name, email, and role.
When pre-registration is enabled, attendees who self-register appear in an amber banner at the top of the Users tab:
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.
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.
Click the toggle button to enable/disable a user. Inactive users cannot log in.
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.
The Cars tab shows all cars for the active show.
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.
Click edit on any car to change make, model, year, color, class, or upload a photo.
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.
Cars without photos display a default image based on their class. 70 SVG class images are included covering common car types.
The Classes tab shows all classes for the active show.
Click "+ Add Class" and enter a class number, name, and optional description. Class numbers determine the display order.
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.
The Tally tab shows vote results for the active show.
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.
Toggle in the Config tab. When disabled (default), attendees cannot vote for their own cars.
| Type | Tally Format |
|---|---|
| Classic | Grouped by class. Cars ranked by votes within each class. Top car per class wins. |
| Top | Overall ranking. All cars ranked by total votes. Selectable Top N (5, 10, 20, 50). |
| Unique | Grouped by class (award category). All cars ranked in each class. |
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.
The Config tab provides show-specific settings.
Set the show's venue — displayed on the public show details page with an embedded Google Maps widget.
Set primary, secondary, and accent colors for branding. Used on cards and show materials.
Enable the "Enable Pre-Registration" checkbox to allow attendees to register themselves via a QR code or link.
In the Config tab under 💳 Payment Configuration, choose one of three options per show:
🆓 Free (Manual Approval)
💳 Stripe (Credit/Debit Cards)
🅿️ PayPal
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.
The Plaques tab generates printable plaques for each car.
Click "Preview Plaques" to see them, then "Print All" or print individual plaques. Use your browser's print dialog to print on card stock.
After voting ends, use the Tally tab to see winners, then print winner cards or certificates.
In the Config tab, you can print blank cards for walk-up registrations at the show:
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.
Required columns: name
Optional columns: description, class_number
The ⚙️ Site Admin tab is only visible to SuperAdmins and contains platform-wide settings.
Choose a color theme that applies to both the admin panel and the attendee app.
Admin Panel: Top bar, active tabs, buttons all respond to theme colors.
Attendee App — all screens themed:
Set a site-wide support email displayed to attendees.
Open or close the current show. Closed shows are only visible to SuperAdmins.
Configure show purchase on the landing page — enable/disable, pricing (single show and multi-pack), payment method (Stripe or PayPal), and API keys.
The landing page (autovotespro.org) displays a scrolling marquee of all non-closed shows. Each poster is clickable and opens a Show Details page.
When a visitor clicks a show poster on the landing page, they see a full details page with:
At the top of the Config tab, SuperAdmins see a "Site Settings" section.
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.
The Sponsors tab lets you showcase show sponsors to attendees.
Click "+ Add Sponsor" and fill in:
Attendees see sponsors on their 🏅 Sponsors screen, grouped by tier with logos, descriptions, and tappable social media icons.
In the Config tab, the 🌐 Social Media & Website section lets you add your show's social links:
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.
Dash cards print in landscape orientation on 8.5×11 pages with no browser headers/footers. Each card fills one full page.
Blank cards have fill-in lines for manual entry. Two toggles control the layout:
AutoVotesPro supports professional judging with scored criteria, separate from the attendee voting system.
In the Config tab, find the 🏛️ Judging Configuration section:
📋 Traditional Judging — The most common format.
🤝 Freestyle Judging — Great for team judging.
🏆 Concours Judging — Point deduction method.
Go to the Judging tab to manage judging criteria:
In the Users tab, add users with the Judge role:
The Judging tab shows live results:
The Stats tab shows detailed analytics for the current show.
In the Config tab, the 🏆 Publish Winners toggle controls whether attendees can see results.
On both the Tally and Stats tabs, click 📧 Email Report to send a formatted HTML email to your own email address containing:
The 📊 Dashboard tab shows platform-wide statistics across ALL shows.
Found in the Config tab, the 🧹 Cleanse section provides irreversible maintenance operations.
The 💰 Revenue tab tracks income for the current show.
The 🎖️ Awards tab lets you create special awards beyond voting results.
Attendees can tap any car in "All Vehicles" to see a full Car Detail Page with:
The 📸 Photo Gallery button on the Dashboard shows all photos from all cars in the show, with a full-screen lightbox and "View Car Details" link.
In ⚙️ Site Admin, configure Twilio to send text messages to all attendees.
A nightly cron job backs up the database automatically.
backup.sh.sql.gz files in /opt/autovotespro/backups/SuperAdmins and ShowAdmins can join a show as an attendee to vote and register cars.
The attendee app supports 5 languages, selectable by each user from the Dashboard.
The 🎁 Door Prizes tab lets you create prizes, draw random winners, and track prize collection.
In the Cars tab, click 📸 Photos & Comments to manage all user-uploaded content.
The 🛍️ Merch tab lets you sell show merchandise through the attendee app.
Click 📋 View Orders to see all attendee orders.
Attendees can like photos in the gallery by tapping the ❤️ button. Each user gets one like per photo (tap again to unlike).
Attendees can scan a car's QR code from the Dashboard to view its detail page.
Judges can now score cars directly from the app — no admin panel needed.
A live count of attendees and cars can be displayed in the marquee banner.
Pre-registration now assigns car numbers on approval, not on registration.
Spectator mode provides no-login public access to your car show. Share the link with anyone — no account needed.
autovotespro.org/spectator?showId=XAccess from Tally tab → 📝 Paper Ballot (red button). Allows admins to enter votes from paper ballots on behalf of attendees.
A standalone page designed for projecting on a TV or monitor at the venue.
https://autovotespro.org/app/door-prize-display.html?showId=X
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.
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.
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.
Click ✅ Approve on any pre-registered user to approve them directly from the Users tab, without going to the Pending Approvals section.
The API URL in admin.html may be incorrect. Ensure it points to the correct server address.
All shows assigned to this ShowAdmin are closed. A SuperAdmin needs to open a show for them.
This should now re-link the existing user. If it still fails, the user may already be in this show. Check the Users tab.
Reset emails are sent from noreply@autovotespro.org using the server's mail system with SPF and DKIM authentication. If emails aren't arriving:
grep "gmail\|yahoo\|hotmail" /var/log/exim_mainlog | tail -5Click 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.
pk_live_ (or pk_test_ for testing)sk_live_ (or sk_test_ for testing)pm2 logs autovotespro --lines 204242 4242 4242 4242, any future expiry, any CVCIf an attendee reports paying but their show still says "Pending Approval":
The same CSV was imported multiple times. Delete duplicate classes in the Classes tab, or delete all classes and re-import.
Ensure the correct show is active. The tally shows votes for the active show only.
Ensure the class-images folder is present on the server. Check that image uploads completed successfully.
Check: Is the vote window set and currently open? Is the show active? Is the attendee assigned to the show?
The QR camera scanner requires HTTPS. Ensure SSL is configured on the server. Attendees can use "Vote by Number" as an alternative.
Check the logs folder in the server directory for daily error and access logs. On the server: pm2 logs autovotespro