Skip to content

About

Dojo de código y proyectos técnicos para el canal de YouTube @CapyzenDev: Python, Testing con Pytest y automatización de pipelines.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

⛩️ Capyzen Dev Dojo

Python desde Cero ➔ Backend Developer & QA Automation Engineer

Python FastAPI Pydantic v2 Pytest Code Style License: MIT

"Aprende a programar manteniendo la paz. Código limpio, probado en empresas reales y sin estrés."
Canal Oficial: @capyzendev • YouTube


🧭 Sobre Este Repositorio

Bienvenido al repositorio central de código de Capyzen Dev. Este espacio no contiene scripts de juguete ni algoritmos abstractos desconectados de la realidad. Aquí se enseña y demuestra cómo se escribe y prueba Python en empresas de tecnología modernas, con especialización progresiva en:

  1. Desarrollo Backend: APIs REST de alto rendimiento con FastAPI, validación de datos con Pydantic v2 y persistencia ORM con SQLAlchemy.
  2. QA Automation & Testing: Pruebas unitarias y de integración automáticas con Pytest y TestClient (HTTPX), garantizando que ningún deploy de viernes colapse producción.

🏛️ Estructura del Repositorio

capyzendev/
├── modulo_01_fundamentos/              # 🐍 Módulo 1: Fundamentos de Python desde Cero
│   ├── 00_setup_entorno.py            # Verificación del dojo y entorno
│   ├── 01_print_primeros_pasos.py     # Salida estándar formateada
│   ├── 02_variables_asignacion.py     # Variables descriptivas de negocio
│   ├── 03_tipos_de_datos.py           # Strings, Ints, Floats y Type Casting
│   ├── 04_input_usuario.py            # Entradas interactivas y validación
│   ├── 05_operadores_comparaciones.py # Operadores lógicos y aritméticos
│   ├── 06_condicionales_if_else.py    # Toma de decisiones y control de flujo
│   ├── 07_listas_en_python.py         # Métodos de lista y mutabilidad
│   ├── 08_bucle_for_range.py          # Iteraciones y acumuladores
│   ├── 09_ciclo_while.py              # Bucles controlados por centinela
│   ├── 10_diccionarios_y_funciones.py # Funciones puras (def/return) y dicts
│   └── proyecto_final_smart_parking/  # 🚗 Proyecto Integrador Módulo 1
│       ├── PRD_SMART_PARKING.md       # Especificación y Reglas de Negocio (BR-01 a BR-04)
│       ├── smart_parking.py           # Tótem automatizado en terminal (Clean Code)
│       └── test_smart_parking.py      # Suite QA con Pytest (11/11 tests pasando)
│
├── modulo_02_backend_fastapi/          # 🚀 Módulo 2: Tu Primer Backend con FastAPI
│   ├── ROADMAP_BACKEND_FASTAPI.md     # Plan de Ingeniería de los 6 Episodios
│   └── 01_primer_endpoint_health/     # 🌐 Episodio 01: Microservicio & Health Check
│       ├── PRD_EP01_FASTAPI.md        # Contrato OpenAPI y arquitectura
│       ├── main.py                    # Servidor FastAPI con endpoints '/' y '/health'
│       └── test_api.py                # Tests de integración con TestClient (HTTPX)
│
├── requirements.txt                   # Dependencias de producción y QA
└── README.md                          # Documentación del proyecto

🌟 Proyectos Destacados (Portfolio Highlights)

1. 🚗 Backend de Parqueadero Inteligente (Smart Parking CLI)

  • Ubicación: modulo_01_fundamentos/proyecto_final_smart_parking/
  • Dominio de Negocio: Logística urbana, peajes y control de activos.
  • Características:
    • Control Estricto de Sobrecupo (BR-01): Validación determinista de capacidad máxima en memoria.
    • Sanitización y Unicidad de Placas (BR-02): Normalización de strings (.strip().upper()) y prevención de placas duplicadas.
    • Tarificación Dinámica (BR-03): Tarifas diferenciadas por categoría (carros y motos).
    • QA Automation: 11 pruebas unitarias automáticas con Pytest que cubren casos de éxito, horas negativas, sobrecupo y vehículos inexistentes.
# Ejecutar el sistema interactivo
python modulo_01_fundamentos/proyecto_final_smart_parking/smart_parking.py

# Ejecutar la suite de pruebas unitarias
pytest modulo_01_fundamentos/proyecto_final_smart_parking/test_smart_parking.py -v

2. 💳 ZenPay Backend API (FastAPI + Swagger)

  • Ubicación: modulo_02_backend_fastapi/01_primer_endpoint_health/
  • Dominio de Negocio: Pasarela de pagos y pedidos para e-commerce.
  • Características:
    • Endpoints de Producción: Ruta raíz descriptiva y endpoint /health consumible por balanceadores de carga (AWS ALB / Kubernetes).
    • Documentación OpenAPI Automática: Swagger UI interactivo generado automáticamente en /docs sin redactar YAML manual.
    • Pruebas de Integración con TestClient: Validación de códigos de estado HTTP semánticos (200 OK, 404 Not Found) ejecutadas en 0.2 segundos.
# Iniciar el servidor localmente con Uvicorn
uvicorn modulo_02_backend_fastapi.01_primer_endpoint_health.main:app --reload

# Abrir documentación interactiva en el navegador
# ➔ http://127.0.0.1:8000/docs

# Ejecutar las pruebas automatizadas del backend
pytest modulo_02_backend_fastapi/01_primer_endpoint_health/test_api.py -v

🧪 Ejecución Global de Pruebas (QA Automation)

Todos los proyectos y módulos cuentan con suites de pruebas automatizadas listas para correr con un solo comando:

pytest -v

Salida esperada:

============================= test session starts ==============================
modulo_01_fundamentos/proyecto_final_smart_parking/test_smart_parking.py::test_calcular_tarifa_carro PASSED [  7%]
modulo_01_fundamentos/proyecto_final_smart_parking/test_smart_parking.py::test_calcular_tarifa_moto PASSED [ 14%]
...
modulo_02_backend_fastapi/01_primer_endpoint_health/test_api.py::test_ruta_raiz_status_200_y_online PASSED [ 85%]
modulo_02_backend_fastapi/01_primer_endpoint_health/test_api.py::test_endpoint_health_check PASSED [ 92%]
modulo_02_backend_fastapi/01_primer_endpoint_health/test_api.py::test_ruta_inexistente_retorna_404 PASSED [100%]
============================== 14 passed in 0.40s ==============================

⚡ Guía de Instalación Rápida

# 1. Clonar el repositorio
git clone https://github.com/jdabid/capyzendev.git
cd capyzendev

# 2. Crear y activar entorno virtual
python3 -m venv .venv
source .venv/bin/activate  # En Windows: .venv\Scripts\activate

# 3. Instalar dependencias
pip install -r requirements.txt

👨‍💻 Para Reclutadores & Empresas Tech (Hire Me)

¿Buscas un desarrollador que no solo escriba código, sino que entienda reglas de negocio, calidad de software (QA), contratos de APIs y arquitecturas mantenibles?

  • Roles Objetivo:
    • 🐍 Python Developer / Backend Developer Junior-Mid (FastAPI / Django)
    • 🧪 QA Automation Engineer (Pytest / Selenium / Playwright / API Testing)
  • Filosofía de Trabajo: Clean Code, tipado estricto, documentación viva (Swagger/OpenAPI), prevención de fallos mediante TDD y comunicación asertiva.
  • Contacto Directo:

Desarrollado con serenidad en el dojo de Capyzen ☕⛩️
«Aprende a programar manteniendo la paz»

About

Dojo de código y proyectos técnicos para el canal de YouTube @CapyzenDev: Python, Testing con Pytest y automatización de pipelines.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages