CherryAuctions: Official SRS Checklist

1. Guest Role

1.1. Menu System

  • Display all categories
  • Categories have at least 2 levels

1.2. Home Page

  • Top 5 ending soon products
  • Top 5 products with most bids
  • Top 5 products with highest bids

1.3. Products Catalog

  • Pagination
  • From categories

1.4. Products Searching

  • Full-text Search
  • Search by name
  • Search by category
  • Paginated results
  • Ordered results
    • Ending time
    • Price
  • New products (within some minutes) have emphasis
  • Product Display on Catalog
    • Thumbnail
    • Name
    • Current Price
    • Current Highest Bid
    • BIN price
    • Posted date
    • Remaining time
    • Number of bids

1.5. Products Details

  • All content of the product
    • Thumbnail
    • Other images
    • Product name
    • Current price
    • BIN price
    • Seller info & rating
    • Highest bidder info & rating
    • Posted date
    • Expired at
    • Relative expired in if less than 3 days
    • Description
  • Questions and Answers
  • Similar products

1.6. Registration

  • reCaptcha
  • Passwords are hashed
  • Information
    • OTP
    • Email
    • Name
    • Address

2. Bidder Role

2.1. Watch List

  • Can add/remove from catalog
  • Can add/remove at details page

2.2. Bid

  • At details page
  • Allowed only if product allows it, or rating is 80% or greater.
  • System enforces a reasonable bid (current bid + bid step at least)
  • Confirmation dialog for bidding

2.3. Bidding History

  • All bids are masked
  • Needs to show price and time, and a masked name

2.4. Question

  • At details page
  • Seller receives email when someone asks a question

2.5. Profile Management

  • Change email, name
  • Change password (requires old password)
  • View total rating and all ratings
  • View favorites / watch list
  • View current bids
  • View won auctions
    • Rate the product’s seller (+1) or (-1), with a feedback

2.6. Request Seller privileges

  • Bidder can request to be a seller
  • Admin can approve or reject

3. Seller Role

3.1. Post an Auction

  • Product name
  • At least 3 images
  • Starting bid
  • Bid step
  • BIN price (optional)
  • Description
    • WYSIWYG
  • Auto extends

3.2. Editing a Description

  • Modify the description of a posted product
  • New changes are appended to the old description, but can’t replace them

3.3. Deny a Bidder

  • At details page
  • A denied bidder can no longer bid on a product
  • If the bidder gets denied, the highest bid is moved to the second highest

3.4. Answer a User

  • At details page

3.5. Profile Management

  • View my auctions
  • View expired auctions
    • Can rate or feedback on the highest bidder
    • Can cancel the auction and automatically mark as -1 with a description “Bidder did not follow through”

4. Admin Role

4.1. Categories

  • Can’t delete a category with a product
  • View all
  • View details
  • Add
  • Delete
  • Edit

4.2. Products

  • Can remove an auction

4.3. Users

  • Basic management tools
  • View bidders requesting privileges
  • Can approve

4.4. Dashboard

  • Charts on auctions, pricing, new users, new sellers

5. General Role

5.1. Login

  • Login
  • (Optional) add Oauth

5.2. Update Profile

  • Name
  • Email

5.3. Change password

  • Both passwords are hashed with bcrypt or scrypt or similar

5.4. Forgot password

  • OTP code

6. System

6.1. Mailing System

  • New bid, to seller, to bidder, to previous bidder
  • When bidder is denied the bid to bidder
  • Auction expired to seller
  • Auction ended to seller and winner
  • User questions, to the bidder
  • Seller answers, to the questioner, and all current bidders, or questioned

6.2. Automated bidding (Optional)

  • Bidder sets a maximum price
  • The product will kept getting bidded on if possible
  • If 2 bidders have the same price, then the one who bidded first wins.

6.3. Payment System

  • When auction ends, the detail page can lead to the “checkout”
  • Other bidders just see: Auction ended
  • Checkout flow:
    • Through Stripe
    • Winner sends the address
    • Seller confirms delivery
    • Winner confirms received
    • Transaction over, and the two rate each other
  • The seller can cancel, and automatically mark the winner as -1.
  • Chat interface for completing the product

7. Others

These requirements are non-negotiable.

7.1. Technical

  • Web App with Client-side rendering
  • Backend is RESTful
  • Backend Requirements
    • Swagger
    • Validation on all routes
    • Logging and monitoring (ELK stack or similar)
    • Security with JWT key pair
  • Frontend
    • Client-side router
    • Form processing and Validation
    • State management
    • Same design system for entire website

7.2. Data

  • At least 20 products, with descriptions and images
  • Products need at least some bids

7.3. Source Management

  • Github (non-negotiable, course fail if not checked)

Back to top

© Nguyệt Ánh 2025. Licensed under CC BY-SA 4.0.

This site uses Just the Docs, a documentation theme for Jekyll.