A modern, responsive web application for handling GitTogethers event registrations.
- 🎨 Modern, responsive design optimized for both desktop and mobile
- ⚡ Real-time GitHub username validation
- 📊 Invisible GitHub stats appended to motivation response
- 🔄 Optimized API calls to avoid rate-limiting
- 📱 Mobile-optimized error display with auto-scroll
- 💾 Smart form response caching (username-specific)
- 🌟 GitHub Skyline integration with fallback avatar
-
Homepage 🏠
- GitHub username validation from API
- Quick access links at bottom (same style as name edit links)
-
Section 1: Basic Information 📝
- Profile picture and name display from GitHub API
- Name editing feature
- GitTogether event selection (time-based visibility)
- Email address (with cache restore notification)
- City (with "Other" option)
- Country (with "Other" option)
- Current Role
- Company/Organization Name
-
Section 2: Professional Details 💼 (Skipped for students)
- Role/Designation
- Years of experience
- LinkedIn profile URL (Optional)
-
Section 3: Additional Information ℹ️
- Motivation for attending
- Underrepresented group identification (Optional)
-
Thank You Screen 🎉
- Personalized message with first name
- Event-specific confirmation date
- Configurable thank you message with HTML support
- Side-by-side buttons on desktop (stacked on mobile)
- GitHub Skyline visualization (fallback to avatar for users with no repos)
- Smooth fade-in animations for all elements
- Form responses cached per GitHub username
- Cached responses restored only for matching username
- Email field shows "pre-filled" notification when restored
- GitTogether event selection never cached
- Cache cleared on browser data reset
The application uses config.yml
for configuration:
background_images:
- https://example.com/image1.webp
- https://example.com/image2.webp
# Add more image URLs as needed
gittogethers:
description: "Text to display below GitTogether event selection question"
no_events_message: "Message to show when no events are active"
upcoming:
- name: "City Name (Date)"
end_time: "2025-03-08T17:00:00+05:30" # Indian Standard Time
confirmation_date: "2025-03-06T23:59:00+05:30" # When confirmation emails will be sent
thank_you_message: |
Your message with <a href="mailto:example@example.com">HTML links</a>
thank_you_buttons:
- text: "Button Text 📢"
url: "https://example.com"
- 📚 jQuery 3.2.1
- 📝 jQuery Form Plugin 4.2.2
- 📄 js-yaml 4.1.0
- 🔤 Google Fonts (Roboto)
- 🌟 Modern browsers with CSS Grid support
- 📱 Flexbox for layouts
- 🎨 CSS custom properties (variables)
- 👁️ Intersection Observer API for animations