Git Product home page Git Product logo

cs50_commerce's Introduction

Hi there ๐Ÿ‘‹

  • ๐Ÿ’ฌ Ask me about almost anything bicycle related
  • ๐Ÿ˜„ Pronouns: He/Him

cs50_commerce's People

Contributors

eld120 avatar

Watchers

 avatar

cs50_commerce's Issues

Bids should not be negative

##Story
As a user I want to be able to bid on any active listing so that I have a chance of winning the auction.

##Problem
Unfortunately currently users may submit negative bids to the db. This will not allow them to become the winning bidder but they will add cash to their account as an unintended consequence.

##Proposed Solution
-Add validation to the Bid model that raises an error if a user attempts to submit a negative bid
-create tests for negative bids

End Listing (manual)

Owners of the listing should be able to manually/end a listing early from the listing detail view. This action should trigger the listing to end and for the highest bidder (if one exists) to be marked as the winner of the auction.

User "Credit Card"

As an auction website we need a way to keep track of user spending without subtracting money from a user's account.

  • initial plan was to implement credit as a user property that would keep track of how much money a user has outstanding/to be withdrawn if/when the user win's an auction

Watchlist functionality

Users should be able to add/remove listings from their watchlist from the listing detail view.

create unit and E2E tests to validate functionality

Implement code quality best practices

As a new team we would like to implement a set of code standards to maximize code quality in our effort to find/correct bugs and maximize code readability so that contributors can minimize stress and maximize productivity.

User Cash and Credit

Users should be able to bid on listings up to the full value of their cash on hand using their credit attribute.

  • Users bid on listings using credit which is withdrawn from their account using cash.
  • Users bidding on the same listing more than once should only have their highest bid counted against their credit.
  • Credit is released when a listing ends or is closed by the listing owner.
  • Cash is withdrawn from the auction winner at the end of the listing equal to the auction winner's bid.

Bid must exceed value of previous bids

As a auction admin I want users to be forced to exceed the current bid value if they are going to bid so that the auction experience matches what we would expect in real life.

Bid validation

Problem Statement

Users can submit a bid in fractions of a penny - eg $xx.xxx instead of $XX.XX

Proposed Solution

additional form validation on the front end (I think this is sufficient)

Address datetime errors in the Listing model

As a developer/site admin I want my datetime objects to be saved and served as within django's best practices so that all users experience the site as intended (auctions start and end at the correct time for a given user's time zone).

Listing Countdown timer

Problem Statement
As an end user I should be able to tell from the listing detail page when the auction is going to end.

Proposed Solution
Implement a timedelta in django and decrement the timedelta in JS on the front end. (I think)

Implement Task Queue/message broker

Looking at Redis/Celery for the following:

  • implement a task queue
  • implement a message broker
  • implement caching/caching policies for frequently requested db queries or rendered templates

Automatically end Listings

As a website superuser/admin I want Listings to automatically end when the Listing.end_date is reached/exceeded so that the auction schedule may proceed as planned

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.