Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

360 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Sire

ย  Flutter PHP License: MIT

A modern, full-stack, multi-role e-commerce platform built with Flutter and PHP.


๐Ÿ›๏ธ Introduction

Sire is a comprehensive e-commerce solution designed for customers, delivery personnel, and administrators. It offers a seamless shopping, delivery, and management experience across mobile, web, and desktop platforms. Sire is open-source, modular, and built for scalability and maintainability.


โœจ Features

Customer Features

  • User Authentication: Sign up, login, password reset, and email verification
  • Product Browsing & Search: Explore products by category, search, and view details
  • Favorites & Cart: Add products to favorites and manage your shopping cart
  • Checkout & Orders: Place orders, apply coupons, and track order statuses
  • Address Management: Add, update, and select delivery addresses with GPS coordinates
  • Notifications: Real-time updates for orders, offers, and system messages
  • Ratings & Reviews: Rate products and view community feedback
  • Multi-language Support: Localized for Arabic, English, and Spanish

Delivery Features

  • Order Management: Accept and manage deliveries, update order status
  • GPS Navigation: Integrated Google Maps for route optimization
  • Real-time Tracking: Live order tracking and status updates
  • Delivery History: Complete delivery history and earnings tracking

Admin Features

  • Dashboard Analytics: Comprehensive sales and performance metrics
  • Product Management: Add, edit, and manage products with multi-language support
  • Category Management: Organize products with hierarchical categories
  • Order Management: Process orders, manage inventory, and track deliveries
  • User Management: Manage customer accounts and delivery personnel
  • Coupon System: Create and manage discount coupons
  • Notification System: Send push notifications to users and delivery personnel
  • Reports & Analytics: Detailed sales reports and business insights

๐Ÿ–ผ๏ธ Screenshots

User Interface

User Home User Categories User Product Details User Cart User Profile
User Orders User Search User Favorites User Checkout User Notifications
User Settings User Address User Rating User Authentication User Password Reset
User Profile Edit User Order History User Payment User Product List User Filter
User Sort User Wishlist User Account User Help

Delivery Interface

Delivery Home Delivery Orders Delivery Map Delivery Details Delivery Status
Delivery History Delivery Profile

Admin Interface

Admin Dashboard Admin Categories Admin Products Admin Analytics Admin Settings
Admin Coupons Admin Reports Admin Notifications Admin Product Management Admin Order Management
Admin User Management Admin Category Management Admin Analytics Dashboard Admin Sales Report Admin Inventory
Admin System Settings Admin Security Admin Configuration

๐Ÿ› ๏ธ Technologies Used

Frontend (Flutter)

Backend (PHP)

Database Schema

  • Users: Customer accounts with authentication
  • Items: Products with multi-language support (EN/AR/ES)
  • Categories: Product categorization
  • Orders: Order management and tracking
  • Cart: Shopping cart functionality
  • Favorites: User wishlists
  • Address: Delivery addresses with GPS coordinates
  • Rating: Product reviews and ratings
  • Coupon: Discount system
  • Delivery: Delivery personnel management
  • Notification: Push notification system

Other Tools


โšก Installation & Setup

Prerequisites

  • Flutter 3.6.2+ (Install Guide)
  • PHP 8.2+ and Composer
  • MySQL/MariaDB 10.4+
  • Git

Clone the Repository

git clone https://github.com/abdulwahed-s/sire.git
cd sire

Install Dependencies

Flutter App

flutter pub get

PHP Backend

cd backend
composer install  # If you have composer dependencies

Configuration

Database Setup

  1. Create a MySQL database named ecommerce
  2. Import the database schema:
    mysql -u root -p ecommerce < backend/ecommerce.sql
  3. Update database credentials in backend/connect.php:
    $dsn = "mysql:host=localhost;dbname=ecommerce";
    $user = "your_username";
    $pass = "your_password";

API Configuration

  • Update API base URLs in lib/apilink.dart to match your backend host
  • Ensure CORS headers are properly configured in backend/connect.php

Firebase Setup

  1. Create a Firebase project
  2. Add your google-services.json (Android) and GoogleService-Info.plist (iOS)
  3. Configure Firebase Cloud Messaging for push notifications

App Icons & Splash Screen

# Generate app icons
flutter pub run flutter_launcher_icons

# Generate splash screen
flutter pub run flutter_native_splash:create

โ–ถ๏ธ Usage Instructions

Run the Backend

  • Development:
    cd backend
    php -S localhost:8000
  • Production:
    Deploy backend/ to your web server (Apache/Nginx with PHP & MySQL)

Run the Flutter App

  • Development:
    flutter run
  • Production Builds:
    • Android: flutter build apk --release
    • iOS: flutter build ios --release
    • Web: flutter build web
    • Windows/Mac/Linux: flutter build windows|macos|linux

๐Ÿงช Testing

  • Flutter:
    flutter test
  • Backend:
    Use tools like Postman or cURL to test API endpoints

๐Ÿš€ Deployment

Flutter App

  • Web: Deploy build/web/ to any static web host (Netlify, Vercel, Firebase Hosting)
  • Mobile: Distribute built APKs/IPAs through app stores
  • Desktop: Distribute executables for Windows/Mac/Linux

Backend

  • Deploy backend/ to a PHP-enabled server with MySQL
  • Ensure proper file permissions and CORS configuration
  • Set up SSL certificates for production

Database

  • Use managed database services (AWS RDS, Google Cloud SQL, etc.)
  • Implement regular backups and monitoring

๐Ÿค Contribution

We welcome contributions!

Quick Start:

  1. Fork the repo and clone your fork
  2. Create a new branch: git checkout -b feature/your-feature-name
  3. Make your changes and commit with clear messages
  4. Push to your fork and open a Pull Request

Code Style:

  • Use flutter format . for Dart code
  • Follow Effective Dart guidelines
  • Follow PSR-12 for PHP code
  • Write clear, descriptive commit messages

๐Ÿ“„ License

This project is licensed under the MIT License.


๐Ÿ“ฌ Contact

Author: Abdulwahed
For questions, suggestions, or support, please open an issue or contact via GitHub.


Sire: A modern, open-source e-commerce platform for everyone.

About

Ecommerce App With Flutter

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages