A modern, interactive website for the CODE Chess Club featuring tournament management, live leaderboards, and match tracking.
- 🏠 Home: Welcome message and club introduction
 - 📋 Rules: Tournament rules and guidelines
 - ℹ️ League Info: Tournament structure and information
 - 📅 Fixtures: Weekly match schedules organized by groups
 - 🏆 Leaderboard: Live standings with automatic score calculation
 - 📞 Contact: Club contact information
 
- 📱 Mobile Responsive: Optimized for all device sizes
 - 🎨 Chess-Themed Design: Beautiful UI with chess aesthetics
 - 📊 Real-Time Updates: Dynamic leaderboard and fixture management
 - 💾 Data Persistence: Local storage for tournament data
 - ⚡ TypeScript-Based: Type-safe data management system
 
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:3000 to see the application.
- Next.js 15 - React framework with App Router
 - TypeScript - Type-safe development
 - Tailwind CSS 4 - Utility-first styling
 - React 19 - Latest React features
 - Local Storage - Client-side data persistence
 
src/app/
├── components/
│   ├── admin/          # Admin components (MatchResultUpdater)
│   ├── layout/         # Header, NavBar
│   ├── pages/          # Main page components
│   ├── sections/       # Content sections (Home, Rules, etc.)
│   └── ui/             # Reusable UI components
├── data/
│   ├── types.ts        # TypeScript interfaces
│   ├── chessData.ts    # Initial tournament data
│   ├── chessManager.ts # Data management system
│   ├── content.ts      # Dynamic content functions
│   └── index.ts        # Data exports
├── globals.css         # Global styles
├── layout.tsx          # Root layout
└── page.tsx            # Main page
- 4 Groups: A, B, C, D
 - 34 Players: Distributed across groups
 - Weekly Fixtures: Organized match schedules
 - Live Scoring: Automatic point calculation (Win: 1pt, Draw: 0.5pt)
 
The application uses a sophisticated TypeScript-based data management system:
// Update match results
chessDataManager.updateMatchResult("match-id", "player1");
// Get current leaderboard
const leaderboard = chessDataManager.getLeaderboard();
// Get fixtures by week
const week1Fixtures = chessDataManager.getMatchesByWeek(1);- Match Result Updater: Simple interface to update match outcomes
 - Real-Time Updates: Changes reflect immediately in the UI
 - Data Persistence: Tournament data survives browser refreshes
 
- Horizontal Scrolling: Smooth navigation between sections
 - Chess Aesthetics: Board-inspired color scheme and typography
 - Responsive Grid: Adaptive layouts for different screen sizes
 - Interactive Elements: Hover effects and smooth transitions
 
npm run dev      # Start development server
npm run build    # Build for production
npm run start    # Start production server
npm run lint     # Run ESLint- Group A: Simon Gneuss, Emmanuel Neuenhaus, Adonis Almagro leading
 - Group B: Andrey Turakin undefeated, Lucía Goslar & ahmed.sohail with draws
 - Group C: gabriel.rose Rose, Matteo von Haxthausen, Nikita Vladimirov with wins
 - Group D: Cagatay Uslu leading, Diaa Abdelrazek & Felix Bachstein with draws
 
- All groups have scheduled matches
 - Some results already recorded
 - Admin interface available for result updates
 
The tournament data can be easily modified in src/app/data/chessData.ts:
- Add/remove players
 - Modify group assignments
 - Update match schedules
 - Reset tournament data
 
This project is for the CODE Chess Club community.