Skip to content
 
 

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flutter E-commerce Application

Project Status Flutter Node.js MySQL

A fully functional, professional e-commerce application built with a Flutter frontend, Node.js/Express backend, and a MySQL database. This project includes user authentication, shopping carts, order tracking, and profile management.


UI Gallery

Here is a showcase of the application's user interface:


Key Features

  • User Authentication: Secure Login/Register flows with JWT integration.
  • Dynamic Shopping Cart: Effortlessly add, remove, and manage products.
  • Product Discovery: Browse items, search for specific products, and filter your favorite choices.
  • Order Management: Real-time order processing and status tracking.
  • Profile Management: Profile picture upload (via Cloudinary) and editable user details.
  • Cross-Platform Support: Renderable dynamically on iOS and Android devices.

📁 Project Structure

├── E-commerce/          # UI Gallery Screenshots
├── backend/             # Node.js + Express + MySQL Server
│   ├── controllers/     # API Logic & Database interactions
│   ├── lib/             # Database connection handling
│   ├── middleware/      # JWT and other express middleware
│   ├── routes/          # Express routing
│   └── index.js         # Entry point for the server
└── frontend/            # Flutter Application
    ├── lib/             
    │   ├── screens/     # Application UI views (Cart, Home, Profile, etc.)
    │   ├── services/    # Integration logic with backend REST API
    │   └── main.dart    # Flutter entry point

Setup Guide

1. Database Setup (MySQL)

  1. Ensure your local MySQL server is running.
  2. Create a new database in MySQL:
    CREATE DATABASE db4pm;

2. Backend Configuration

  1. Navigate to the backend folder:
    cd backend
  2. Install dependencies:
    npm install
  3. Create your environment variables: Copy .env.example into a new .env file and fill in your secrets.
    cp .env.example .env
    Where to put API Keys: Open .env. This is where your JWT Secret and Cloudinary Keys should be configured securely. Make sure never to push .env to GitHub (it is excluded via .gitignore).
  4. Run the server:
    npm start
    # or node index.js

3. Frontend Configuration (Flutter)

  1. Navigate to the frontend folder:

    cd frontend
  2. Install packages:

    flutter pub get
  3. Configure API Base URL: Open the services folder (frontend/lib/services/). For each service file (ex: auth_service.dart, shop_service.dart, etc.), verify that baseUrl corresponds to your local IP Address. Example:

    static const String baseUrl = '(YourLocalIP):5000';

    Change the IP to match your local Wi-Fi router IP (which usually hosts the backend Node.js server) if deploying on a physical device, or use 10.0.2.2 if testing via Android Emulator.

  4. Run the application:

    flutter run

About

E-commerce application (similar to Taobao)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages