Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 84 additions & 6 deletions README.es.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,89 @@
<!-- l10n-sync: source-file="README.md" -->
🌐 [Português (BR)](README.pt_BR.md) | [Español](README.es.md)

# Soc Ops
# 🎯 Soc Ops — Bingo Social

Juego de Bingo Social para encuentros presenciales. ¡Encuentra personas que coincidan con las preguntas y consigue 5 en fila!
> **¡Rompe el hielo, haz conexiones, gana en el networking!**

Soc Ops es un juego de bingo social interactivo diseñado para encuentros presenciales, eventos de equipo y conferencias. ¡Encuentra personas que coincidan con las preguntas, marca tu cartón y compite para conseguir 5 en fila!

## ✨ Características

- 🎲 **Cartones aleatorios** — Cada jugador recibe una combinación única
- 💾 **Guardado automático** — Retoma donde lo dejaste
- 🏆 **Detección de bingo** — Detección automática para filas, columnas y diagonales
- 🎉 **Modal de celebración** — Pantalla de victoria digna de confeti
- 📱 **Mobile-first** — Funciona genial en móviles durante eventos

## 🚀 Inicio Rápido

### Requisitos Previos
- [Python 3.13+](https://www.python.org/downloads/)
- [uv](https://docs.astral.sh/uv/) (gestor de paquetes Python)

### Ejecutar Localmente
```bash
uv sync
uv run uvicorn app.main:app --reload --port 8000
# Abre http://localhost:8000
```

### Tests
```bash
uv run pytest
```

### Lint
```bash
uv run ruff check .
```

## 🎨 Personaliza Tu Juego

### Cambiar Preguntas
Edita `app/data.py` para agregar tus propias preguntas de presentación:
```python
questions_list: list[str] = [
"tiene una mascota",
"habla más de 2 idiomas",
"tu pregunta personalizada aquí",
# ... 24+ preguntas para un cartón completo
]
```

### Guía del Workshop
👉 Sigue la [Guía del Lab](workshop/GUIDE.md) para una experiencia práctica de workshop con los agentes de GitHub Copilot.

## 🛠️ Stack Tecnológico

- **Framework**: FastAPI + Jinja2 + HTMX
- **Estilos**: Utilidades CSS personalizadas (inspiradas en Tailwind)
- **Estado**: Sesiones del lado del servidor con persistencia por cookie
- **Despliegue**: GitHub Pages mediante Actions

## 📁 Estructura del Proyecto

```
app/
├── templates/ # Plantillas Jinja2
│ ├── base.html
│ ├── home.html
│ └── components/ # bingo_board, bingo_modal, game_screen, start_screen
├── static/ # Assets CSS & JS
├── models.py # Estado del juego & modelos de datos
├── game_logic.py # Detección de bingo & generación de cartón
├── game_service.py # Gestión de sesión
├── data.py # Banco de preguntas
└── main.py # Rutas FastAPI
tests/
├── test_api.py # Tests de endpoints de la API
└── test_game_logic.py # Tests unitarios de la lógica del juego
```

## 🚢 Despliegue

Se despliega automáticamente en GitHub Pages al hacer push a `main`:
- Tu juego: `https://{usuario}.github.io/{repo-name}`

---

Expand All @@ -19,8 +99,6 @@ Juego de Bingo Social para encuentros presenciales. ¡Encuentra personas que coi

> 📝 Las guías del laboratorio también están disponibles en la carpeta [`workshop/`](workshop/) para lectura sin conexión.

---

## 🚀 Primeros Pasos
## 📝 Licencia

Dirígete a **[Parte 00: Visión General](https://copilot-dev-days.github.io/agent-lab-python/step.html?step=00-overview)** para los requisitos previos e instrucciones de configuración.
MIT — ¡úsalo para tu próximo evento!
90 changes: 84 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,88 @@
🌐 [Português (BR)](README.pt_BR.md) | [Español](README.es.md)

# Soc Ops
# 🎯 Soc Ops — Social Bingo

Social Bingo game for in-person mixers. Find people who match the questions and get 5 in a row!
> **Break the ice, make connections, win at networking!**

Soc Ops is an interactive social bingo game designed for in-person mixers, team events, and conferences. Find people who match the prompts, mark your card, and race to get 5 in a row!

## ✨ Features

- 🎲 **Randomized boards** — Every player gets a unique arrangement
- 💾 **Auto-save progress** — Pick up where you left off
- 🏆 **Bingo detection** — Automatic win detection for rows, columns, and diagonals
- 🎉 **Celebration modal** — Confetti-worthy victory screen
- 📱 **Mobile-first** — Works great on phones at events

## 🚀 Quick Start

### Prerequisites
- [Python 3.13+](https://www.python.org/downloads/)
- [uv](https://docs.astral.sh/uv/) (Python package manager)

### Run Locally
```bash
uv sync
uv run uvicorn app.main:app --reload --port 8000
# Open http://localhost:8000
```

### Test
```bash
uv run pytest
```

### Lint
```bash
uv run ruff check .
```

## 🎨 Customize Your Game

### Change Questions
Edit `app/data.py` to add your own icebreaker prompts:
```python
questions_list: list[str] = [
"has a pet",
"speaks more than 2 languages",
"your custom question here",
# ... 24+ questions for a full board
]
```

### Workshop Guide
👉 Follow the [Lab Guide](workshop/GUIDE.md) for a hands-on workshop experience with GitHub Copilot agents.

## 🛠️ Tech Stack

- **Framework**: FastAPI + Jinja2 + HTMX
- **Styling**: Custom CSS utilities (Tailwind-inspired)
- **State**: Server-side sessions with cookie persistence
- **Deployment**: GitHub Pages via Actions

## 📁 Project Structure

```
app/
├── templates/ # Jinja2 templates
│ ├── base.html
│ ├── home.html
│ └── components/ # bingo_board, bingo_modal, game_screen, start_screen
├── static/ # CSS & JS assets
├── models.py # Game state & data models
├── game_logic.py # Bingo detection & board generation
├── game_service.py # Session management
├── data.py # Question bank
└── main.py # FastAPI routes
tests/
├── test_api.py # API endpoint tests
└── test_game_logic.py # Game logic unit tests
```

## 🚢 Deployment

Automatically deploys to GitHub Pages on push to `main`:
- Your game: `https://{username}.github.io/{repo-name}`

---

Expand All @@ -18,8 +98,6 @@ Social Bingo game for in-person mixers. Find people who match the questions and

> 📝 Lab guides are also available in the [`workshop/`](workshop/) folder for offline reading.

---

## 🚀 Getting Started
## 📝 License

Head to **[Part 00: Overview](https://copilot-dev-days.github.io/agent-lab-python/step.html?step=00-overview)** for prerequisites and setup instructions.
MIT — use it for your next event!
90 changes: 84 additions & 6 deletions README.pt_BR.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,89 @@
<!-- l10n-sync: source-file="README.md" -->
🌐 [Português (BR)](README.pt_BR.md) | [Español](README.es.md)

# Soc Ops
# 🎯 Soc Ops — Bingo Social

Jogo de Bingo Social para encontros presenciais. Encontre pessoas que correspondam às perguntas e consiga 5 em linha!
> **Quebre o gelo, faça conexões, vença no networking!**

Soc Ops é um jogo de bingo social interativo projetado para encontros presenciais, eventos de equipe e conferências. Encontre pessoas que correspondam às perguntas, marque seu cartão e corra para conseguir 5 em linha!

## ✨ Funcionalidades

- 🎲 **Cartelas aleatórias** — Cada jogador recebe um arranjo único
- 💾 **Salvar progresso automaticamente** — Continue de onde parou
- 🏆 **Detecção de bingo** — Detecção automática para linhas, colunas e diagonais
- 🎉 **Modal de celebração** — Tela de vitória digna de confete
- 📱 **Mobile-first** — Funciona muito bem em celulares em eventos

## 🚀 Início Rápido

### Pré-requisitos
- [Python 3.13+](https://www.python.org/downloads/)
- [uv](https://docs.astral.sh/uv/) (gerenciador de pacotes Python)

### Executar Localmente
```bash
uv sync
uv run uvicorn app.main:app --reload --port 8000
# Abra http://localhost:8000
```

### Testes
```bash
uv run pytest
```

### Lint
```bash
uv run ruff check .
```

## 🎨 Personalize Seu Jogo

### Alterar Perguntas
Edite `app/data.py` para adicionar suas próprias perguntas de apresentação:
```python
questions_list: list[str] = [
"tem um animal de estimação",
"fala mais de 2 idiomas",
"sua pergunta personalizada aqui",
# ... 24+ perguntas para uma cartela completa
]
```

### Guia do Workshop
👉 Siga o [Guia do Lab](workshop/GUIDE.md) para uma experiência de workshop prática com os agentes do GitHub Copilot.

## 🛠️ Stack Tecnológica

- **Framework**: FastAPI + Jinja2 + HTMX
- **Estilização**: Utilitários CSS personalizados (inspirados no Tailwind)
- **Estado**: Sessões no lado do servidor com persistência por cookie
- **Implantação**: GitHub Pages via Actions

## 📁 Estrutura do Projeto

```
app/
├── templates/ # Templates Jinja2
│ ├── base.html
│ ├── home.html
│ └── components/ # bingo_board, bingo_modal, game_screen, start_screen
├── static/ # Assets CSS & JS
├── models.py # Estado do jogo & modelos de dados
├── game_logic.py # Detecção de bingo & geração de cartela
├── game_service.py # Gerenciamento de sessão
├── data.py # Banco de perguntas
└── main.py # Rotas FastAPI
tests/
├── test_api.py # Testes de endpoints da API
└── test_game_logic.py # Testes unitários da lógica do jogo
```

## 🚢 Implantação

Implantação automática no GitHub Pages ao fazer push para `main`:
- Seu jogo: `https://{usuario}.github.io/{repo-name}`

---

Expand All @@ -19,8 +99,6 @@ Jogo de Bingo Social para encontros presenciais. Encontre pessoas que correspond

> 📝 Os guias do lab também estão disponíveis na pasta [`workshop/`](workshop/) para leitura offline.

---

## 🚀 Primeiros Passos
## 📝 Licença

Acesse **[Parte 00: Visão Geral](https://copilot-dev-days.github.io/agent-lab-python/step.html?step=00-overview)** para pré-requisitos e instruções de configuração.
MIT — use para o seu próximo evento!