Loading repository data…
Loading repository data…
WorkTeam01 / repository
Proyecto para practicar flujo de trabajo colaborativo en equipo usando Python. Calculadora básica con tests para aprender Git workflow, branches, PRs y code reviews.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Calculadora con interfaz gráfica (tkinter) e interfaz de línea de comandos, escrita en Python. Soporta operaciones básicas, funciones científicas y expresiones con paréntesis anidados. Incluye suite de tests automatizados y pipeline de CI/CD.
| Operaciones básicas | Funciones científicas | Manejo de errores |
|---|---|---|
Requisitos: Python 3.12+
git clone https://github.com/WorkTeam01/team-practice.git
cd team-practice
pip install -r requirements.txt
Interfaz gráfica:
python src/gui.py
Línea de comandos:
python src/cli.py
| Operación | Sintaxis |
|---|---|
| Suma | a + b |
| Resta | a - b |
| Multiplicación | a * b |
| División | a / b |
| Potencia | a ^ b |
Soporta expresiones complejas con paréntesis anidados:
(2+3)*4 = 20
2*(3+4) = 14
(5-2)*(6+4) = 30
((2+3)*4)/5 = 4
(2+3)^2 = 25
| Función | Descripción |
|---|
abs(x) | Valor absoluto |
max(a, b) | Valor máximo entre dos números |
min(a, b) | Valor mínimo entre dos números |
| Tecla | Acción |
|---|---|
0-9 | Ingresar dígitos |
. | Punto decimal |
+ - * / ^ | Operadores matemáticos |
( ) | Paréntesis |
Enter / = | Calcular resultado |
Escape | Limpiar display |
Backspace | Borrar último carácter |
# Todos los tests
pytest -v
# Por módulo
pytest tests/test_calculator.py -v
pytest tests/test_gui.py -v
# Filtrar por nombre
pytest tests/test_gui.py -k "parenthesis" -v
# Con reporte de cobertura
pytest --cov=src --cov-report=html -v
El suite cubre 63+ casos de prueba. Los tests de GUI se ejecutan sin pantalla mediante mocks de tkinter definidos en tests/conftest.py, lo que los hace compatibles con entornos CI/CD.
team-practice/
├── src/
│ ├── calculator.py # Lógica matemática (funciones puras)
│ ├── cli.py # Interfaz de línea de comandos
│ └── gui.py # Interfaz gráfica con tkinter
├── tests/
│ ├── conftest.py # Mocks de tkinter para pruebas headless
│ ├── test_calculator.py # Tests unitarios del core
│ └── test_gui.py # Tests de la interfaz gráfica
├── .github/
│ └── workflows/ci.yml # Pipeline de CI/CD con GitHub Actions
├── docs/
│ └── USER_GUIDE.md
├── CHANGELOG.md
├── requirements.txt
└── LICENSE
El proyecto sigue Git Flow con Conventional Commits.
| Rama | Propósito |
|---|---|
main | Producción (siempre estable) |
dev | Integración de features |
feature/nombre | Nuevas funcionalidades |
bugfix/descripcion | Corrección de errores |
hotfix/descripcion | Correcciones urgentes en producción |
release/X.Y.Z | Preparación de releases |
<tipo>: <descripción breve>
Tipos: feat | fix | docs | test | refactor | style | chore
Ejemplos:
feat: agregar soporte de paréntesis en calculadora
fix: corregir validación de decimales negativos
test: agregar tests para paréntesis anidados
dev: git checkout -b feature/mi-funcionalidaddev usando la plantilla del repositorioEl proyecto sigue versionamiento semántico. Ver CHANGELOG.md para el historial completo.
| Versión | Fecha | Cambios principales |
|---|---|---|
| 2.1.0 | 2025-12-03 | Soporte de paréntesis, reorganización, fixes |
| 2.0.0 | 2025-11-28 | Interfaz gráfica, testing, CI/CD |
| 1.0.0 | 2025-11-04 | Calculadora CLI básica |
Las contribuciones son bienvenidas. Consulta CONTRIBUTING.md para conocer el flujo de trabajo, convenciones de commits y proceso de Pull Request.
Este proyecto está bajo la Licencia MIT.