This project, "Oru Phones", is a feature-rich and highly optimized Flutter application designed to provide an engaging user experience. It implements advanced concepts like state management, HTTP requests handling, UI updates, push notifications, infinite scrolling, and image caching, among others.
-
Flutter: This application is built using Flutter, a comprehensive UI toolkit that lets us natively compile applications for mobile, web, and desktop from a single codebase.
-
Provider: The Provider package is utilized to manage state in the application, specifically to get and post HTTP requests.
-
ValueNotifier: ValueNotifier is used for updating the UI without having to use setState, offering a more efficient approach to re-rendering components.
-
Firebase Cloud Messaging (FCM): FCM is used to send real-time push notifications to the users that open the notification on the notification screen.
-
Search: A robust search functionality is built-in to enable users to effortlessly find products.
-
Singleton Class: Singleton design pattern is used to ensure a class has only one instance and provides a global point of access to it.
-
Reusable Widgets: Reusable widgets are implemented across the application to optimize the code and enhance maintainability.
-
Infinite Scroll for Products: Infinite scroll functionality has been added to allow users to seamlessly browse through a large number of products.
-
Product Filters: To aid users in finding the right products, filters have been added to narrow down product selection.
This application incorporates various optimization techniques to improve performance and user experience:
-
Memory Usage Optimization: Careful handling of app memory usage is done to prevent unnecessary memory leaks.
-
Image Cache Optimization: To improve the performance when displaying images, image cache optimization has been implemented that caches the live images which are displayed on the screen.