-
Notifications
You must be signed in to change notification settings - Fork 0
Estructura de carpetas
Kevin Parra edited this page Aug 24, 2023
·
2 revisions
- Objetivo: Contiene configuraciones de diferentes servicios o herramientas.
-
Archivos como
firebaseConfig.ts
: Deberían contener configuraciones específicas para servicios, como Firebase en este caso.
- Objetivo: Gestionar todo lo relacionado con los datos (obtención, transformación, almacenamiento).
- Objetivo: Definir estructuras de datos o DTOs (Data Transfer Objects).
-
Archivos como
userModel.ts
: Deberían contener la definición de cómo se estructura un modelo de datos (por ejemplo, cómo llega un usuario desde una API).
- Objetivo: Gestión de llamadas a la red o a APIs.
-
Archivos como
api.ts
: Deberían contener las funciones que hacen llamadas directas a una API.
-
Objetivo: Implementaciones concretas de los repositorios definidos en
domain/repositories
. -
Archivos como
userDataRepository.ts
: Deberían interactuar con fuentes de datos, ya sea una API, base de datos local, etc. Implementan interfaces definidas en el dominio.
- Objetivo: Representa la lógica y reglas de negocio puras.
- Objetivo: Modelar y encapsular la lógica de negocio.
-
Archivos como
User.ts
: Deberían contener la lógica de negocio relacionada con una entidad, en este caso, un usuario.
- Objetivo: Representar operaciones o acciones específicas del negocio.
-
Archivos como
loginUser.ts
: Deberían contener la lógica para un caso de uso específico, en este caso, iniciar sesión.
- Objetivo: Servicios de dominio que encapsulan lógica específica.
-
Archivos como
authService.ts
: Deberían contener lógica de negocio relacionada con autenticación.
- Objetivo: Interfaces que definen las operaciones que pueden realizar los repositorios.
-
Archivos como
userRepositoryInterface.ts
: Deberían contener la definición de métodos que luego las implementaciones concretas endata/repositories
deben cumplir.
- Objetivo: Todo lo relacionado con la interfaz de usuario y su lógica.
- Objetivo: Almacena recursos estáticos.
-
Subcarpetas como
/images
o/fonts
: Contienen imágenes y fuentes respectivamente.
- Objetivo: Componentes reutilizables de React Native.
-
Archivos como
Button.tsx
: Deberían ser componentes sin estado y reutilizables.
- Objetivo: Proveer contextos de React para gestionar estados globales.
-
Archivos como
userContext.ts
: Deberían establecer y proporcionar el contexto para datos del usuario.
- Objetivo: Funciones reutilizables que encapsulan la lógica relacionada con el estado o efectos secundarios.
-
Archivos como
useUser.ts
: Deberían contener lógica y estado relacionados con el usuario, utilizando React Hooks.
- Objetivo: Definir y gestionar la navegación entre pantallas.
-
Archivos como
MainNavigator.tsx
: Deberían establecer la estructura de navegación de la aplicación.
- Objetivo: Representar pantallas completas dentro de la aplicación.
-
Archivos como
HomeScreen.tsx
: Deberían contener la estructura y lógica específica de esa pantalla.
- Objetivo: Servicios relacionados con la capa de UI.
-
Archivos como
uiAuthService.ts
: Pueden contener lógica específica para interactuar con servicios de autenticación desde la perspectiva de la UI.
- Objetivo: Gestionar el estado global de la aplicación, puede ser usando Redux, MobX, etc.
-
Archivos como
userStore.ts
: Deberían contener la lógica y estructura para almacenar y manipular el estado del usuario.
- Objetivo: Definir estilos y temas.
-
Archivos como
globalStyles.ts
othemes.ts
: Deberían contener estilos globales y definiciones de temas.
- Objetivo: Funciones y herramientas utilitarias específicas de la capa de UI.
-
Archivos como
formatFunctions.ts
: Podrían contener funciones para formatear datos específicamente para la UI.
- Objetivo: Contener todas las pruebas unitarias y de integración.
-
Subcarpetas como
/data
,/domain
y/ui
: Deberían tener pruebas específicas para cada una de esas capas.