Skip to content

Cross-platform electronics e-commerce app built with Flutter and Laravel. Features biometric authentication, offline-first architecture with SQLite caching, camera integration for reviews, real-time product specs API, and secure checkout with geolocation delivery tracking.

Notifications You must be signed in to change notification settings

ShariniN/Flutter_Assignment2

Repository files navigation

⚡️ Electronics Store App — Flutter + Laravel Backend

Welcome to the Electronics Store App, a full-featured, cross-platform mobile application built with Flutter and powered by a Laravel backend.

This project combines a rich, responsive Flutter frontend with a secure, scalable Laravel REST API, offering a modern, real-world e-commerce experience for electronics shoppers. It features authentication, offline caching, product filtering, biometric-secured checkout, image-based product reviews, and dynamic tech spec retrieval through an external API.

📱 Overview

This Flutter + Laravel project represents a production-ready e-commerce mobile app tailored for electronics retail. It demonstrates a multi-layered architecture integrating:

Backend RESTful APIs built with Laravel.

Secure local persistence (SQLite, caches, biometrics).

Rich, device-native features (camera, geolocation).

Real-time external API calls for live product specifications.

It supports both online and offline modes, ensuring users can browse cached data and securely complete purchases even with intermittent connectivity.

🖥️ Frontend (Flutter)

Cross-Platform Compatibility – Built using Flutter, the app runs natively on both Android and iOS with a unified codebase.

Modern, Responsive UI – Carefully designed layouts using Material Design 3, with adaptive widgets that scale across phones and tablets.

Dynamic Home Screen – Displays banners, promotional sliders, and featured categories, with content fetched dynamically from the Laravel backend.

Product Cards & Filters – Interactive product cards show real-time data, while filters allow users to sort and refine by brand, price, or category.

Category Navigation – Structured category views (e.g., Laptops, Smartphones, Smartwatches, etc.)

Product Detail Pages – Rich product pages featuring pricing, availability, specifications, and user reviews — including live data from an external specs API.

🔐 Authentication & User Management

Laravel Sanctum Authentication – Secure token-based login and registration through Laravel’s API endpoints.

Biometric Authentication – Integrates with the local_auth plugin to allow Face ID / fingerprint verification before performing sensitive actions such as checkout or payment.

User Profile & Orders – Editable user profile, viewable order history, and saved address book synchronized with the backend.

🛍️ Shopping & Checkout Flow

Checkout with Biometrics – Secure checkout experience that requires biometric confirmation before completing a transaction.

Order Summary Screen – Clean UI summarizing items, delivery address, taxes, and total cost.

Delivery Geolocation – Integrated geolocator service to auto-detect the user’s current address or delivery location.

💬 Reviews & Ratings

Local Review Caching (SQLite) – Reviews are stored locally first, then synchronized to the backend when online.

Camera Integration – Users can capture product photos using the camera

Ratings & Stars – Dynamic rating system linked with the backend to calculate average ratings in real time.

🌐 API Integrations

Laravel REST API – Handles authentication, products, categories, reviews, orders, and cart operations.

External Tech Specs API – Fetches live technical specifications for products (e.g., CPU, GPU, display, battery, etc.) using a vercel.

Caching Layer – Responses from APIs are cached locally using SQLite for faster repeated access and offline continuity.

📦 Offline Functionality

SQLite Database (sqflite) – All critical data such as categories, products, and reviews are stored locally for offline browsing.

Network Awareness – The app intelligently detects connectivity status and updates the UI to reflect online/offline states.

🧠 Performance & Architecture

Repository Pattern – Clear separation of data sources (API, local DB, external API) for scalability and testability.

State Management (Provider) – Efficient app-wide reactive state handling.

Lazy Loading & Pagination – Product grids load incrementally for better performance.

🔒 Security

Biometric Checkout Confirmation – Extra security layer for payment authorization using local_auth.

Secure Storage – Tokens, user data, and cached information encrypted via flutter_secure_storage.

HTTPS Communication – All API requests are made securely over HTTPS using token-based headers.

Laravel Sanctum Tokens – Backend authentication tokens are verified on every request.

CSRF & Input Validation – Laravel backend employs built-in middleware for CSRF protection and sanitization.

About

Cross-platform electronics e-commerce app built with Flutter and Laravel. Features biometric authentication, offline-first architecture with SQLite caching, camera integration for reviews, real-time product specs API, and secure checkout with geolocation delivery tracking.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published