React Native Zero to Hero: Aplicación TODO Completa

Por: Artiko
react-nativetypescriptzustandtanstack-queryclerktodo-appcurso-completo

React Native Zero to Hero: Aplicación TODO Completa

Aprende a desarrollar una aplicación TODO profesional desde cero usando las mejores prácticas y tecnologías modernas.

🎯 Stack Tecnológico

  • React Native - Framework principal
  • TypeScript - Tipado estático
  • Zustand - Gestión de estado
  • TanStack Query - Manejo de datos del servidor
  • Clerk - Autenticación completa
  • React Navigation - Navegación
  • Expo - Herramientas de desarrollo y deploy

📱 Aplicación Final

Al completar este curso habrás creado una aplicación TODO completa con:

  • ✅ Autenticación completa con Clerk (email, OAuth, biométrica)
  • ✅ CRUD de tareas sincronizado por usuario
  • ✅ Categorías y etiquetas personalizadas
  • ✅ Sincronización offline/online
  • ✅ Notificaciones push
  • ✅ Deploy en Google Play Store
  • ✅ Diseño responsive y accesible

🚧 Estado del Curso

Progreso actual: 13/28 capítulos completos (46.4%)

  • Completos: Capítulos 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
  • 🚧 En desarrollo: Capítulos 14-28
  • 📝 Planificados: Todos los capítulos tienen estructura y contenido planificado

📚 Índice del Curso

🚀 Parte 1: Fundamentos y Configuración (Semana 1)

Capítulo 1: Introducción y Configuración del Entorno

  • Completo - Instalación de Node.js, Expo CLI y EAS CLI
  • Configuración de Android Studio y herramientas
  • Creación del proyecto con Expo y TypeScript
  • Configuración de EAS Build desde el inicio
  • Estructura de carpetas y convenciones

Capítulo 2: TypeScript en React Native

  • Completo - Configuración avanzada de TypeScript
  • Tipos para componentes y props
  • Interfaces para datos de la aplicación
  • Tipado de navegación y rutas

Capítulo 3: Primeros Componentes y Estilos

  • Completo - Componentes básicos (View, Text, TouchableOpacity)
  • Sistema de estilos con StyleSheet
  • Flexbox y diseño responsive
  • Componentes reutilizables

🏗️ Parte 2: Arquitectura y Estado (Semana 2)

Capítulo 4: Configuración de Zustand con Testing

  • Completo - Instalación y configuración de Zustand
  • Testing unitario desde el inicio con Jest
  • Creación de stores tipados con testing
  • DevTools y debugging

Capítulo 5: Store de Tareas con Testing Unitario

  • Completo - Store expandido con categorías y filtros
  • Mock Service Worker (MSW) para testing de APIs
  • Testing de persistencia con AsyncStorage
  • Patterns avanzados de Zustand con slices

Capítulo 6: Navegación con React Navigation y Testing

  • Completo - React Navigation con TypeScript completo
  • Stack, Tab y Modal navigation
  • Deep linking y testing de navegación
  • Hooks personalizados tipados

🧪 Parte 2.5: Testing Temprano (Semana 2.5)

Capítulo 6.5: Testing Avanzado: MSW, Testing Library y Mejores Prácticas

  • 🚧 En desarrollo - Configuración completa de Mock Service Worker
  • Testing Library avanzado para React Native
  • Patterns de testing para componentes complejos
  • Mocking y fixtures profesionales

🔐 Parte 3: Autenticación con Clerk (Semana 3)

Capítulo 7: Configuración de Clerk

  • Completo - Creación de cuenta y configuración de Clerk
  • Instalación de @clerk/clerk-expo y dependencias OAuth
  • Configuración de ClerkProvider y variables de entorno
  • Integración con Zustand y testing con mocks

Capítulo 8: Implementación de Autenticación

  • Completo - Componentes de SignIn y SignUp completos
  • Flujos OAuth con Google y Apple implementados
  • Verificación de email y manejo de errores
  • Protección de rutas con AuthGuard y testing

Capítulo 9: Gestión de Usuario y Sesiones

  • Completo - Pantallas de perfil y edición completas
  • Gestión de métodos de autenticación
  • Componentes reutilizables de perfil
  • Hooks personalizados y testing completo

📡 Parte 4: Datos del Servidor (Semana 4)

Capítulo 10: Configuración de TanStack Query

  • Completo - QueryClient optimizado para React Native
  • Integración con autenticación de Clerk
  • Detección de estado de red y cache persistente
  • DevTools, hooks personalizados y testing completo

Capítulo 11: API Client con Autenticación

  • Completo - Configuración de cliente HTTP (Axios)
  • Interceptors con tokens de Clerk
  • Tipos TypeScript para API responses
  • Manejo de errores y refresh de tokens

Capítulo 12: Queries y Mutations Autenticadas

  • Completo - Queries para obtener tareas del usuario
  • Mutations para CRUD con autenticación
  • Optimistic updates
  • Invalidación de cache por usuario

📋 Parte 5: Funcionalidades Core (Semana 5-6)

Capítulo 13: CRUD de Tareas por Usuario

  • Completo - Lista de tareas filtrada por usuario
  • Formularios para crear/editar tareas
  • Swipe actions para eliminar
  • Pull to refresh con datos del usuario

Capítulo 14: Categorías y Filtros Personalizados

  • Sistema de categorías por usuario
  • Filtros por estado y categoría
  • Búsqueda de tareas personal
  • Ordenamiento personalizado

Capítulo 15: Fechas y Recordatorios

  • Date pickers nativos
  • Configuración de recordatorios
  • Validación de fechas
  • Tareas vencidas y próximas

🎨 Parte 6: UI/UX Avanzado (Semana 7)

Capítulo 16: Perfil de Usuario con Clerk

  • Componente de perfil con datos de Clerk
  • Edición de información personal
  • Cambio de contraseña y configuración
  • Gestión de métodos de autenticación

Capítulo 17: Diseño y Temas

  • Sistema de temas (claro/oscuro)
  • Componentes de UI personalizados
  • Animaciones con Reanimated
  • Gestos y interacciones

Capítulo 18: Accesibilidad

  • Etiquetas de accesibilidad
  • Navegación por teclado
  • Soporte para lectores de pantalla
  • Testing de accesibilidad

📱 Parte 7: Funcionalidades Nativas (Semana 8)

Capítulo 19: Notificaciones Push con Usuario

  • Configuración de Expo Notifications
  • Notificaciones locales personalizadas
  • Notificaciones remotas por usuario
  • Programación de recordatorios

Capítulo 20: Sincronización Offline

  • Detección de conectividad
  • Queue de operaciones offline
  • Sincronización automática por usuario
  • Resolución de conflictos

🧪 Parte 8: Testing y Calidad (Semana 9)

Capítulo 21: Testing con Autenticación

  • Configuración de Jest con Clerk mocks
  • Testing de stores de Zustand
  • Testing de queries autenticadas
  • Mocks y fixtures para usuarios

Capítulo 22: Testing de Componentes

  • React Native Testing Library
  • Testing de navegación autenticada
  • Testing de formularios con Clerk
  • Snapshots y visual regression

🚀 Parte 9: Deploy en Android (Semana 10)

Capítulo 23: Preparación para Producción

  • Configuración de app.json para producción
  • Variables de entorno para diferentes builds
  • Optimización de bundle size
  • Configuración de Proguard y obfuscación

Capítulo 24: EAS Build para Android

  • Configuración de eas.json para Android
  • Creación de keystore y certificados
  • Build de desarrollo y producción
  • Testing en dispositivos reales

Capítulo 25: Deploy en Google Play Store

  • Creación de cuenta de Google Play Console
  • Configuración de la aplicación en Play Console
  • Upload de APK/AAB y metadata
  • Proceso de revisión y publicación
  • Gestión de versiones y rollouts

🎓 Parte 10: Monitoreo y Siguientes Pasos (Semana 11)

Capítulo 26: Monitoreo y Analytics

  • Integración con Sentry para errores
  • Analytics con Expo Analytics
  • Monitoreo de performance
  • Tracking de eventos de usuario

Capítulo 27: CI/CD para Android

  • GitHub Actions para EAS Build
  • Testing automatizado
  • Deploy automático a Play Console
  • Notificaciones de build y deploy

Capítulo 28: Siguientes Pasos

  • Migración a Expo Router
  • Implementación de funcionalidades avanzadas
  • Escalabilidad y optimización
  • Roadmap de desarrollo

🛠️ Recursos del Curso

  • Repositorio de código: Código fuente completo con branches por capítulo
  • API Backend: Servidor Node.js con autenticación Clerk
  • Figma Design: Diseños y mockups completos
  • Checklist: Lista de verificación por capítulo
  • Scripts de Deploy: Automatización para Google Play

📋 Prerrequisitos

  • Conocimientos básicos de JavaScript
  • Experiencia con React (hooks, componentes)
  • Familiaridad con TypeScript (básico)
  • Node.js instalado
  • Cuenta de Google Play Developer (para deploy)

🎯 Objetivos de Aprendizaje

Al completar este curso serás capaz de:

  • Desarrollar aplicaciones React Native profesionales
  • Implementar autenticación completa con Clerk
  • Manejar datos del servidor con TanStack Query
  • Crear aplicaciones con TypeScript end-to-end
  • Publicar aplicaciones en Google Play Store
  • Configurar CI/CD para React Native

¡Comencemos este viaje para convertirte en un desarrollador React Native profesional!