A modern e-commerce mobile application built with React Native and Expo, following Clean Architecture principles.
- Product browsing and detailed view
- Advanced search with filters and sorting
- Favorites management
- User reviews and ratings
- Responsive and animated UI
- Cross-platform support (iOS & Android)
The project follows Clean Architecture principles with a feature-based structure:
app/
├── features/
│ ├── products/
│ │ ├── data/
│ │ │ └── repositories/
│ │ ├── domain/
│ │ │ ├── models/
│ │ │ └── usecases/
│ │ └── presentation/
│ │ ├── components/
│ │ └── screens/
│ ├── search/
│ ├── favorites/
│ ├── reviews/
│ └── auth/
├── store/
│ └── features/
└── components/
- Data Layer: Handles data operations and external API communication
- Domain Layer: Contains business logic and domain models
- Presentation Layer: Manages UI components and screen logic
- Store: Centralizes state management with Redux
- React Native (0.76.7)
- Expo (52.0.41)
- TypeScript
- React (18.3.1)
- Redux Toolkit
- React Redux
- Expo Router
- Expo Vector Icons
- React Native Reanimated
- Expo Linear Gradient
- Expo Blur
- Axios
- AsyncStorage
- Jest
- TypeScript
- Babel
- Install dependencies:
npm install
# or
yarn install
- Run on specific platform:
# For iOS
npm run ios
# For Android
npm run android
- Product Management: Browse, search, and view detailed product information
- Search System: Advanced search with filters for vendor, price range, and sorting options
- Favorites: Add/remove products to favorites with persistent storage
- Reviews: User review system with ratings and comments
- Responsive Design: Adaptive UI with smooth animations and transitions
- Redux for global state management
- Local state for component-specific data
- AsyncStorage for persistent data
- TypeScript for type safety
- Clean Architecture principles
- Feature-based folder structure
- Component reusability
login | register | home | search |
---|---|---|---|
filter | notfound | favorites | empty favorites |
profile | prodDetail | ||