Silver Group

  • Home
  • Deliverable A
  • Deliverable B
  • Deliverable C
  • Web Site Analysis
  • Deliverable D
  • Deliverable E
  • Deliverable F
  • Deliverable G
  • Project Description and Scope

    EasyCars is a website for purchasing and selling cars.  Users selling cars must register on the site and enter their car's information into our system.  The car listed for sale are then available to any user online (whether or not they are registered with the site).  The website provides an easy way to show a car for sale to many people that are looking to buy, and it provides an easy way for buyers to browse and compare cars for sale.  EasyCars is for any person that is interested in buying or selling a car.  Our site makes it easier to connect buyers with sellers so cars can be sold quicker with less effort than traditional, print advertisements.

    Overview of Application Changes

    (Reference TR 4.1.1) Consumers will be able to browse throughout the website and be able to manage new and used vehicles listings within their profiles.

    (Reference TR 4.1.2) Consumers will be able to sign on to their accounts with an email and password.

    (Reference TR 4.1.5) Consumers will be able to access their profiles and vehicle history.

    (Reference TR 4.1.7) Consumers will be able to create accounts to manage all transactions.

    (Reference TR 4.1.9) Consumers will be able to register and plan to finance their vehicles.

    Significant Algorithms

    SilverGroup.com will use MVC architecture, and the following package and class diagrams display the main functionality:

    Description of Classes

    • Consumer: Data entity for consumer’s attributes.
    • Address: Data entity for consumer’s address.
    • Payment: Data entity to store consumer’s payments.
    • PaymentType: Data entity for consumer’s use of method of payments.
    • Buying: Data entity for vehicle’s attributes.
    • Selling: Data entity for vehicle’s attributes.
    • VehicleCondition: Data entity for vehicle’s quality condition at the time of the purchase.
    • VehicleFinancing: Data entity linking consumer’s loan information with payment tracking.
    • ConsumerManager: Responsible for signing on, creating consumers, and making payments.
    • PurchaseManager: Data entity linking together a specific purchase with a specific consumer.
    • PurchaseEnrollment: Data entity linking the consumer and purchase to the specific date that it was bought.
    • EnrollmentManager: Responsible for adding/removing consumers and listing membership.


    Data Structures (Data Models and Tables)

    Tables

    CREATE TABLE Users (
    UserId     INTEGER PRIMARY KEY,
    FirstName  VARCHAR(63) NOT NULL,
    LastName   VARCHAR(63) NOT NULL,
    Address1   VARCHAR(63) NOT NULL,
    Address2   VARCHAR(63),
    City       VARCHAR(63)     NOT NULL,
    Zip        INTEGER NOT NULL,
    State      VARCHAR(63) NOT NULL,
    Phone      INTEGER    NOT NULL,
    Email      VARCHAR(64)     NOT NULL,
    Password   VARCHAR(64) NOT NULL,
    SellerType INTEGER    NOT NULL,
    UNIQUE (Email)
    );

    CREATE TABLE Orders (
    OrderId    INTEGER PRIMARY KEY,
    OrderDate  DATETIME,
    UserId     INTEGER,
    CreditType INTEGER,
    CardNumber VARCHAR(63),
    Expiration INTEGER,
    Amount     FLOAT
    );

    CREATE TABLE Cars (
    CarId      INTEGER PRIMARY KEY,
    Year       INTEGER NOT NULL,
    ModelId    INTEGER,
    UserId     INTEGER,
    Mileage    INTEGER,
    ExtColor   VARCHAR(63),
    IntColor   VARCHAR(63),
    BodyStyle  INTEGER,
    Trans      INTEGER,
    Engine     VARCHAR(63),
    Drive      INTEGER,
    Doors      INTEGER,
    Fuel       INTEGER   
    )

    CREATE TABLE Ads (
    AdId       INTEGER PRIMARY KEY,
    CarId      INTEGER,
    OrderId    INTEGER,
    Description     VARCHAR(1023),
    Expires    DATETIME NOT NULL,
    Active     BOOLEAN NOT NULL    
    );

    CREATE TABLE Makes (
    MakeId     INTEGER PRIMARY KEY,
    Name       VARCHAR(63) NOT NULL
    );

    CREATE TABLE Models (
    ModelId    INTEGER PRIMARY KEY,
    MakeId     INTEGER,
    Name       VARCHAR(63) NOT NULL
    );

    CREATE TABLE Options (
    OptionId   INTEGER PRIMARY KEY,
    Name       VARCHAR(63) NOT NULL
    );

    CREATE TABLE CarOptions (
    OptionId   INTEGER,
    CarId      INTEGER,
    PRIMARY KEY (OptionId, CarId)
    );

    CREATE TABLE Photos (
    PhotoId    INTEGER PRIMARY KEY,
    CarId      INTEGER,
    Name       VARCHAR(127),
    Location   VARCHAR(127) NOT NULL
    )

    Constraints

    ALTER TABLE Cars
    ADD CONSTRAINT fk_UserCars
    FOREIGN KEY (UserId)
    REFERENCES Users(UserId),
    ADD CONSTRAINT fk_CarModels
    FOREIGN KEY (ModelId)
    REFERENCES Models(ModelId)

    ALTER TABLE Orders
    ADD CONSTRAINT fk_UserOrders
    FOREIGN KEY (UserId)
    REFERENCES Users(UserId)

    ALTER TABLE Ads
    ADD CONSTRAINT fk_UserAds
    FOREIGN KEY (UserId)
    REFERENCES Users(UserId)
    ADD CONSTRAINT fk_AdOrder
    FOREIGN KEY (OrderId)
    REFERENCES Orders(OrderId)

    ALTER TABLE Models
    ADD CONSTRAINT fk_ModelMakes
    FOREIGN KEY (MakeId)
    REFERENCES Makes(MakeId)

    ALTER TABLE CarOptions
    ADD CONSTRAINT fk_OptionCars
    FOREIGN KEY (OptionId)
    REFERENCES Options(OptionId),
    ADD CONSTRAINT fk_CarPhotos
    FOREIGN KEY (CarId)
    REFERENCES Cars(CarId)

    ALTER TABLE Photos
    ADD CONSTRAINT fk_CarPhotos
    FOREIGN KEY (CarId)
    REFERENCES Cars(CarId)

    ERD Notations

    Interface Design

    Website Interface

    Mobile Interface

        

        

        

        

    Page Content Information

    Home Page

    The home page has a utilitarian based design.  The user can immediately search for used and new cars using the “Search Box” on the home page.  It also features a new car listing, and the user can click on a link which brings them to the details page for that car.  Like all pages on the site, the user can also go to the MyCars section to manage information associated with their account.

    Search Page

    Users looking for a more detailed/advanced search that what is presented on the home page can go to the search page.  Here the user can search for cars based on their features, specifications, keywords from the descriptions...etc.

    Search Results Page

    On this page users see the results of their search.  They can browse through the results page by page.  By clicking on the Car Details link the user can see all the details associated with that car as well as how to contact the owner.

    Car Details Page

    The Car Details page displays important information about the selected car.  It has information related to the features and specs of the car as well as a description, owner contact information and photos.

    My Cars Home Page

    From the main page of the My Cars section the user can click on links to the listing management page, email notifications page and account information page. 

    Listing Management Page

    This page allows users to edit or delete existing car listings as well as create new ones.  Each listing has a title, make, model, gas mileage, color, transmission (manual or automatic), number of doors and a description.  The user can also change the profile picture and put up multiple photos of the car.

    Email Notifications

    All current email notifications are shown on the email notification page. The user can change or delete an email notification or create a new email notification.  Each email notification contains a title and sends the user emails based on cars that fit the specified make, model, year range, price range and distance from a certain zip code. 

    Account Information

    Account information includes the user's name, address, city, state, zip code, email, phone and seller type (individual, dealership...etc.).  Users can edit any of this information on this page.

    About Us

    This page gives a basic description of the basic functions of the site and basic instructions to start for both buyers and ellers.

    Usability Testing

    1. Create a customer account. (Reference to TR 4.1.7)
      A user will create an account using their email address and a password they choose.  The email and password will give them access to user-specific areas of the site.
    2. Add, Edit or delete new auto advertisement. (Reference to TR 4.1.7)
      A user that has created an account can add a new ad, or they have the ability to edit or delete an ad that already exists and is associated with their user account.
    3. Register for financing. (Reference to TR 4.1.9)
      A user can register for car financing by providing their details and the car they are interested in buying.
    4. Search autos by different attributes. (Reference to TR 4.1.1)
      A user can do a customized search based on the attributes of the car.  This will include ranges for values like price and checkboxes for things like car options.
    5. Retrieve a lost  password. (Reference to TR 4.1.2)
      A user can supply their email address and receive an email with a temporary password that can be used to access their account.

    Web and mobile site

    Website link: http://ectweb.cs.depaul.edu/aalbu/ect455/project/home.php

    Mobile link:

     

    Asad: Usability Testing, Web and mobile site deliverable
    Ben : Data Structures (Data Models and Tables), Project Description and Scope
    Matt: Interface Design, Page Content information
    Betsy: Overview of Application Changes, Significant Algorithms