Git Product home page Git Product logo

wizardsbay's Introduction

Wizardsbay

Wizardsbay is a clone of ebay web services. It provides basic functionality such as creating an account, posting items, and placing a bid.

Outline

  • Store information about users
  • Allow user to authenticate
  • Store information about items
  • Store/track information about bids, auctions
  • Make bids
  • View/search for items that are available
  • Record and present feedback between buyers and sellers
  • Access & modify stored information via an API of some sort (in JSON format)
  • Email notification for customers
  • Implement testing to ensure everything is working together as expected

More for nerds

  • Web Host: Heroku
  • Database: Postgres
  • Dropwizard framework
  • DB control: Liquibase Migrations
  • Jackson JSON/Java parser Library
  • Dependency manager: Maven
  • Testing Framework: Junit
  • Continuous Integration: Codeship
  • Documentation: Swagger
  • Email plugin: Mailgun plugin
  • Scheduler: Quartz

Running The Application

  • To package the application

      mvn package
    
  • To setup the postgres database

      java -jar target/ebay-clone-0.9.2.jar db migrate configuration.yml
    
  • To run the server

      java -jar target/ebay-clone-0.9.2.jar server configuration.yml
    

End points

Item

  • Creates an item in the database given that item
    POST /item

  • Finds all active items in the database
    GET /item/active

  • Finds all matching items in the database
    GET /item/search/{key}

  • Finds an item by id
    GET /item/{id}

  • Updates an item in the database given the item with updated information
    PUT /item/{id}

  • Deletes an item from the database by ID
    DELETE /item/{itemId}

Bids

  • Creates an bid in the database given the bid
    POST /item/{itemId}/bids

  • Finds the current highest bid for an item by the item id
    GET /item/{itemId}/bids/highest

  • Finds all bids for a specified item given the item id
    GET /item/{itemId}/bids/history

  • Deletes a bid by it's id
    DELETE /item/{itemId}/bids/{bidId}

  • Finds a bid by it's id
    GET /item/{itemId}/bids/{id}

User

  • Creates a user in the database given the user
    POST /user

  • Deletes a specified user from the database by username
    DELETE /user/{username}

  • Finds and returns a user from the database by username
    GET /user/{username}

  • Updates a certain user with new information given the user with updated information
    PUT /user/{username}

  • Finds all items linked to the specified user by username
    GET /user/{username}/items

Feedback

  • Creates a feedback in the database for specified user given the feedback
    POST /user/{username}/feedback

  • Finds all feedback for a user by username
    GET /user/{username}/feedback/all

  • Deletes a feedback from the database by id
    DELETE /user/{username}/feedback/{feedbackId}

  • Finds feedback by it's id
    GET /user/{username}/feedback/{id}

wizardsbay's People

Contributors

viveks91 avatar amalajoshy avatar johnewart avatar ronin3451 avatar

Watchers

James Cloos 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.