Skip to content

Command line auction system storing eBay JSON data into SQLite database

Notifications You must be signed in to change notification settings

abbytse/AuctionBase

 
 

Repository files navigation

AuctionBase

Database management project that bulk loads historic eBay data in JSON format into a SQLite Database via a python parser. Searches, bids, and purchases are made using commandLine.py, which takes command line arguments and converts those into a query in the SQlite Database. Triggers were implemented to avoid collisions or invalid data entries.

Technologies and tools used: Python, SQLite, Shell Scripting

Authors: Zachary Dulac, Trung Nguyen, Abby Tse


Part 1.A: Design relational schema
  • Users(User_ID, Rating, Location, Country)
  • Items(Item_ID, Seller_ID, Name, Buy_Price, First_Bid, Currently, Number_of_Bids, Started, Ends, Description, Open)
  • CategoriesOf(Item_ID, Category)
  • Categories(Category)
  • Bids(Item_ID, User_ID, Time, Amount)
Part 1.B: Implement parser
  • Finish parser.py. Use Command:
python zat_parser.py ./ebay_data/items-*.json
  • Clean .dat files - remove duplicates and sorts. Use Commands:
sort -k1 -u -o items.dat items.dat
sort -k1 -u -o categoryOf.dat category.dat
sort -k1 -u -o users.dat users.dat
sort -k1 -u -o bids.dat bids.dat

cat categoryOf.dat | awk -F"|" '{print $2}' > category.dat
sort -k1 -u -o category.dat category.dat
  • Automate Part1.A + B: sh runParser.sh
Part 2: Load eBay data into SQLite and test SQL database
  • Use Command: sh createDatabase.sh
Part 3: Implement command line query
  • Use Command: python commandLine.py <option> <argument>
  • Ability to browse auction of interest based on the following input parameters:
    • item ID
    • category
    • item description
    • price
    • open/closed status
  • Test implementation using: sh implement.sh

About

Command line auction system storing eBay JSON data into SQLite database

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 70.8%
  • PLpgSQL 15.4%
  • Shell 11.5%
  • PLSQL 2.3%