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.
- 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.
-
Clone the repository:
git clone https://github.com/WoongyuChoi/RandTeamMaker.git cd RandTeamMaker -
Install dependencies: Make sure Python 3.7+ is installed. Then install required packages:
pip install -r requirements.txt
-
Run the application:
python main.py
-
Or generate an executable:
pyinstaller --onefile --icon=.\favicon.ico main.py
- Enter Groups: Fill each group box with a list of names (one per line).
- Set Team Count: Choose the desired number of teams from the dropdown.
- Generate: Click Generate Teams to auto-assign members.
- View Assignment: The result table will show all teams and their members.
- Export: Click the export button to save the team assignment as a CSV.
This project is licensed under the MIT License.
See the LICENSE file for details.