Public
Like
town-hall
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.
Viewing readonly version of main branch: v98View latest version
A simple form for collecting attendee registrations and speaker applications for the Val Town Hall event.
- 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
/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
- The form collects attendee information including name, email, company (optional), and website (optional).
- 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
- Users can optionally apply to give a 90-second lightning talk by toggling the speaker option.
- If applying as a speaker, additional fields appear for Val Town username and talk description.
- On submission, the data is sent to the server endpoint.
- The server validates the data, stores it in SQLite, and sends an email notification.
- A thank you message is displayed to the user upon successful submission.
The application includes an admin dashboard that can be accessed at /admin
. The dashboard:
- Requires a password for authentication (set via the
ADMIN_PASSWORD
environment variable) - Displays a list of all attendees and speakers
- Shows a summary with total counts
- Provides a table showing the popularity of each interest option
- Allows viewing detailed information about each registration
- Includes an email list tool for easily copying emails to Gmail
To access the admin dashboard:
- Navigate to
/admin
in your browser - Enter the admin password when prompted
- View and manage all registrations
The interest popularity table helps organizers understand which topics are most requested by attendees, allowing for better planning of the event content.
The email list tool provides a convenient way to:
- View all emails in a format ready for Gmail
- Filter between all participants, attendees only, or speakers only
- Copy the entire list to clipboard with one click
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 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.