Giter VIP home page Giter VIP logo

digikala's Introduction

The God We Trust

img

Digikala Project

Mohammad Hossein Basouli

Introduction:

  • Briefly describe on the project:

    • The project is about building a CLI app, that simulates some functionalities of Digikala (A very popular e-commerce website).
  • objectives of the program:

    1. This program should provide an easy a user-friendly interface for all three objects (Sellers, Buyers & Admins), that are using Digikala.
    2. The program should be able to handle all the shopping processes like Wallet Charging, Managing Shopping Cart and so much more...
    3. After shopping, the money should be automatically deposited to the Shop's wallet and also the Seller's wallet.
    4. And all that you can except from a CLI Digikala app :).
  • Provide a high-level overview of the approach taken to complete the assignment:

    1. At first it's good to have an intuition on the functionalities of Digikala, and how things should work under the hoods.
    2. The second part is to try to implement objects and interfaces to work with to let the program and shopping processes work, Of course this is a really important part of programming to see what you have to do and decide how to implement the stuff .
    3. Last but not least is about linking the UI to the code bases and functionalities.
  • Categories and Sub-Categories that are supported in this App:

    1. Beauty

      • Eye Brow Make Up
      • Eye Make Up
    2. Books

      • Children Book
      • Fiction Book
      • Poetry Book
    3. Clothes

      • Coat
      • Jean
      • Sweater
    4. Electronics

      • Laptop
      • Smart Phone
      • Smart Watch
    5. Home

      • Air Conditioner
      • Refrigreator
      • TV
    6. Sports

      • Ball
      • Gloves
      • Rackets
    7. Super Market

      • Dairy
      • Drinks
      • Proteins
    8. Tools

      • Drill
      • Soldering System
      • Spanner
    9. Toys & Games

      • Board Games
      • Card Games
      • Puzzles
    10. Vehicle

      • Car

      • Motor Cycle

      • Truck

Entity Abilities & Features:

  • Seller:

    • Account Management:

      • Sign Up
      • Sign In
      • Logout
    • Product Management:

      • Add a new Product
    • Wallet Management:

      • View Wallet
  • User:

    • Search & Show Products:

      • Search through categories
      • Show purchased products
    • Cart Management

      • Add a new cart
      • Switch cart
      • Update cart
      • View cart
      • Checkout cart
    • Wallet Management:

      • Submit a wallet request
      • Show wallet requests
      • Show wallet
    • Submit a comment

    • Update Personal Information:

      • Update Password
      • Update Email
      • Update Phone number
      • Update Address
    • Logout

  • Admin:

    • Wallets Management

      • Show all wallet requests
      • Show all confirmed wallet requests
      • Show all unconfirmed wallet requests
      • Confirm a wallet request by ID
    • Checkouts & Orders Management

      • Show all orders
      • Show all confirmed orders
      • Show all unconfirmed orders
      • Confirm an order by ID
    • Admins Management:

      • Add an admin
    • Users Management:

      • Show all user wallet requests by userID
      • Show user's confirmed wallet requests by userID
      • Show user's unconfirmed wallet requests by userID
      • Show user's all orders by userID
      • Show user's confirmed orders by userID
      • Show user's unconfirmed orders by userID
      • Watch all profile screens
      • Watch an specific profile screen by userID
    • Sellers Management

      • Show all unauthorized sellers
      • Authorize a seller by sellerID
    • Logout

Design and implementation :

  • A brief description of the design of the solution :

    1. First we declare some category and subcategories to cover a wide domain of products that exist in real life.

      Here you can see diagram of my UML design for product, categories and also subcategories : UML Design of Products, Categories and Subcategories

    2. Then we have to design classes for each entity Admin, Seller and User.

      Here you can see diagram of my UML design for Admin, Seller and User : UML Design of Admin, Seller and User .

    3. After declaration of class user, we have to define some entities related to shopping, such as Order, Shopping Cart and Wallet Request to track shopping processes of each user.

      Here you can see diagram of my UML design for Order, Shopping Cart and Wallet Request : UML Design of Order, Shopping Cart and Wallet Request .

    4. At the end corresponding to functionality of each entity we define our Shop class.

      Here you can see diagram of my UML design for Shop : UML Design of Shop.

  • Technologies, Libraries & framworks:

    1. Java

    2. UUID

    3. Database (SQlite)

Testing and Evaluation:

Please Wait a While for .gif to get loaded

Registering a new user and shopping

digikala's People

Contributors

mmdproject avatar

Stargazers

Arshia Alaie avatar Farid Karimi avatar Mohamadreza Khanmohamadi avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.