patryk-wloch / auction-house

Online auction system (eBay-like) - university databases project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Auction House

This is the UCL COMP0022 group database project. Keep calm and bid high!

Table of contents generated with markdown-toc

Code Statistics

-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
PHP                             21            356            128           1647
Markdown                         5            243              0            981
SQL                              1             63            107            308
-------------------------------------------------------------------------------
SUM:                            27            662            235           2936
-------------------------------------------------------------------------------

Progress

  • Two versions of ER diagram
  • Attribute list
  • Revision of ER diagram
  • Database first design
  • Azure (except sending email)
  • report
  • demo video

Database progress

  • referential integrity
  • system event
  • engine
  • winner
  • complete and consistent dummy data
  • merge address and telNo as userCont
  • (optional) email & transaction hash
  • (advanced optional) query optimization
  • (advanced optional) backup and restoring database
  • (advanced optional) co-occurrence
  • (advanced optional) safety (prevent sql-injection)

Coding progress

☑ Feature 1 ☑ Feature 2 ☑ Feature3 ☑ Feature4 ☑ Feature 5 & 6
☑ log in
☑ regirstration
☑ roles (privileges)
☑ create auction
☑ input auction data
☑ store auction data
☑ search auction
☑ sort
☑ create bid
☑ list bids
☑ close auction
☑ email watchlist
☑ email outbid
☑ recommendation

Cross

  • account page

browse.php

  • the bid out of date
  • (for aesthetics) category value can not use blank, ',',and'&'; need to change the $post[cat] since after successfully creating an auction, it will show value like "category: SportsandHobbies"
  • print an informative message
  • (for aesthetics) change the CSS of the line showing total number of reslults
  • (optional) user can input page number to switch
  • (optional) user can choose how many auctions listed in one page

create_auction.php

  • (can not give float when giving price)

create_auction_result.php

  • (make pop a function)

Killing Bugs

  • fail to place a bid (fixed by change "require 'utilities.php'" to "require_once")
  • recommend page redeclare runModal()
  • missing bids for buyer 1 & 2
  • pagination arrow wrong display when there's no result for a search
  • registration password requirements wrong
  • triggers
  • (optional) watching trigger
  • garbled chracters
  • Change info after placing bid. (currently shows 'registration result.')
  • watchlist
    • remove it from seller perspective
    • existing auctions on watchlist can be seen, but they cannot be removed
    • auctions cannot be added into watchlist
    • (optional) once bid for an auction on watchlist, it should be removed from the list
  • auction
    • missing auctions on mylisting
    • error message after creating auction
    • reserve price check fails when placing a new bid
    • auction pass
    • (optional) calendar language does not match with other parts and calendar does not like Safari
  • winner & bid status
    • winner event does not work
    • bid status 1 to 0 when placing a new bid
  • telNos are not inserted into the database
  • 'increment' is not used
  • some early users lack address dummy data
  • (optional) email is recognized as spam
  • visual style
    • (optional) search bar align to the both edge.
    • (optional) size of arrow

Tricks

  1. MySQL Event Scheduler does not work
  • First check the event scheduler status:
select @@event_scheduler;

show variables like 'event_scheduler';

show events;

show processlist;
  • One-time open:
SET GLOBAL event_scheduler = ON;
  • Permanent open:

    For WAMP , add event_scheduler=on under [mysqld] in my.ini. Restart the WAMP services, the event shall begin to execute.

  1. Environment configuration for sending email from WAMP server with fake sendmail

Optional Features

  1. ratings
  2. administrator
  3. user as superclass
  4. subcategory
  5. combination of items
  6. dynamic page (Countdown, immediate new bid notification)
  7. account data update

Additional Resources

  1. What attributes should be assigned to relationships and what for entities?

  2. Choosing a Primary Key: Natural or Surrogate?

  3. Connect an existing Azure App Service to Azure Database for MySQL server

  4. Migrate your MySQL database by using import and export

About

Online auction system (eBay-like) - university databases project


Languages

Language:PHP 99.8%Language:Hack 0.1%Language:CSS 0.1%