Skip to content

DavidMRGaona/brewnotes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Coffee Recipes App

Aplicación móvil para recetas de café de especialidad con desarrollo TDD.

Estructura del Proyecto

coffee-app/
├── backend/          # API Symfony con API Platform
├── mobile/           # App Expo React Native  
├── scripts/          # Scripts de utilidad
├── .gitignore        # Configuración Git global
├── Makefile          # Comandos de desarrollo
├── PROJECT_INFO.md   # Información del proyecto
└── README.md        # Este archivo

📁 Ver estructura detallada: docs/PROJECT_STRUCTURE.md

Stack Tecnológico

Backend:

  • Symfony 7.3
  • API Platform 4.1
  • Doctrine ORM
  • PHPUnit 12.3
  • SQLite (desarrollo)

Frontend:

  • Expo (React Native)
  • TypeScript
  • Jest + React Native Testing Library

Estado Actual del Desarrollo

✅ Backend Completado (TDD)

  1. Entidad Recipe - Completamente testeada

    • Propiedades: name, description, coffeeAmount, waterAmount, waterTemperature, grindSize, brewTime, roastLevel
    • Método calculado: getRatio() para calcular proporción agua/café
    • Validaciones con Symfony Validator
  2. Repository Pattern - Completamente testeado

    • CRUD básico (save, remove, find, findAll)
    • Métodos de búsqueda personalizados (por grind size, roast level, tiempo de preparación)
  3. API REST - Completamente testeada

    • GET /api/recipes (colección)
    • POST /api/recipes (crear)
    • GET /api/recipes/{id} (obtener uno)
    • PATCH /api/recipes/{id} (actualizar)
    • DELETE /api/recipes/{id} (eliminar)
  4. Fixtures de Datos

    • 8 recetas populares precargadas (V60, French Press, Chemex, AeroPress, Espresso, Cold Brew, Moka Pot, Kalita Wave)
  5. Tests

    • 19 tests pasando
    • Cobertura: Entidades, Repositorios, API endpoints

✅ Frontend Mobile Iniciado (TDD)

  1. Configuración Completada

    • ✅ Jest configurado con TypeScript
    • ✅ Testing Library instalada
    • ✅ Estructura de carpetas creada
  2. Componentes y Lógica (TDD)

    • ✅ RecipeCard component con helpers testeados
    • ✅ RecipeService con métodos básicos
    • ✅ Tipos TypeScript definidos
    • ✅ App principal con datos mock
  3. Tests Pasando

    • ✅ 12 tests pasando
    • ✅ Cobertura: Services, Components, Hooks, Screens

🚧 Próximos Pasos

  1. Integración Completa

    • Conectar frontend con API backend
    • Implementar navegación entre pantallas
    • Agregar formularios para CRUD
  2. Funcionalidades MVP

    • Lista de recetas predefinidas
    • Detalle de receta con timer
    • Calculadora de ratios
    • CRUD de recetas personales

Comandos Útiles

🛠️ Usamos Makefile para mejor organización y potencia. Ver guía completa

Inicio Rápido

make help                          # Ver todos los comandos disponibles
make install                       # Instalar todas las dependencias
make dev                          # Backend + Frontend simultáneo

Desarrollo

make backend-serve                 # Solo servidor backend
make mobile-start                  # Solo app móvil
make mobile-android                # Abrir en Android
make mobile-ios                    # Abrir en iOS

Testing

make test                          # Ejecutar todos los tests
make test-backend                  # Tests del backend
make test-mobile                   # Tests del frontend
make test-watch                    # Tests en modo watch

Base de Datos

make db-migrate                    # Ejecutar migraciones
make db-fixtures                   # Cargar datos de prueba
make db-reset                      # Reset completo (migrate + fixtures)

Mantenimiento

make clean                         # Limpiar caches y archivos temporales
make fresh-install                 # Limpieza + reinstalación completa
make cache-clear                   # Solo limpiar cache backend
make status                        # Ver estado del proyecto

Desarrollo TDD

El proyecto sigue estrictamente Test-Driven Development:

  1. ✅ Escribir test que falle
  2. ✅ Escribir código mínimo para pasar el test
  3. ✅ Refactorizar manteniendo tests verdes

Estado actual: 22 tests pasando (10 backend + 12 frontend)

About

Aplicación móvil y backend para recetas de café de especialidad

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors