|
| 1 | +# Bingo |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | +[](https://youtube.com/@offendingcommit) |
| 7 | +[](https://twitch.tv/offendingcommit) |
| 8 | + |
| 9 | +A customizable bingo board generator built with NiceGUI and Python. Create interactive bingo games for your streams, meetings, or events! |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | +## Features |
| 14 | + |
| 15 | +- **Custom Phrases**: Supply your own list of phrases for unique bingo experiences |
| 16 | +- **Shareable Boards**: Generate view-only links to share with your audience |
| 17 | +- **Interactive UI**: Mark squares with a simple click |
| 18 | +- **Stream Integration**: Perfect for Twitch and YouTube streamers |
| 19 | +- **Responsive Design**: Works on desktop and mobile devices |
| 20 | +- **Docker Support**: Easy deployment with Docker |
| 21 | +- **Kubernetes Ready**: Helm charts included for Kubernetes deployment |
| 22 | + |
| 23 | +## Installation |
| 24 | + |
| 25 | +### Prerequisites |
| 26 | + |
| 27 | +- Python 3.12 or higher |
| 28 | +- Poetry (recommended for dependency management) |
| 29 | + |
| 30 | +### Quick Setup |
| 31 | + |
| 32 | +```bash |
| 33 | +# Clone the repository |
| 34 | +git clone https://github.com/OffendingCommit/commit-bingo.git |
| 35 | +cd commit-bingo |
| 36 | + |
| 37 | +# Run the setup script |
| 38 | +./setup.sh |
| 39 | +``` |
| 40 | + |
| 41 | +### Manual Setup |
| 42 | + |
| 43 | +```bash |
| 44 | +# Clone the repository |
| 45 | +git clone https://github.com/OffendingCommit/commit-bingo.git |
| 46 | +cd commit-bingo |
| 47 | + |
| 48 | +# Install dependencies with Poetry |
| 49 | +poetry install |
| 50 | + |
| 51 | +# Run the application |
| 52 | +poetry run python main.py |
| 53 | +``` |
| 54 | + |
| 55 | +### Docker Installation |
| 56 | + |
| 57 | +```bash |
| 58 | +# Build the Docker image |
| 59 | +docker build -t bingo . |
| 60 | + |
| 61 | +# Run the container |
| 62 | +docker run -p 8080:8080 bingo |
| 63 | +``` |
| 64 | + |
| 65 | +### Kubernetes Deployment |
| 66 | + |
| 67 | +```bash |
| 68 | +# Deploy using Helm |
| 69 | +cd helm && ./package.sh |
| 70 | +helm install bingo ./bingo |
| 71 | +``` |
| 72 | + |
| 73 | +## Usage |
| 74 | + |
| 75 | +1. Access the application at `http://localhost:8080` |
| 76 | +2. Customize your bingo phrases in `phrases.txt` or through the UI |
| 77 | +3. Share the view-only link with your audience |
| 78 | +4. Mark squares as they occur during your stream or event |
| 79 | + |
| 80 | +## Configuration |
| 81 | + |
| 82 | +### Custom Phrases |
| 83 | + |
| 84 | +Edit the `phrases.txt` file to add your own phrases, one per line. The application will randomly select from these phrases to generate boards. |
| 85 | + |
| 86 | +### Environment Variables |
| 87 | + |
| 88 | +- `PORT`: Set the port number (default: 8080) |
| 89 | +- `HOST`: Set the host address (default: 0.0.0.0) |
| 90 | +- `DEBUG`: Enable debug mode (default: False) |
| 91 | + |
| 92 | +## Development |
| 93 | + |
| 94 | +For detailed development instructions and code standards, see [CLAUDE.md](CLAUDE.md). |
| 95 | + |
| 96 | +```bash |
| 97 | +# Install dev dependencies |
| 98 | +poetry install |
| 99 | + |
| 100 | +# Run tests |
| 101 | +poetry run pytest |
| 102 | + |
| 103 | +# Run linters |
| 104 | +poetry run flake8 |
| 105 | +poetry run black --check . |
| 106 | +poetry run isort --check . |
| 107 | + |
| 108 | +# Format code |
| 109 | +poetry run black . |
| 110 | +poetry run isort . |
| 111 | +``` |
| 112 | + |
| 113 | +## About the Author |
| 114 | + |
| 115 | +[Offending Commit](https://github.com/OffendingCommit) is a software engineer, streamer, and content creator focused on coding, technology, and programming best practices. |
| 116 | + |
| 117 | +- **YouTube**: [Offending Commit](https://youtube.com/@offendingcommit) - Tutorials, coding sessions, and tech reviews |
| 118 | +- **Twitch**: [offendingcommit](https://twitch.tv/offendingcommit) - Live coding streams and interactive programming sessions |
| 119 | +- **GitHub**: [OffendingCommit](https://github.com/OffendingCommit) - Open source projects and contributions |
| 120 | + |
| 121 | +Join the community to learn about software development, DevOps, and tooling in a fun and engaging environment! |
| 122 | + |
| 123 | +## Contributing |
| 124 | + |
| 125 | +Contributions are welcome! Please feel free to submit a Pull Request. |
| 126 | + |
| 127 | +1. Fork the repository |
| 128 | +2. Create your feature branch (`git checkout -b feature/amazing-feature`) |
| 129 | +3. Commit your changes using conventional commits (`git commit -m 'feat: add amazing feature'`) |
| 130 | +4. Push to the branch (`git push origin feature/amazing-feature`) |
| 131 | +5. Open a Pull Request |
| 132 | + |
| 133 | +## License |
| 134 | + |
| 135 | +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
| 136 | + |
| 137 | +## Acknowledgments |
| 138 | + |
| 139 | +- [NiceGUI](https://github.com/zauberzeug/nicegui) for the UI framework |
| 140 | +- All contributors and community members |
0 commit comments