Topic: A single shop eCommerce Web Application for selling hand crafted products with User Management and User Accounts, Product Catalog, Shopping Cart (using Laravel Package darryldecode/cart), Checkout Process, Order Management, Inventory Management, Admin Dashboard (Filament PHP), and implementing Stripe for payment
  developed using Laravel, Filament PHP, MySQL, Tailwind CSS, Alpine.js and Anime.js.

Database Schema:

Role
    id: bigint, unsigned, auto-increment, primary key
    name: string
    slug: string, unique
    created_at: timestamp, nullable
    updated_at: timestamp, nullable
    deleted_at: timestamp, nullable
    Relationships
        Has many Users
                
users
    id: bigint, unsigned, auto-increment, primary key
    role_id: bigint, foreign key to roles.id
    name: string
    email: string, unique
    email_verified_at: timestamp, nullable
    password: string
    remember_token: string, nullable
    created_at: timestamp, nullable
    updated_at: timestamp, nullable
    deleted_at: timestamp, nullable
    Relationships:
        Belongs to Role
        Has many Orders
        Has many Reviews
                
addresses               
        id: bigint, unsigned, auto-increment, primary key
        user_id: bigint, unsigned, foreign key (references users.id)
        address_line_1: string
        address_line_2: string, nullable
        city: string
        state: string
        postal_code: string
        country: string
        phone_number: string
        is_primary: boolean, default false
        created_at: timestamp, nullable
        updated_at: timestamp, nullable
        deleted_at: timestamp, nullable
        Relationships:
                Belongs to User
                Has many Orders as Shipping Address
                Has many Orders as Billing Address
				
				
                        
categories
    id: bigint, unsigned, auto-increment, primary key
    name: string
    slug: string, unique
    parent_id: bigint, nullable, foreign key to categories.id for hierarchical structure
    created_at: timestamp, nullable
    updated_at: timestamp, nullable
    deleted_at: timestamp, nullable
    Relationships:
        Has many Products
        Belongs to Category (self-referencing for subcategories)
		                
products
    id: bigint, unsigned, auto-increment, primary key
    name: string
    slug: string, unique
    description: text
    price: decimal(8,2)
        stock: integer
    in_stock: boolean, default true
        stock_reorder_level: integer
    category_id: bigint, foreign key to categories.id
        meta_title: string
        meta_description: string
        meta_keywords: string
    created_at: timestamp, nullable
    updated_at: timestamp, nullable
    deleted_at: timestamp, nullable
    Relationships:
        Belongs to Category
        Has many ProductImages
        Has many Reviews
        Has many OrderItems

                
product_images
    id: bigint, unsigned, auto-increment, primary key
    product_id: bigint, foreign key to products.id
    url: string
        is_primary: boolean, default false
    is_featured: boolean, default false
    created_at: timestamp, nullable
    updated_at: timestamp, nullable
        Relationships:
                Belongs to Product

orders
    id: bigint, unsigned, auto-increment, primary key
    user_id: bigint, foreign key to users.id
    order_number: string, unique
    payment_status: enum('pending', 'completed', 'failed', 'refunded')
        order_status: enum('pending', 'processing', 'shipped', 'delivered', 'cancelled')
    total_amount: decimal(10,2)
    payment_status: enum('unpaid', 'paid', 'failed')
    shipping_address_id: bigint, unsigned, foreign key (references addresses.id)
        billing_address_id: bigint, unsigned, foreign key (references addresses.id)
    created_at: timestamp, nullable
    updated_at: timestamp, nullable
    Relationships:
        Belongs to User
        Has many OrderItems
                Belongs to Shipping Address
                Belongs to Billing Address
                
order_items
    id: bigint, unsigned, auto-increment, primary key
    order_id: bigint, foreign key to orders.id
    product_id: bigint, foreign key to products.id
    quantity: integer
    price_per_unit: decimal(8,2)
    created_at: timestamp, nullable
    updated_at: timestamp, nullable
        Relationships:
                Belongs to Order
                Belongs to Product
        
transaction_logs
        id: bigint, unsigned, auto-increment, primary key
        order_id: bigint, unsigned, foreign key (references orders.id)
        transaction_id: string, unique
        payment_gateway: string
        payment_status: enum('pending', 'completed', 'failed', 'refunded')
        amount: decimal(10, 2)
        created_at: timestamp, nullable
        updated_at: timestamp, nullable
        Relationships:
                Belongs to Order
                
reviews
    id: bigint, unsigned, auto-increment, primary key
    product_id: bigint, foreign key to products.id
    user_id: bigint, foreign key to users.id
    rating: smallint // e.g., 1-5
    comment: text, nullable
    approved: boolean, default false
    created_at: timestamp, nullable
    updated_at: timestamp, nullable
        deleted_at: timestamp, nullable
    Relationships:
        Belongs to Product
        Belongs to User
                                
settings
    id: bigint, unsigned, auto-increment, primary key
    key: string, unique
    value: text
        created_at: timestamp, nullable
        updated_at: timestamp, nullable


For the topic above:
Provide the Functionalities of each of the Modules and their corresponding Business Workflow required to implement the functionalities of this application. Use this format below:
### 1. *{Module Name}*
	- *Database Tables:*
		[List the names of the tables corresponding to this Module.]
   	- *Functionality:*
		[List all the features and functionalities of this Module.]
   	- *Business Workflow:*
		[List all the business workflow of this Module.]
	- *Business Logic:*
		[List all the business logic of this Module.]
	- *Business Rules:*
		[List all the business rules of this Module.]
   	- *Notification and Alert:*
		[List all the Notification and Alert of this Module.]
   	- *Module Integration*
		[Meticulously describe how this module integrates seamlessly into the overall application system.]			
   	- *Unit Test (Use Cases and Edge Cases):*
		[List all possible Unit Test Cases (Use Cases and Edge Cases) in this Module.]
   	- *Feature Test (Use Cases and Edge Cases):*
		[List all possible Feature Test Cases (Use Cases and Edge Cases) in this Module.]
		
These modules and their corresponding Business Workflow should cover the main functionalities of this web application