This is an Expo project created with create-expo-app.
-
Install dependencies
npm install
-
Start the app
npx expo start
This project follows the Clean Architecture. You'll find the following folders:
-
/domain: the entities/entities: these are all the TypeScript types for each entity./enums: contains all the enums used in the app.
-
/application: the business logic of your app/reducers: these are the reducers that handle the state of your app./usecases: these are the files where are placed the slices of your state along with actions that act on that slice./utils
-
/infrastructure:/api: the implementation details to access data from a remote source (REST APIs, GraphQL APIs)./storage: the implementation details to access data from a local source (SQLite, Realm, AsyncStorage)./errors: the implementation details to handle errors./logger: the implementation details to log information about the app./notification: the implementation details to send notifications (Push Notifications, Local Notifications)./tracking: the implementation of third party analytics tools (Firebase Analytics, Google Analytics).
-
/ui: contains the user interface :/components: contains the reusable components used across the app./screens: contains the screens of your app./navigation: contains the routes and the navigation logic for each screen./theme: contains the styles that are shared between the UI layer./utils: contains the helpers, constants, etc. that are shared between the UI layer./constants: contains the constants used in the app./assets: contains the images and fonts of your app.