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.
(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.
SilverGroup.com will use MVC architecture, and the following package and class diagrams display the main functionality:
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
)
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)
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.
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.
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.
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.
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.
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.
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 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.
This page gives a basic description of the basic functions of the site and basic instructions to start for both buyers and ellers.
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