Skip to content

A lightweight Python GUI tool for generating randomized teams from multiple groups with minimal overlap.

License

Notifications You must be signed in to change notification settings

WoongyuChoi/RandTeamMaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RandTeamMaker

Python License Platform GitHub release (latest by date)

Overview

RandTeamMaker is a Python-based GUI application designed to randomly generate team assignments based on multiple user-defined groups. Built with PyQt5, the tool supports fair mixing between groups, avoiding assigning identical groups to the same team.

Features

  • Group-Based Input: Input up to 5 different member groups.
  • Team Count Selection: Set the number of teams (up to 6) to generate.
  • Smart Shuffling: Ensures members from the same group are not re-grouped into the same team when possible.
  • Conflict Avoidance: Prevents repeated identical team compositions by re-shuffling when necessary.
  • Console Feedback: Logs assignment success or error messages for traceability.
  • CSV Export: Save the final team assignments to a CSV file.

Setup

  1. Clone the repository:

    git clone https://github.com/WoongyuChoi/RandTeamMaker.git
    cd RandTeamMaker
  2. Install dependencies: Make sure Python 3.7+ is installed. Then install required packages:

    pip install -r requirements.txt
  3. Run the application:

    python main.py
  4. Or generate an executable:

    pyinstaller --onefile --icon=.\favicon.ico main.py

Usage

  1. Enter Groups: Fill each group box with a list of names (one per line).
  2. Set Team Count: Choose the desired number of teams from the dropdown.
  3. Generate: Click Generate Teams to auto-assign members.
  4. View Assignment: The result table will show all teams and their members.
  5. Export: Click the export button to save the team assignment as a CSV.

License

This project is licensed under the MIT License.
See the LICENSE file for details.

About

A lightweight Python GUI tool for generating randomized teams from multiple groups with minimal overlap.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages