- 🚀 Product Listing with Efficient Filtering and Local State Management for Wishlist & Add to Cart
- 🧪 Comprehensive Test Cases for Key Features
- ✅ Linting Enabled for Code Consistency and Best Practices
ProductOverview_eComDemo.mov
- Product Listing: Displays detailed product information, including:
- Article Name
- Available Colors
- Retail Price
- Product Images
- Filtering: Users can filter the product list by:
- Price
- Color
- Image Carousel: Scrollable, horizontal carousel for multiple product images (front, back, flat, outfit).
- Dynamic Color Selection: Selecting a different color updates the displayed product image to reflect the chosen variant.
- Wishlist & Cart Functionality: Users can add/remove products from the wishlist or shopping cart, with interactive icons reflecting the current status.
- React Native with TypeScript: Provides type safety and robust development practices for scalable code.
- TypeScript ESLint: Integrated ESLint with TypeScript for code linting and enforcing best practices across the codebase.
- Expo: Used for cross-platform development, testing, and deployment on both iOS and Android.
- REST API (Mocked): Simulated API to fetch product data for the application.
- Local JSON Server: Utilized to serve product data locally, making it easy to mock and manage API responses during development.
- Lazy Loading of Images: Product images are lazily loaded using expo-image, ensuring optimal performance by only loading images as they enter the viewport.
- Cross-Platform Compatibility: The application is optimized for both Android and iOS.
- Implemented unit tests for critical components and features, achieving good code coverage. The tests ensure reliable behavior for:
- Product display
- Filtering logic
- Wishlist & Cart functionality
- Achieving Better Code Coverage with Enhanced Test Cases 💻💻: Expand unit and integration tests to cover more scenarios, edge cases, and complex interactions, ensuring higher reliability and stability.