Skip to content

An app designed to randomly select a team member from a group, with features to choose the team, add or remove members.

Notifications You must be signed in to change notification settings

LudovicGardy/app_team_picker

Repository files navigation

Team Picker

📄 Description

🎲 Discover an application designed to randomly pick a member of your team for various activities or tasks.

🤔 “Who should be the next to speak?” This application helps answer this question by providing a fun and fair way to select a random team member. Whether it's for a meeting, a presentation, or any team activity, let chance decide!

Here's a tool that allows you to manage team members, add or remove members, and perform a random selection with a fun twist. Ideal for teams who want to add an element of surprise and fairness to their processes.

🌐 Access the app and start your random selection now at https://teampicker.sotisai.com.

Image1


⚙️ Setup & Usage

You can run the application in two ways:

  • Locally using uv
  • Using Docker Compose

🔧 Option 1 — Run Locally with uv

uv is a fast and modern Python tool that handles virtual environments and dependencies via pyproject.toml.

  1. Install uv (if not already installed)

    curl -Ls https://astral.sh/uv/install.sh | sh
  2. Clone the repository

    git clone https://github.com/LudovicGardy/app_name
    cd app_folder/
  3. Create and activate the environment

    uv venv
    • On macOS/Linux:

      source .venv/bin/activate
    • On Windows (PowerShell):

      .venv\Scripts\Activate.ps1
  4. (Optional) If the virtual environment doesn't behave properly

    Sometimes, on macOS in particular, the environment might be missing some tooling (like pip). You can try the following fixes:

    .venv/bin/python -m ensurepip --upgrade
    .venv/bin/python -m pip install --upgrade pip
    # Optional: Only if you need to use Jupyter notebooks
    .venv/bin/python -m pip install ipykernel -U --force-reinstall
  5. Launch the app

    streamlit run main.py

🐳 Option 2 — Run with Docker Compose

  1. Make sure Docker and Docker Compose are installed and running

  2. Go to the project directory

    cd path/to/app_folder
  3. Build and start the app

    docker-compose up --build
  4. Access the app Open your browser at: http://localhost:8504


🛠️ Development

Pre-commit Hooks

This project uses pre-commit to maintain code quality. The following hooks are configured:

  • Basic hooks: checking for trailing whitespaces, end-of-file formatting, YAML and TOML file verification, etc.
  • Ruff: Python code linting and formatting
  • Codespell: spell checking
  • Commitizen: checking commit messages according to the defined convention

To install pre-commit:

# Install dependencies
uv pip install pre-commit ruff

# Install git hooks
pre-commit install

The hooks will run automatically with each commit. You can also run them manually:

pre-commit run --all-files  # Run on all files
pre-commit run ruff         # Run a specific hook

Ruff configuration is defined in pyproject.toml and includes:

  • reStructuredText docstring format
  • Import checking
  • Double quote formatting
  • Line length limited to 100 characters

👤 Author

About

An app designed to randomly select a team member from a group, with features to choose the team, add or remove members.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published