iApps API Development


Run Project First:


1) Clone Project

git clone https://github.com/ManiruzzamanAkash/Ecommerce-Advance-API.git

2) Update Composer

composer Update [Install Composer first if it is not installed, then run this command]

3) Connect Database [if not]

Open/create .env file by copying of .env.example file and fill the above values

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=DB_NAME
DB_USERNAME=DB_USERNAME
DB_PASSWORD=XXXXXX

4) Migrate

Run migration command to migarte into database

php artisan migrate

5) Clear the cache and update everything

Run migration command to migarte into database

composer dump-autoload
php artisan optimize

6) Install Passport Cliend ID's

php artisan passport:install

7) Run Seeder

php artisan db:seed

8) Run Project

php artisan serve

Open browser the URL: http://127.0.0.1:8000/api/documentation

[A swagger will be open up, and check the API's 😎 😎 😎 ]


Develop API From Zero:


What Technologies

Please Install this Same Setup in your Local Machine to make a Quick Start...

  1. PHP - 7.4.2 [Install Xampp - 7.4.7]
  2. Laravel Framework - 7.25
  3. VS Code Latest Version - Packages(To Code Faster)
    1. PHP Formatter
    2. Laravel intellisense
    3. Laravel Blade Snippets
    4. Laravel Extra Intellisense
    5. Laravel Blade Spacer
    6. Laravel Assist
    7. Prettier+
    8. Bracket Pair Colorizer
  4. Composer Packages

Used 3rd Party Verfied Packages While Developement

  1. Laravel Modules to Make Domain Driven Design: https://nwidart.com/laravel-modules/v6/introduction
  2. Laravel Passport Authentication to make secured Oath2 Token Based Server Implementation - https://laravel.com/docs/7.x/passport#introduction
  3. To Generate API Documentation Using Swagger - https://github.com/DarkaOnLine/L5-Swagger

Code of Conduct

  1. Never Trust User. Never trust any of the values/requests from the user.
  2. Always Maintain The Architecture, Never Violates. If there is proper suggestion, it's Welcomed.

Feature Analysis


  1. Basic Ecommerce Website Features
  2. Multivendor Ecommerce Design
  3. Product List, with Details View
  4. Product Filtering throw Category, Brand, Price, Attributes
  5. User Authentication -
    1. Email / Mobile Number Verified Registration
  6. Cashback System
  7. Voucher System
  8. First purchase discount
  9. Referral program
  10. Make a wallet inside in website
  11. Add Payment Gateway Visa, Master Card etc
  12. After delivery Review product and Photo Ppload system for user

API Development


User Account

  • User Account -
    • Register User Account
    • Register User Account Email & Phone
    • Login
    • Forget Password
    • Profile View
    • Authenticate API Route
    • Profile Update
    • Social Authentication

Business

  • [] Currencies @Mahmud Hasan Shakkhor

    • Create Tax Rate
    • Edit Tax Rate
    • Details Tax Rate
    • Delete Tax Rate
    • Data Import / Seeder For Currencies Table
  • Tax Rate @Mahmud Hasan Shakkhor

    • Create Tax Rate
    • Edit Tax Rate
    • Details Tax Rate
    • Delete Tax Rate
    • Seeder For Business
  • Business - @Maniruzzaman Akash

    • Create Business Account
    • Edit Business Account
    • Details Business Account
    • Delete Business Account
    • Seeder For Business
  • Business Location (Multiple Store of a Business) - BusinessLocation Model --> Business Module @Mahmud Hasan Shakkhor

    • Create Business Location
    • Edit Business Location
    • Details Business Location
    • Delete Business Location
    • Seeder For Business

Role Permission & User Management System

  • Role

    • Create Role with Permission
    • Edit Role with Permission
    • Details Role with Permission
    • Delete Role
    • Seeder For Basic Rules
  • User Management

    • Create User
    • Edit User
    • Details User
    • Delete User
    • Seeder User

Customer

  • Customer

    • Create Customer
    • Edit Customer
    • Details Customer
    • Delete Customer
    • Seeder For Customers

Supplier

  • Supplier @Mahmud Hasan Shakkhor
    • Create Supplier
    • Edit Supplier
    • Details Supplier
    • Delete Supplier
    • Seeder For Suppliers

Item

  • Brand @Mahmud Hasan Shakkhor

    • Create Brand
    • Edit Brand
    • Details Brand
    • Delete Brand
    • Seeder For Brands
  • Category @Mahmud Hasan Shakkhor

    • Create Category
    • Edit Category
    • Details Category
    • Delete Category
    • Seeder For Categories
  • Unit @Mahmud Hasan Shakkhor

    • Create Unit
    • Edit Unit
    • Details Unit
    • Delete Unit
    • Seeder For Units
  • Item @Mahmud Hasan Shakkhor

    • Create Item
    • Edit Item
    • Details Item
    • Delete Item
    • Upload Item Image
    • Delete Item Image
    • Seeder For Items
  • Item Attribute @Mahmud Hasan Shakkhor

    • Create Item Attribute with Value
    • Edit Item Attribute with Value
    • Details Item Attribute with Value
    • Delete Item Attribute with Value
    • Seeder For Items Attribute with Value

Sales (Urgent)

  • Discount Type @Mahmud Hasan Shakkhor

    • Create Discount Type
    • Edit Discount Type
    • Details Discount Type
    • Delete Discount Type
    • Seeder For Discount Type
  • Sales @Mahmud Hasan Shakkhor

    • Create New Sales Order --> transactions and transaction_sell_lines table -> Sales Module
    • Edit Sales Order
    • Details Sales Order
    • Delete Sales Order
    • Seeder For Fake Sales Orders

Business Extra

  • Slider

    • Create Slider
    • Edit Slider
    • Details Slider
    • Delete Slider
    • Seeder Slider
  • Page

    • Create Page
    • Edit Page
    • Details Page
    • Delete Page
    • Seeder Page

New in 7 September 2020

  • Gift Card (in Promotional module) @Mahmud Hasan Shakkhor

    • Gift Card CRUD Operation
    • Gift Card Purchase By Customer
    • Gift Card Transactions
  • Vouchar (in Promotional module) @Mahmud Hasan Shakkhor

    • Voucher CRUD Operation
    • Voucher Purchase By Customer
    • Voucher Transactions New table added voucher_transactions, Please check
  • Poll / Voting System (in Promotional module) @Mahmud Hasan Shakkhor

    • Poll System CRUD, multiple poll option, poll can be on items or normal values
    • Poll Response by customers -
      • Store Response,
      • View Response List,
      • View Response Details By Poll
  • Transaction API (for all types of transaction, Copy the Sales Transaction Api)

    • Create Transaction [with title and type and all other data for any type of transaction]

Notes For API Developer (New Fields May Needs to add in some tables)

  • Product wise Delivery system disable/enable ->> Like, In pen, there will be no cash in delivery, business has also that column in business table for globally by default
  • For Any User's Purchase, check he/she's referrel user, then add 1% of any purchase to referres account