Technical Details
Architecture, infrastructure, and technology stack powering DFW Drag Events.
Technology Stack
This site is built with simplicity, speed, and maintainability in mind.
Site Runtime
- Static JSON Data — Website-ready event data is served from committed JSON files generated by a sync step
- Schema-Validated Dataset Sync — Upstream event data is validated against the published JSON Schema before being written into the site
- Manual Track Filter Definitions — Track filters are controlled separately through a maintained canonical-and-alias JSON file
- Fast Static Delivery — Pages and assets are served without a dynamic application server
- Open Source Repository — Source, documentation, and deployment tooling are maintained in GitHub
Frontend
- Vanilla JavaScript — No frameworks, just fast native code
- Bootstrap 5 — Responsive design and UI components
- Static HTML — Pre-rendered pages for maximum performance
- Vitest — Frontend testing for application behavior and coverage
Development Tools
- Python 3 — AWS deployment and infrastructure scripts
- Node.js — Local development server and dataset sync tooling
- Make — Lightweight validation, test, coverage, and deploy entry points
- AWS CLI — CloudFront, Route 53, S3, and ACM operations
- Git — Version control and collaboration
The retired local Go/SQLite/CSV data workflow has been archived from the active architecture and documentation.
Data Pipeline
The production dataset is no longer edited manually in multiple files. The site syncs upstream event data from bigsapper/drag-events-aggregator, validates it against the published schema, and writes a website-specific events.json file with embedded track metadata.
- Synced Files:
events.jsonandevents.schema.json - Manual File:
tracks-filter.jsonfor canonical track filter labels and aliases - Archived Snapshot: Previous local dataset preserved under
_archive/site-data/2026-04-01-pre-aggregator/
Infrastructure & Hosting
We take site availability seriously. The site is deployed as static content on AWS with CloudFront caching and regional failover support.
AWS Services
- S3 (Primary): Static website hosting in US East (N. Virginia)
- S3 (Failover): Backup bucket in US West (Oregon) for redundancy
- CloudFront: Global CDN with 450+ edge locations worldwide
- Route 53: DNS and domain management
- Certificate Manager: Free SSL/TLS certificates with auto-renewal
Reliability Features
- Multi-Region Redundancy: Automatic failover between US East and US West regions
- 99.9% Uptime SLA: If one AWS region goes down, the site automatically switches to the backup region in seconds
- HTTPS Everywhere: Secure connections with auto-renewing SSL certificates
- Edge Caching: Content served from the nearest CloudFront edge location for sub-100ms load times
- Deployment Automation: Python scripts and Make targets keep the release workflow repeatable
Built with enterprise-grade AWS infrastructure to ensure you can always access event information when you need it.
Open Source
This project is open source and licensed under the MIT License.
That means:
- ✅ The code is freely available for anyone to view, use, and modify
- ✅ Contributions from the community are welcome
- ✅ You can fork the project and adapt it for your own region or use case
- ✅ All code and infrastructure documentation is public on GitHub
Performance Metrics
- ⚡ Load Time: <100ms (CloudFront edge cache)
- 📊 Frontend Test Coverage: 93.69% statements, 82.51% branches, 96.07% functions, 95.07% lines
- 🧩
app.jsCoverage: 93.59% statements, 81.25% branches, 95.12% functions, 94.46% lines - 🌍 Global CDN: 450+ edge locations
- 🔒 Security: HTTPS only, CSP headers, HSTS enabled
- ♿ Accessibility: Semantic HTML, ARIA labels, keyboard navigation
Want to Contribute?
We welcome contributions! Here's how you can help:
- 🐛 Report bugs or issues on GitHub
- 💡 Suggest new features or improvements
- 📝 Improve documentation
- 🔧 Submit pull requests with fixes or enhancements
- 🏁 Submit fixes, content updates, or tooling improvements
Check out the GitHub repository for contribution guidelines and setup instructions.