Skip to content

offendingcommit/commit-bingo

Repository files navigation

Bingo

GitHub release (latest by date) GitHub Workflow Status GitHub YouTube Channel Subscribers Twitch Status

A customizable bingo board generator built with NiceGUI and Python. Create interactive bingo games for your streams, meetings, or events!

Bingo Board Screenshot

Features

  • Custom Phrases: Supply your own list of phrases for unique bingo experiences
  • Shareable Boards: Generate view-only links to share with your audience
  • Interactive UI: Mark squares with a simple click
  • Stream Integration: Perfect for Twitch and YouTube streamers
  • Responsive Design: Works on desktop and mobile devices
  • Docker Support: Easy deployment with Docker
  • Kubernetes Ready: Helm charts included for Kubernetes deployment

Installation

Prerequisites

  • Python 3.12 or higher
  • Poetry (recommended for dependency management)

Quick Setup

# Clone the repository
git clone https://github.com/OffendingCommit/commit-bingo.git
cd commit-bingo

# Run the setup script
./setup.sh

Manual Setup

# Clone the repository
git clone https://github.com/OffendingCommit/commit-bingo.git
cd commit-bingo

# Install dependencies with Poetry
poetry install

# Run the application
poetry run python main.py

Docker Installation

# Build the Docker image
docker build -t bingo .

# Run the container
docker run -p 8080:8080 bingo

Kubernetes Deployment

# Deploy using Helm
cd helm && ./package.sh
helm install bingo ./bingo

Usage

  1. Access the application at http://localhost:8080
  2. Customize your bingo phrases in phrases.txt or through the UI
  3. Share the view-only link with your audience
  4. Mark squares as they occur during your stream or event

Configuration

Custom Phrases

Edit the phrases.txt file to add your own phrases, one per line. The application will randomly select from these phrases to generate boards.

Environment Variables

  • PORT: Set the port number (default: 8080)
  • HOST: Set the host address (default: 0.0.0.0)
  • DEBUG: Enable debug mode (default: False)

Development

For detailed development instructions and code standards, see CLAUDE.md.

# Install dev dependencies
poetry install

# Run tests
poetry run pytest

# Run linters
poetry run flake8
poetry run black --check .
poetry run isort --check .

# Format code
poetry run black .
poetry run isort .

About the Author

Offending Commit is a software engineer, streamer, and content creator focused on coding, technology, and programming best practices.

Join the community to learn about software development, DevOps, and tooling in a fun and engaging environment!

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes using conventional commits (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

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

Acknowledgments

  • NiceGUI for the UI framework
  • All contributors and community members

About

Bingo Card used on Twitch

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 3

  •  
  •  
  •  

Languages