Skip to content

amrk000/SaleHunter-MVVM-Android-Project

Repository files navigation

About Project:

Sale Hunter is a product search engine that provides a platform for both customer and seller. It helps customers hunt the best deals on any product they need and find the nearest store that selling it easily. They can aslo search for all products available on online e-commerce websites in one place quickly. On the other hand, seller can create a store page and showcase his products totally for free to reach more customers online with less efforts.


App Features:

  • Dark and light theme.
  • Support multi languages (English/Arabic).
  • Sign in & up using email, Facebook and google authentication.
  • Searching for products using text keywords, voice recognition or product barcode scanning using camera.
  • Using GPS to detect user location and help him find nearest store that selling the needed product.
  • Ability to see and control map containing all stores that selling the needed product with button for navigation mode activation in google maps.
  • Providing all info about product including images, price, description, price tracker, store location, and user rate action.
  • Access to on sale products, favorite products and user history.
  • Seller User can create, edit or delete his own store.
  • Seller User can access store dashboard to manage his products.
  • Access to profile info and ability to edit user data.

⚠ Backend server is out of service

Salehunter.App.Demo-1.mp4

Implementation Highlights:

  • Android MVVM Architectural Pattern with livedata & RxJava
  • Rest Api Data Handling using Gson, Retrofit & Glide
  • Search using text, Voice Recognition & Barcode
  • Multi-Views RecyclerView Adapter
  • Nested RecyclerViews (horizontal scroll inside vertical list)
  • Infinite scroll data loading (Lazy Load) without 3rd party library
  • Nested Fragments Navigation with Navigation Component
  • ViewPager v1 & v2 implementation: App Intro, Vertical Feature Intro & Products Images Slideshow
  • Image Base64 encoder implementation
  • Text Fields Validation using REGEX: Full Name, user Name ID, Email, Password & Website
  • Side Menu Custom implementation without 3rd party library
  • Navbar Custom implementation without 3rd party library
  • Loading pre-made SQL Lite databse filde using Room Persistence
  • Multi languages support LTR/RTL with custom font for each language
  • Facebook & Google Sign in Auth
  • Charts Implementation for Price Tracking
  • Google Maps Implemntation with GPS real-time tracking

Important Notes:

  • SaleHunter Project is a Pre-Alpha not completed version that contains bugs
  • The backend server is down so many features won't work properly
  • The project aims to be a good reference for features implementations to help developers and not to be used by normal users
  • Arabic Language is auto translated by google translation service

Copyrights:


Project Changelog:

  1. v0.1.0 Pre-Alpha
  2. Project Initialization
  3. v0.2.1 Pre-Alpha
    • Illustrations Updated
    • Transitions are improved
    • Social media auth are now hidden if gms aren't available
    • Fixed back button visual bug

  4. v0.3.1 Pre-Alpha
    • Side Menu Implementation
    • Home Implementation:
      • Search Bar
      • Voice Search
      • Barcode Search
      • Recommended Products
      • Bottom Navbar

  5. v0.4.2 Pre-Alpha
    • Performance improved & animation lag fixed
    • network disconnected screen changed to skippable dialog
    • new loading screen design
    • navbar width adjustment for smaller screens
    • side menu size improved for smaller screens
    • social media signout bug fixed
    • added vibration & sound effect to scanner on capture
    • product card view layout improved
    • Verification pin increased from 4 to 6 digits
    • RestApi Implementation:
      • Sign In
      • Sign Up
      • Social Media Auth
      • Password Reset

  6. v0.5.3 Pre-Alpha
    • UI/UX Improvements:
      • Dialogs New Design
      • Forced signout better UX
      • Side Menu Design Improved
      • Menu username & profile picture is now active
    • User profile implementation:
      • load user data
      • change picture
      • change username
      • change email with verification flow
      • change password
    • Backend REST API updates
    • App DataModels updated
    • Image Encoder Implemented: handles image compression, resize 500x500, conversion to WEBP & Base64 Encode
    • Code Refactoring:
      • API Response Codes Single Provider
      • Dialogs Single Provider
      • Global Account Manager
      • Global Text Field Validator

  7. v0.6.4 Pre-Alpha
    • Code Refactor: Fully Converted to MVVM
    • Search Functionality & filtering implementation
    • Search Results Page & Stores Map implementation
    • Product Page implementation
    • Recommended Products implementation
    • Social Media update in Sign In/up & User Profile
    • Navbar & Menu options Changed
    • Product Card/List Design Adjustments
    • Favorites List implementation
    • User History implementation
    • Barcode Scanner Product Detection implementation
    • Bugs Fixed:
      • user data doesn't load on sign in
      • Sign out crash
      • Sign Up Error 409 instead of user exists message
      • Unchecked Remember Me in Sign in
      • On Activity Resume Dialog Bug Fixed
      • Forced Signout Message Dialog
      • Profile Save Button Still visible when image changed & saved
      • fragment killed on backstack

  8. v0.7.5 Pre-Alpha
    • Barcode: 4000+ Egyptian Products Support added to Total of 406+ Million Global Product
    • Account Type in Menu & Profile
    • Load Online Stores Logo From Server instead of loading locally
    • Rendering Stores location Marks on map in results & product page
    • Store page implementation
    • Create Store implementation
    • On Sale Page implementation
    • Product Page:
      • Product Rating implementation
      • Navigation button implementation for local stores
      • back button implementation
      • Sale Percent implementation
      • Product Multi Images Slider implementation
      • Product Description Implementation
      • Share Button changed to share SaleHunter's product page instead of source website URL
    • Bugs Fixed:
      • Fixed Visual bug with long category in product card
      • Favourite List Del Icon Scale Bug
      • Searchbar text not showing in light mode
    • API Response Errors handeled:
      • Cloudinary link returns http:// instead of https:// Causes image load fail
      • Rate returns null instead of 0
      • Convert product_sale from discounted price to percent price

  9. v0.8.6 Pre-Alpha
    • GPS user location auto refresh changed to be every 10 meters or 1 minute interval
    • Sale Hunter Shared links detection in Open With Menu
    • About implementation (Based on SaleHunter Website)
    • Seller Dashboard Implementation
    • Bugs Fixed:
      • Sort by nearest store fixed
      • Back stack navigation bug fixed
      • Product rate long precision fixed
      • Discounted prices bug fixed

  10. v0.9.6 Pre-Alpha
    • Settings Page Implementation
    • Multi Language Implementation Arabic/English
    • Different Font Family for each language