Giter Club home page Giter Club logo

auctionapp's Introduction

My Personal Project: C-Auction

Car Auction Application

The application will be similar to services such as Craiglist, eBay and Facebook Marketplace. It will have different cars that are available for auction on the application that the user can view, and potentially can place a bid on if they choose to. Some features will include a system to check if you won the bid, or if you want to put your own listing up for auction.

Anyone who wants to sell their cars to people across the country can use this application, instead of getting lowballed for trade in value at a car dealership, or on a classifieds page where people are known to have sketchy and unreliable experiences.

I find existing services incomplete and have a poor user interface. For example, Craiglist still looks like its from the 1990s when the internet first began to become mainstream. There is also no concrete service that provides a clean car auction experience for the average person, unless you want to buy extremely high end or imported Japanese vehicles.

User Stories:

  • As a user, I want to be able to place a bid for a car that is listed in the system
  • As a user, I want to add my own car into the list of cars up for auction
  • As a user, I want to be able to delete my listing that was previously created
  • As a user, I want to be able to check if I won or lost the bid on a car
  • As a user, I want to be able to load a file that contains existing listings
  • As a user, I want to be able to have my listing, that was added, to be reloaded from a file and resume from where I left off if I quit

Instructions for Grader

  • You can add your own car listing by clicking on the 'View current listings' button and filling out the info on the next page, then clicking the 'Add car to listings' button
  • You can remove your car listing by clicking on the 'Remove your listing' button
  • You can locate an image on the main screen or on the 'View current listings' screen.
  • You can also hear a sound effect being played if either one of the first three buttons are pressed, along with the 'Save listings file' button
  • You can save the state of my application by clicking on the 'Save listings file' button
  • You can reload the state of my application by clicking on the 'Load listings file' button

Phase 4: Task 2

I chose to implement Option 1, where I added a IndexOutOfBoundsException to getCar() in the Cars class to make sure that the Cars object has been initialized before proceeding with anything further
By making the following classes more robust, it will ensure that the program will cause less errors for the user and cause a much smoother experience: GUI | loadCarListings() / removeListing() / addCarToListings(), CarsTest | testGetCarExpectedException() & testGetListingsAndExceptionFails(), ReaderTest | testParseCarsFile(), WriterTest | testWriteCarListing()

Phase 4: Task 3

  • The first change was to declare my main menu buttons as global and create a method to initialize them in my GUI constructor, as it was not following the single responsibility principle
  • The second change was noticed while coding my GUI class, I realized that many repetitive tasks were occurring. I made a method that would take a JPanel, and a JButton as arguments, and would create the settings of the button and add it to the given panel. This was done in order to avoid cohesion, and to make the method reusable for other panels within the class.
  • The third change I did was make to make methods to initialize all panels in the GUI constructor to avoid duplication of the labels and buttons in them. This also helps for the single responsibility principle, and prevents coupling in later methods.

auctionapp's People

Contributors

pkhiani avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

kyy0809

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.