TurnFix is a comprehensive gymnastics competition management system designed for organizing, managing, and conducting gymnastics competitions. Originally developed for German gymnastics competitions, it now offers both a traditional Qt desktop application and a modern web-based interface.
- Modern UI: React with TypeScript and Tailwind CSS
- Cross-Platform: Works on any device with a web browser
- Real-time Updates: Live competition data synchronization
- Cloud-Ready: Easy deployment and scaling
- Mobile-Friendly: Responsive design for tablets and phones
- Multi-Language: German and English support
- Role-Based Access: Secure user management
- Native Performance: Optimized for Windows desktop
- Offline Capability: No internet connection required
- Complete Feature Set: All traditional TurnFix functionality
- Database Integration: Direct PostgreSQL connectivity
- ✅ Event creation and configuration
- ✅ Multiple competition categories
- ✅ Age group and division management
- ✅ Discipline configuration (Floor, Vault, Bars, Beam, etc.)
- ✅ Timeline and scheduling system
- ✅ Judge assignment and management
- ✅ Athlete registration and profiles
- ✅ Club and association management
- ✅ Team formations and squad assignments
- ✅ Import/Export functionality (GymNet XML)
- ✅ Barcode generation for identification
- ✅ Score capture and validation
- ✅ Real-time result calculations
- ✅ Live leaderboards and standings
- ✅ Judge portal for score entry
- ✅ Competition status tracking
- ✅ Comprehensive result generation
- ✅ PDF export for certificates and reports
- ✅ Medal standings and rankings
- ✅ Statistical analysis and reporting
- ✅ Print-ready competition documents
- Node.js 18.x or higher
- PostgreSQL 12.x or higher
- 2GB RAM minimum
# Clone the repository
git clone https://github.com/Igel18/turnfix.git
cd turnfix/newWebBased
# Install dependencies
npm run install:all
# Configure database
cp server/.env.example server/.env
# Edit server/.env with your database credentials
# Setup database
cd server
npx prisma generate
npx prisma migrate deploy
npm run db:seed
# Start development servers
cd ..
npm run devAccess URLs:
- Main Application: http://localhost:5173
- API Documentation: http://localhost:3001/api/docs
- Jury Portal: http://localhost:5174
# Build for production
npm run build
# Start production server
npm run start- Qt 5.13+ with MinGW (Windows)
- PostgreSQL 11+
- QtPropertyBrowser in libs folder
# Clone QtPropertyBrowser dependency
cd libs
git clone https://github.com/abhijitkundu/QtPropertyBrowser.git
# Build with Qt Creator or command line
qmake TurnFix.pro
makeBoth applications share the same PostgreSQL database schema, ensuring:
- ✅ Full Compatibility: Switch between Web and Desktop versions
- ✅ Data Migration: Seamless upgrade path from legacy to web
- ✅ Backup Compatibility: Shared database backup/restore procedures
- ✅ Legacy Support: Existing installations continue to work
-- Your existing TurnFix database works with both versions
-- No migration required for basic functionality
-- Web UI provides additional features with backward compatibility┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ React Client │ │ Jury Portal │ │ Express API │
│ (Port 5173) │◄──►│ (Port 5174) │◄──►│ (Port 3001) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
┌─────────────────┐
│ PostgreSQL DB │
│ (Port 5432) │
└─────────────────┘
- Frontend: React 18, TypeScript, Tailwind CSS, Vite
- Backend: Node.js, Express, Prisma ORM
- Database: PostgreSQL
- Authentication: JWT with refresh tokens
- Real-time: Socket.io for live updates
- Build: GitHub Actions CI/CD
- Dashboard: Centralized competition overview
- Responsive Design: Works on desktop, tablet, and mobile
- Dark/Light Mode: User preference support
- Internationalization: German and English languages
- Real-time Updates: Live score and result updates
- Native Windows UI: Optimized for desktop workflows
- Offline Operation: No internet dependency
- Direct Database Access: High-performance data operations
- Traditional Workflows: Familiar interface for existing users
- 🐛 Report Issues
- 💡 Feature Requests
- 📧 Contact: Support Email
- Keep Existing Setup: Your current TurnFix installation continues to work
- Install Web UI: Deploy alongside existing system
- Test in Parallel: Validate functionality with real data
- Gradual Migration: Move workflows incrementally
- Full Transition: Complete move to web-based system
| Feature | Legacy Qt | Web UI | Notes |
|---|---|---|---|
| Competition Management | ✅ | ✅ | Full compatibility |
| Participant Registration | ✅ | ✅ | Enhanced web workflows |
| Score Capture | ✅ | ✅ | Additional real-time features |
| Result Generation | ✅ | ✅ | PDF export in both |
| GymNet XML Import/Export | ❌ | ✅ | Shared database format |
| Judge Portal | ❌ | ✅ | New web-only feature |
| Mobile Access | ❌ | ✅ | Web-only capability |
| Real-time Updates | ❌ | ✅ | Live synchronization |
| Multi-user Access | Limited | Limited | Role-based permissions |
Click to view Web UI screenshots
TurnFix has been successfully used in:
- Regional Championships: Multiple German gymnastics competitions
- Club Competitions: Local and national level events
- Training Camps: Score tracking and athlete development
- Multi-day Events: Complex competition scheduling and management
- 📱 Progressive Web App (PWA) support
- 🌍 Additional language support
- 📊 Advanced analytics and reporting
- 🔄 Real-time collaboration features
- 📱 Native mobile applications
- 🔗 Federation result submission APIs
- 📡 Live streaming integration
- 📊 Broadcast-ready graphics generation
- 🏅 Digital certification system
We welcome contributions to both the legacy Qt application and the new Web UI!
# Fork the repository
git fork https://github.com/Igel18/turnfix.git
# Clone your fork
git clone https://github.com/yourusername/turnfix.git
# Set up development environment
cd turnfix/newWebBased
npm run install:all
# Create feature branch
git checkout -b feature/your-feature-name
# Make changes and test
npm run test
# Submit pull request- 📝 Follow existing code style and conventions
- ✅ Add tests for new functionality
- 📖 Update documentation as needed
- 🔍 Ensure all CI checks pass
- 📋 Fill out pull request template completely
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Qt Framework: For the robust desktop application foundation
- React Community: For the modern web development ecosystem
- German Gymnastics Federation: For requirements and testing support
- Contributors: Everyone who has helped improve TurnFix
- 🌐 Website: TurnFix Official
- 📧 Email: [email protected]
- 💬 Discord: TurnFix Community
- 🐦 Twitter: @TurnFixApp
Made with ❤️ for the gymnastics community
Bringing modern technology to gymnastics competition management while preserving the reliability and feature completeness that coaches and administrators depend on.