Project Structure and Organization
Most of the setup is derived from default structure of default expo setup. We have made our own tweaks of setup according to our needs.
- @arivaa-react - Contains modules related to react and not react native e.g redux
- redux - Contains core architecture of redux. Learn more about here
- @arivaa-react-native - Contains reusable components as advertised in this app
- common - Contains components and styles having no as such dependency on expo and are in general compatible with any react native application
- expo - Contains expo specific setup of componentns and dependency injection of expo specific modules in common components
- assets - Contains all the assets for the application
- components - Contains all the Reusable React Native components that are specific to this application.
- constants - Constants and Configuration used throughout the whole application. e.g Facebook API Ids, Google Credentials, Firebase setup etc
- helpers - Contains the common utility code used across the app.
- localization - Contains translation files and multi language setup
- plugins - Plugins required for development using this setup e.g babel plugins.
- redux - Contains all the actions, reducers and the Redux configuration specific to this app.
- routing - Contains all the routing architecture across the application.
- screens - Contains the application screens and their related components
- setup - Contains the initial setup related code
- App.js - Main entry point of the application
- app.json - Configuration file for editing Expo related configuration.
- package.json - Dependencies