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.