Skip to content

rrRunerra/TournamentManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

258 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ† TournamentManager

A comprehensive tournament management system with casino minigames

React Node.js MongoDB Docker


๐Ÿ“‹ Overview

TournamentManager is a full-stack web application designed for organizing and managing competitive tournaments. It features a powerful bracket system, team management, real-time match scoring, and a casino entertainment section with multiple minigames. Built with React and Node.js, it provides a seamless experience for tournament organizers, players, and spectators.


โœจ Features

๐Ÿ… Tournament Management

  • Create & Manage Tournaments - Set up tournaments with customizable settings
  • Bracket Formats - Support for both single and double elimination brackets
  • Team-Based Competition - Configurable team sizes for flexible competition formats
  • Tournament Lifecycle - Track tournaments through all stages: Upcoming โ†’ Ongoing โ†’ Finished
  • Bye Distribution - Automatic handling for non-power-of-2 team counts
  • Walkover Handling - Manage no-show situations gracefully

๐ŸŽฏ Bracket System

  • Visual Bracket Display - Tree-based layout algorithm for perfect alignment with SVG connectors
  • Real-Time Winner Progression - Automatic bracket updates as matches complete
  • Interactive Match Popups - View match details, players, and scores

๐Ÿ‘ฅ User Management

  • Role-Based Access Control
    • Teachers - Create and manage tournaments
    • Students - Join teams and view tournaments
    • Owners - Full control over their tournaments
  • User Profiles - Customizable avatars and personal statistics
  • Authentication - Secure login system with Edupage integration

๐Ÿ“Š Match & Score Tracking

  • Score Management - Track individual match scores
  • Match Statuses - PLAYED, NO_SHOW, WALK_OVER, NO_PARTY
  • Real-Time Updates - Live bracket updates for all viewers

๐Ÿ“ˆ Player Statistics

  • Tournament Stats - Track finals placements (1st, 2nd, 3rd, 4th place finishes)
  • Match Statistics - Wins, losses, and overall tournament participation
  • Game High Scores - Persistent high score tracking for minigames

๐ŸŽฐ Casino & Minigames

A complete entertainment section with virtual credits:

Game Description
๐ŸŽฐ Slot Machine Classic slot machine with multiple symbols and payout multipliers
๐ŸŽก Roulette European roulette with full betting table, chip selection, and big win animations
๐Ÿƒ Poker (Texas Hold'em) Multiplayer poker with lobby system and real-time gameplay
๐Ÿฆ Flappy Bird Classic side-scrolling minigame with high score tracking
  • Virtual Credits - Earn, spend, and track credits across games
  • In-Game Shop - Purchase cosmetic items like profile pictures

๐ŸŽจ UI Components Library

A rich collection of reusable components:

  • Buttons - Multiple variants and colors
  • Cards - Tournament and navbar card types
  • Notifications - Success, error, warning, and info alerts
  • Confirmation Dialogs - Modal confirmation prompts
  • Input Components - Text inputs, select dropdowns, multi-select
  • Pagination - Navigate through large data sets
  • Date/Time Picker - Tournament scheduling

๐ŸŒ Internationalization

Full multi-language support with 9 languages:

Language Code
๐Ÿ‡ฌ๐Ÿ‡ง English en
๐Ÿ‡ธ๐Ÿ‡ฐ Slovak sk
๐Ÿ‡จ๐Ÿ‡ฟ Czech cz
๐Ÿ‡ฉ๐Ÿ‡ช German de
๐Ÿ‡ญ๐Ÿ‡บ Hungarian hu
๐Ÿ‡ฏ๐Ÿ‡ต Japanese ja
๐Ÿ‡ต๐Ÿ‡ฑ Polish pl
๐Ÿ‡ท๐Ÿ‡บ Russian ru
๐Ÿ‡จ๐Ÿ‡ณ Chinese zh

๐Ÿ—๏ธ Architecture

The project follows a clean client-server architecture:

TournamentManager/
โ”œโ”€โ”€ uu_ritr_maing01-hi/          # ๐ŸŽจ Frontend (React SPA)
โ”‚   โ””โ”€โ”€ src/
โ”‚       โ”œโ”€โ”€ bricks/               # Reusable UI components
โ”‚       โ”‚   โ”œโ”€โ”€ components/       # Core component library
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ brackets/     # Bracket visualization
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ poker/        # Poker game components
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ ui/           # UI primitives (Button, Card, Input...)
โ”‚       โ”‚   โ”‚   โ””โ”€โ”€ notifications/# Toast notifications
โ”‚       โ”‚   โ””โ”€โ”€ shop/             # Virtual shop system
โ”‚       โ”œโ”€โ”€ routes/               # Page components
โ”‚       โ”œโ”€โ”€ styles/               # CSS stylesheets
โ”‚       โ”œโ”€โ”€ lsi/                  # Language translations
โ”‚       โ”œโ”€โ”€ hooks/                # Custom React hooks
โ”‚       โ””โ”€โ”€ calls.js              # API client
โ”‚
โ”œโ”€โ”€ uu_ritr_maing01-server/      # โš™๏ธ Backend (Node.js)
โ”‚   โ””โ”€โ”€ app/
โ”‚       โ”œโ”€โ”€ abl/                  # Business logic layer
โ”‚       โ”‚   โ”œโ”€โ”€ tournament-abl.js
โ”‚       โ”‚   โ”œโ”€โ”€ match-abl.js
โ”‚       โ”‚   โ”œโ”€โ”€ player-abl.js
โ”‚       โ”‚   โ””โ”€โ”€ team-abl.js
โ”‚       โ”œโ”€โ”€ api/                  # Controllers & validation
โ”‚       โ”‚   โ”œโ”€โ”€ controllers/
โ”‚       โ”‚   โ”œโ”€โ”€ errors/           # Custom error classes
โ”‚       โ”‚   โ””โ”€โ”€ validation_types/ # Input validation schemas
โ”‚       โ”œโ”€โ”€ dao/                  # Data access layer
โ”‚       โ””โ”€โ”€ config/               # Server configuration
โ”‚
โ””โ”€โ”€ docker-compose.yml            # ๐Ÿณ Docker orchestration

Technology Stack

Layer Technologies
Frontend React, uu5g05 (routing), Custom CSS, SVG graphics
Backend Node.js, Express-like controllers, MongoDB
Deployment Docker, Docker Compose

๐Ÿš€ Getting Started

Prerequisites

  • Node.js 14+
  • MongoDB
  • npm or yarn
  • Docker (optional, for containerized deployment)

Installation

  1. Clone the repository

    git clone https://github.com/your-username/TournamentManager.git
    cd TournamentManager
  2. Install frontend dependencies

    cd uu_ritr_maing01-hi
    npm install
  3. Install backend dependencies

    cd ../uu_ritr_maing01-server
    npm install

Running the Application

Development Mode

Frontend:

cd uu_ritr_maing01-hi
npm start

Backend:

cd uu_ritr_maing01-server
npm start

Docker Deployment

docker-compose up -d

๐Ÿ“– Documentation

Document Description
Frontend Docs Frontend architecture and components
Backend Docs API endpoints and business logic
Bracket Algorithm How the bracket system works

๐ŸŽฎ Application Pages

Page Description
Home Landing page with welcome message and navigation
Tournaments Browse and join available tournaments
Tournament Detail View bracket, matches, and tournament info
History View past tournament results
Profile User statistics, achievements, and avatar customization
Casino Minigames section (Roulette, Slots, Poker, Flappy Bird)
About Information about the application

๐Ÿ”— Resources


๐Ÿ“„ License

This project is part of the uuApp ecosystem.


Made with โค๏ธ for tournament enthusiasts

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages