FeaturesTemplatesShowcaseTownie
AI
BlogDocsPricing
Log inSign up
stevekrouse
stevekrousetown-hall
Public
Like
town-hall
Home
Code
3
frontend
3
README.md
H
index.ts
Branches
3
Pull requests
Remixes
History
Environment variables
1
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
README.md
Code
/
README.md
Search
5/17/2025
Viewing readonly version of admin-dasbhoard branch: v7
View latest version
README.md

Val Town Hall Registration Form

A simple form for collecting attendee registrations and speaker applications for the Val Town Hall event.

Features

  • Clean, modern form design
  • Supports both general attendee registration and speaker applications
  • Collects attendee interests and preferences for event content
  • SQLite database storage for all submissions
  • Email notifications for new submissions
  • Mobile-responsive design
  • Client-side validation
  • Available in both HTML and React versions
  • Admin dashboard for viewing attendees and speakers

Project Structure

  • /frontend/ - React implementation
    • /frontend/index.html - HTML container for React app
    • /frontend/index.tsx - React entry point
    • /frontend/components/ - React components
      • /frontend/components/AdminDashboard.tsx - Admin dashboard component

How It Works

  1. The form collects attendee information including name, email, company (optional), and website (optional).
  2. Attendees can select what content they'd like to see at the event:
    • Q&A session with the Val Town Team
    • Demos of new features
    • Learn more about the Val Town roadmap
    • Breakout rooms to connect with fellow Val Town users
    • Custom suggestions via a text field
  3. Users can optionally apply to give a 90-second lightning talk by toggling the speaker option.
  4. If applying as a speaker, additional fields appear for Val Town username and talk description.
  5. On submission, the data is sent to the server endpoint.
  6. The server validates the data, stores it in SQLite, and sends an email notification.
  7. A thank you message is displayed to the user upon successful submission.

Admin Dashboard

The application includes an admin dashboard that can be accessed at /admin. The dashboard:

  1. Requires a password for authentication (set via the ADMIN_PASSWORD environment variable)
  2. Displays a list of all attendees and speakers
  3. Shows a summary with total counts
  4. Allows viewing detailed information about each registration

To access the admin dashboard:

  1. Navigate to /admin in your browser
  2. Enter the admin password when prompted
  3. View and manage all registrations

Database Schema

CREATE TABLE IF NOT EXISTS val_town_hall_attendees_v3 ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT NOT NULL, company TEXT, website TEXT, is_speaker BOOLEAN NOT NULL, username TEXT, talk_description TEXT, interests TEXT, interest_custom TEXT, created_at TEXT NOT NULL )

The interests field stores a JSON array of selected interests.

Email Notifications

Email notifications are sent in plain text format and include all the information submitted through the form. Different email subjects are used depending on whether the submission is a general registration or a speaker application.

Go to top
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Product
FeaturesPricing
Developers
DocsStatusAPI ExamplesNPM Package Examples
Explore
ShowcaseTemplatesNewest ValsTrending ValsNewsletter
Company
AboutBlogCareersBrandhi@val.town
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.