Hoy 2025:
Estructura de un Proyecto Recat Native:
my-app/
│
├── app/ # (EXPO ROUTER) pantallas y navegación
│ ├── (tabs)/ # Navegación por pestañas
│ ├── (auth)/ # Login / Register
│ ├── home/ # Pantallas principales
│ ├── profile/
│ ├── _layout.tsx # Layout principal
│ └── +not-found.tsx
│
├── src/ # LÓGICA REAL de la app
│ ├── api/ # Integraciones con APIs
│ │ ├── axios.ts # Cliente axios configurado
│ │ └── news.api.ts # Ejemplo de endpoints
│ │
│ ├── components/ # Componentes reutilizables
│ │ ├── ui/ # Botones, inputs, etc.
│ │ ├── cards/
│ │ └── modals/
│ │
│ ├── hooks/ # Custom hooks
│ │ ├── useAuth.ts
│ │ ├── useNews.ts
│ │ └── useTheme.ts
│ │
│ ├── context/ # Contextos globales
│ │ ├── AuthContext.tsx
│ │ └── ThemeContext.tsx
│ │
│ ├── store/ # Estado GLOBAL (Zustand, Jotai o Redux)
│ │ ├── auth.store.ts
│ │ └── news.store.ts
│ │
│ ├── services/ # Lógica de negocio(auth, pagos, uploads)
│ │ ├── auth.service.ts
│ │ └── payments.service.ts
│ │
│ ├── utils/ # Helpers y funciones puras
│ │ ├── date.ts
│ │ ├── format.ts
│ │ └── validations.ts
│ │
│ ├── types/ # Tipados globales (TS)
│ │ ├── auth.ts
│ │ ├── news.ts
│ │ └── api.ts
│ │
│ └── assets/logic/ # Configs generadas en runtime
│
├── assets/ # Imágenes, fuentes, íconos
│ ├── images/
│ ├── fonts/
│ └── icons/
│
├── config/ # Configuraciones reales
│ ├── env/ # Manejo de entornos
│ │ ├── env.dev.ts
│ │ ├── env.prod.ts
│ │ └── env.staging.ts
│ │
│ ├── eas.json # Config de EAS Build
│ ├── app.config.ts # Config dinámica de Expo
│ └── theme.ts # Temas (dark/light)
│
├── scripts/ # Scripts útiles (CLI, generar assets, etc.)
│ └── create-icons.js
│
├── .env # Variables de entorno
├── .env.production
├── .env.staging
│
├── package.json
├── tsconfig.json
└── README.md
Además:
app/
_layout.tsx ← Entry point de navegación
index.tsx ← Ruta inicial "/"