Coder Social home page Coder Social logo

rukshar69 / online-market-place-django Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 886 KB

An online merch store

Home Page: https://online-market-place-django.vercel.app

Python 59.34% HTML 40.66%
backend django postgresql tailwindcss cronjob gitactions-workflow

online-market-place-django's Introduction

online-market-place-django

A simple online-merch-store.

Link to online app: https://online-market-place-django.vercel.app/

Backend: Django

Frontend: Tailwind based HTML/CSS

App Hosting: Vercel

Database: PostgreSQL (Hosted on Supabase )

Image Hosting: Google Drive API using Python's Django Google Drive Storage package

Features

  • Signup, login, and logout
  • The Homepage lists the 6 newest unsold products added by users and then approved by the admin(superuser)
  • The Browse page allows for searching for an admin-approved unsold items/products using category and text-query. The text-query searches for the matching text in the Item's name and description fields. A button to clear the filters is also added.
  • The Dashboard page shows the products added by the currently logged in user. It's divided in 2 parts. One showing items approved by the admin and the other showing items waiting to be approved by the admin.
  • The New Item page allows logged in users to add new products by entering its name, category, price, description, and image. For now, there're 4 categories: Toys, Clothes, Furnitures, and Jewelery.
  • Clicking on any item/product card (seen on homepage, dashboard, and browse page) takes one to the item detail page that shows the details of the product/item.
    • If the detail page's visitor is the owner of the item, they are also shown 2 buttons Edit and Delete. Edit button allows to change any info about the item and the Delete button removes the item's info. from the databse.
      • In the edit page, there's a checkbox for is_sold field. If this box is checked and then saved, the item won't appear in the browse or homepage anymore since those pages only show unsold items.
      • If the item is sold, it appears in the sold section of the user's dashboard. In such a case, the user can't edit the product.
    • If the visitor is not the owner of that item, the button Contact Seller appears. Here one can send a message to the owner of that item.
    • At the bottom of the detail page for an item, at most 3 item cards of the same category not owned by the logged in user will appear
  • The Inbox page lists the conversations for items where the sellers have been contacted. Clicking on a conversation leads one to the chatroom where one can send further messages to the seller.
  • For superusers, there is an additional button in the nav bar named Approval that lists all the items that haven't been approved by the superuser(admin). The admin clicks on an item that leads them to a page to mark the check box for approving the item to appear in homepage and browse page.
  • Statistics: A model named TotalSale is created that tracks the total number of products available for sale and their total value. Each day a Git Action script is automatically run(cron job) to run a separate python script, cron.py. This Python script accesses our Supabase DB's TotalSale table and updates it with every day's total number of products available for sale and their total value.
    • A purple button stats is added. Upon clicking it, users can view line charts of the total number of products available for sale and their total value for each day from the TotalSale table. chartjs is used to create these charts.

References

online-market-place-django's People

Contributors

rukshar69 avatar

Stargazers

 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.