Skip to content

wells1989/Django-multi-seller-marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

Table of Contents

Description

This Full Stack Django application is a multi-seller marketplace, where users can log in and sell their products, in addition to viewing their own purchases / sales statistics and leaving ratings for the products they have purchased.

Tech-stack: python / JavaScript / SQL / tailwindCSS / html

Project Areas: Django authentication models / Advanced MVT architecture / inter-model relationships between Django models / Django database modelling and utilising data in UI integration / JavaScript for DOM manipulation / cart and checkout implementation with stripe API / dynamic UI displays using chartJS

Installation

  1. Clone the repository:

    gh repo clone wells1989/Djando-multi-seller-marketplace
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Apply database migrations:

    python manage.py migrate 
    
  4. Run the development Server:

    cd mysite
    python manage.py runserver 
    

Access the app at http://localhost:8000 in your web browser.

Usage

User Registration / Login

  • Description: Allows users to register or log in to the platform.

Screenshot (527) Screenshot (528)

Homepage

  • Description: Displays a dynamic homepage with featured products and links via the Navbar to the other areas if the User is logged in / authenticated

Screenshot (549)

Creating new product

  • Description: Provides a form for users to create and list new products for sale.

Screenshot (535)

Product details / purchasing

  • Description: Product Details page which allows you to add or remove items from your cart

Screenshot (550)

  • Description: cart View provides overview of Cart (Items / quantity / total price) before checking out

Screenshot (537)

  • Description: On Checkout, accessing the stripe API for payment

Screenshot (539)

Viewing sales dashboard

  • Description: Users can view / edit / delete their items, as well as seeing the sales / revenue and average rating for each
  • NOTE: superusers can access everyone's items

Screenshot (530)

Viewing sales statistics

  • Description: Users can retrieve sales data for their products, seeing the total sales or sales by time period, in table or chart form
  • NOTE: superusers can see entire sales across users

Screenshot (547) Screenshot (548)

Viewing your purchases

  • Description: Users can view the orders they have made, as well as the amount they paid and can also leave a 1-5 star rating for the products

Screenshot (544)

Project Notes:

  • The Focus of this project was to provide a wide view of functionality, including user authentication, model instance manipulation via Django forms / views with ORM and UI statistics obtained from SQL databases.
  • The App is designed to be used by both regular users and superusers, with superusers having more permissions on editing / deleting products, as well as being able to view the entire sales across the site.
  • The Stripe Authentication was used with a dummy payment_intent due to an internal Stripe error when developing the product

Future-development:

  • A future feature could be adding a comments section to the product reviews. This would require a separate Review Model, which could then be linked to a product whilst having it's own comments and review field.
  • A User profile section onthe main site would allow users to customise and alter their Profile information in the event of changing email addresses etc.
  • The login feature could have incorporated a change password reset in case the user forgot their password.