zygurads.com classified ads website

Post on 07-Jul-2015

514 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Got tired of long Ads? Spending to much timer searching for relevant Ads? Want to search Ads around your location ? ZygurAds will solve your problems ! You can search Ads using listing search, or search directly on the map around you ("radar search"). http://www.zygurads.com/ Buy "Walking On Clouds" on

TRANSCRIPT

1

Search Engine for “Zygura” Classified Ads

Website

by the “Aspiring Developers”:

Team Leader: Artur Musin

Team Quality Checker: Sean Martinez

Technical Advisors:

Pamela Price & Hong Lin2

Team Roles

• Artur Musin

• Site base

• Ad handling

• Database development

• Sean Martinez

• User handling

• Message handling

• Backend functions3

“Zygura” Features

• Publish Ads

• View Ads as a Listing

• View Ads on the Google Map

• Quick access to Ad details and images

• Flexible search by various criteria

• Handy user-to-user communication 4

“Zygura” Advantages

• Clean & User friendly interface

• Browsing and searching without page reloads

• Quick access to an Ad content and its images

• Quick and simple communication mechanism

• Unobtrusive client-side forms input validation

• Decoupled code base for facilitating Unit Testing5

Problem

• Users have to browse the full ad list

• Ads contain too much information

• Time is wasted skimming through

irrelevant ads 6

Design Patterns used

7

• MVC (Model-View-Controller)

• Unit of Work (Repository)

• Service Locator (Inversion of Control container)

• Composition Root (Modules Dependency Inversion)

• Dependency Injection (Class Constructor Injection)

• Factory pattern

• Iterator pattern

• Observer pattern

• Decorator pattern

• Strategy pattern

• Singleton pattern

• Façade pattern

Design Principles used (S.O.L.I.D.)

8

• Single Responsibility principle

(class should have only one responsibility)

• Open-Closed principle

(class should be opened for extension and closed to modification)

• Liskov Substitution principle

(subtypes should be substitutable for its base types)

• Interface Segregation principle

(interfaces should not be “fat”)

• Dependency Inversion principle

(depend upon abstraction, not upon concretion)

ERD Diagram

9

Architectural Scheme - MVC

10

Modular Scheme

11

Database Entities

Business LogicUser Interface

Modules Decoupling for Unit Testing

12

Search Activity Diagram #1

13

www.zygura.net/ad/search?image=true&categ=car&city=Cupertino&priceMin=100&priceMax=1000&searchText=tesla_model_s

www.zygura.net/ad/search?image=true&categ=car&city=Cupertino&priceMin=100&priceMax=1000&searchText=tesla_model_s

14

Search Activity Diagram #2

Register New User Page

15

Login User Popup

16

Publish Ad UI

17

Ads List Search

18

Advanced Search UI

19

Ads List Page

20

Displaying Single Ad

21

Responding to Ad’s Host

22

Routing Directions Popup

23

Google Map “Radar Search”

24

Map Advanced Search Page

25

Ad Details Page

26

User Profile Ads Management

27

User Messages Page

28

Admin’s Backend Page

29

Unit Testing

30

Integration Testing

Test Data Expected Results Actual ResultsTest Status (Pass, Fail, Not Tested)

Tested By Comments Corrective Action

What data will be used

What should the module do

What actually occurred

Outcome Who did the test Any commentsWhat was done to

fix the problem

Textual information along with images

All manually added Ads must be displayed on the webpage after clicking Search button

List of ads was returned to user

Pass Artur Musin There were no problems

Textual information along with images

All manually added Ads must be displayed on the webpage after clicking Search button

Array of ads was returned to the Google map

Pass Artur Musin There were no problems

Simple text and images

Ad record should be added to the database

A new record appeared in the dbo.Ads table

Pass Artur Musin There were no problems

Already precreated ads in the database

A record should disappear from Database

A record was removed from dbo.Ads table

Pass Artur Musin There were no problems

Already precreated ads in the database

A record should change its state

A record was successfully updated

Pass Artur Musin There were no problems

31

User Acceptance Testing

ActivityLead

ResponsibilityDate Result

Search Engine

workingArtur Musin 6/24/2013 No problems

Map Search

workingArtur Musin 6/24/2013 No problems

Publishing Ads

workingArtur Musin 6/24/2013 No problems

Editing Ads

workingArtur Musin 6/24/2013 No problems

Deleting Ads

working Artur Musin 6/24/2013 No problems

32

Lessons Learned

• Decoupled modules make code editing and updates cleaner

• Interfaces make classes more flexible

• The biggest challenge of the MVC code structure is transferring data from one module to another

33

34

top related