Skip to content

Shoppe App is a modern E-commerce Flutter application that delivers a clean, smooth, and elegant shopping experience.

Notifications You must be signed in to change notification settings

romisaa5/shoppe-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›οΈ Shoppe App

Shoppe App is a modern E-commerce Flutter application that delivers a clean, smooth, and elegant shopping experience.
The app follows Clean Architecture principles and uses Dependency Injection, GoRouter, and Cubit for structured and maintainable code.


πŸš€ Overview

Shoppe App focuses on providing a delightful user journey , starting from a visually appealing Splash & Onboarding experience,
all the way to secure authentication and personalized shopping.


🧠 Tech Stack

Category Tools / Packages
Framework Flutter
Routing GoRouter
Dependency Injection get_it
State Management Cubit / Bloc
Responsive UI flutter_screenutil
SVG Support flutter_svg
Styling AppColors & AppTextStyles (Custom Design System)

πŸ“± Features

  • πŸ–ΌοΈ Splash & Onboarding flow
  • πŸ” Authentication (Login, Signup, Forget Password, Verification)
  • πŸ›’ Shopping flow with user preferences
  • πŸ’¬ Clean navigation with GoRouter
  • 🎨 Fully responsive & adaptive design
  • βš™οΈ Modular architecture with Dependency Injection

🌈 Splash & Onboarding Screens

✨ Splash Screen

The Splash Screen is the app’s entry point, introducing users with an animated logo transition before moving to the onboarding view.

πŸ”§ Features

  • Smooth logo animation using AnimatedPositioned
  • Custom transition curve (Curves.easeOutBack)
  • Auto navigation using GoRouter
  • Primary theme color background
  • Responsive layout using flutter_screenutil

🧩 Packages Used

flutter_screenutil: For responsive UI design
flutter_svg: For rendering SVG logos
go_router: For route navigation

πŸ’« Onboarding Screen

The Onboarding Screen introduces users to the app’s look and style while allowing them to choose their gender preference before continuing.


🧩 Overview

The screen features a stylish gradient background, glowing visual effects, and interactive gender selection buttons (Men/Women).
It’s built to create an elegant and modern first impression for the user.


✨ Features

  • 🎨 Gradient background with smooth color transitions
  • πŸ’‘ Glow effect using BackdropFilter and ImageFilter.blur
  • πŸ‘• Gender selection buttons: Men / Women
  • ⏭️ Skip option for quick access
  • πŸš€ Navigation to the social authentication screen using GoRouter
  • πŸ“± Fully responsive design using flutter_screenutil

🧠 Packages Used

flutter_screenutil: For responsive scaling
go_router: For navigation
get_it: For dependency injection

πŸ–ΌοΈ Screenshots

splash Β Β Β  onboarding


API Integration

Shoppe App uses a robust and clean authentication system built on top of a well-structured networking layer
that follows Clean Architecture principles and utilizes Dio, Retrofit, and Dependency Injection (get_it).


🌍 Base API

The app connects to the official backend:

The app connects to a live RESTful API hosted at
https://accessories-eshop.runasp.net/

lib/core/networking/

β”‚
β”œβ”€β”€ api_constants.dart          # Base URLs & Endpoints
β”œβ”€β”€ api_service.dart            # Retrofit interface for API calls
β”œβ”€β”€ api_service.g.dart          # Auto-generated file by Retrofit
β”œβ”€β”€ dio_factory.dart            # Custom Dio configuration (headers, interceptors, timeouts)
β”œβ”€β”€ api_error_handler.dart      # Centralized error handling
β”œβ”€β”€ api_error_model.dart        # Model for API errors
β”œβ”€β”€ api_result.dart             # Wrapper for success/failure results
β”œβ”€β”€ api_result.freezed.dart     # Generated file using Freezed

πŸ” Authentication Module

The Authentication flow in Shoppe App provides a complete and secure user experience β€”
from signing up and verifying the account via email OTP, to logging in and resetting forgotten passwords.

πŸ”‘ Auth Endpoints

Endpoint Description
auth/register Register a new user with email, name, and password
auth/login Authenticate existing user credentials
auth/verify-email Send OTP to verify the registered email
auth/validate-otp Validate OTP code to confirm user identity
auth/resend-otp Resend OTP code in case the first one expires

βš™οΈ Technologies & Packages

Purpose Package
HTTP Client dio
API Abstraction retrofit
Code Generation build_runner, retrofit_generator
Error Handling freezed, json_serializable
Dependency Injection get_it
Logging pretty_dio_logger, logger
Secure Token Storage flutter_secure_storage

βš™οΈ Features

  • πŸ“© Email verification flow with OTP
  • πŸ” Login & Signup integration with real API
  • πŸ” Resend OTP functionality
  • πŸ”’ Password recovery (Forget Password & New Password screens)
  • 🧩 Fully handled via Cubit states (loading, success, error)
  • 🚦 Navigation using GoRouter
  • πŸ“± Responsive design using flutter_screenutil

πŸ–ΌοΈ Screenshots

This section showcases all Login & Forget Password related screens , including Social Authentication, Email/Password Login, and Password Recovery Flow.

social_auth Β Β  login Β Β  verify_code

forget_password Β Β  new_password

This section covers the user registration flow, including email verification and OTP validation. Users can easily create a new account, verify their email, and activate their profile securely.

sign_up Β Β  verify_email Β Β  otp


🚧 Other Features

Other features will be added soon... stay tuned for the upcoming updates! πŸ’«

About

Shoppe App is a modern E-commerce Flutter application that delivers a clean, smooth, and elegant shopping experience.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published