- File-Based Routing
- Vanilla StyleSheet Kit
- Network Handling
- Local Storage Management
- Dark Theme Support
- Internationalization and Localization
- TypeScript Integration
- Font Management
- Splash Screen Configuration
- Authentication Setup
- End-to-End Testing Support
e2e
src
├── @types
├── app
├── assets
├── fonts
├── images
├── svg
├── components
└── UI
├── constants
├── context
├── hooks
└── eas
├── screens
├── services
├── api
├── store
└── slices
└── translations
└── locales
Expo router app directory. Contains the application's routes. When a new file is added to this directory, it becomes a navigable route.
Project assets such as fonts, images, and SVG files.
Base components used throughout the project, e.g., Text, SafeTop.
Reusable stylesheets and constants for the UI kit, e.g., colors, shadows, typography.
Context providers from third-party packages and custom providers, including authorization for routing. Examples include React Context, Redux Context Provider, and Safe Area Provider.
End-to-end tests for the project, structured similarly to screens for better management.
Base hooks used throughout the project, e.g., useKeyboardVisible.
Pages of the application, organized in this folder and imported into specific routes in the app directory.
Services used in screens, such as API handling. The api
folder contains routes created
with Axios instances.
RTK based store, uses MMKV storage and redux-persist for state persistence. The slices
folder includes reducers used throughout the app.
The translations
folder contains functions and locales for internationalization and localization.
- Set up the development build: Expo Dev Build Documentation.
- Install dependencies:
npm install
oryarn install
. - Run on both Android & iOS:
npm start
(oryarn start
). - Run on Android:
npm run android
(oryarn android
). - Run on iOS:
npm run ios
(oryarn ios
). - ✨ Don't forget to enable ESLint ✨