Skip to content

An e-commerce app featuring cart management, coupons, product details, user authentication (login, register, OTP, forgot/reset password), reviews, and profile management — built with a clean layout and smooth onboarding flow.

Notifications You must be signed in to change notification settings

ahmedghaly15/Shoppe

Repository files navigation

🛍️ Shoppe

Shoppe is a Flutter demo app built to explore and experiment with the latest Riverpod 3.0 features — including Notifier, NotifierProvider, and offline persistence.
It demonstrates how to apply the newest Riverpod architecture patterns to a real-world e-commerce layout.


🚀 Overview

Shoppe is a modular Flutter application that showcases the structure of a modern app powered by Riverpod 3.0.
The app simulates an online shopping experience and focuses on exploring state management using the newest Riverpod APIs and migration concepts.


🧠 Purpose

The goal of this project is to:

  • Understand the new unified provider system in Riverpod 3.0
  • Replace legacy providers like StateNotifierProvider and ChangeNotifierProvider with the new Notifier/AsyncNotifier APIs
  • Experiment with offline state persistence in Riverpod
  • Test lifecycle improvements like pausing providers, delayed disposal, and Ref.mounted checks
  • Build a scalable and modular architecture suitable for production apps

🧩 Features

Module Description
🛒 cart Manage user cart items using Riverpod NotifierProvider.
🎟️ coupons Apply and validate discount coupons.
🔐 login / register / reset_pass / forgot_password / otp Authentication flow built with modern provider patterns.
🏠 home / layout Main layout and home screen navigation.
📦 product_details Product view and detail management using async providers.
👤 profile User profile data with offline persistence.
🧾 orders Order list and tracking implementation.
reviews Review and rating system.
🌅 onboarding / start Clean onboarding and app start logic.

🧰 Tech Stack

  • Flutter — latest stable version
  • Riverpod 3.0 — for state management
  • Dio / retrofit — for networking
  • Freezed & JsonSerializable — for immutable models and serialization

🧪 Riverpod 3.0 Experiments in This App

Experiment Description
🧱 Notifier & NotifierProvider Replaced legacy providers to use the new unified API.
💾 Offline persistence Cached provider states and restored them on app restart.
🕓 Provider lifecycle Tested pausing and delayed disposal behavior.
🧩 @riverpod code generation Used riverpod_generator for cleaner provider syntax.
🧍 Ref safety Implemented ref.mounted checks in async operations.

📚 References

About

An e-commerce app featuring cart management, coupons, product details, user authentication (login, register, OTP, forgot/reset password), reviews, and profile management — built with a clean layout and smooth onboarding flow.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages