0
1
Search Engine for
“Zygura” Classified Ads
Website
by the “Aspiring Developers”:
Team Leader: Artur Musin
Team Quality Chec...
Team Roles
• Artur Musin
• Site base
• Ad handling
• Database development
• Sean Martinez
• User handling
• Message handli...
“Zygura” Features
• Publish Ads
• View Ads as a Listing
• View Ads on the Google Map
• Quick access to Ad details and imag...
“Zygura” Advantages
• Clean & User friendly interface
• Browsing and searching without page reloads
• Quick access to an A...
Problem
• Users have to browse the full ad list
• Ads contain too much information
• Time is wasted skimming through
irrel...
Design Patterns used
7
• MVC (Model-View-Controller)
• Unit of Work (Repository)
• Service Locator (Inversion of Control c...
Design Principles used
(S.O.L.I.D.)
8
• Single Responsibility principle
(class should have only one responsibility)
• Open...
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&sea...
www.zygura.net/ad/search?image=true&categ=car&city=Cupertino&
priceMin=100&priceMax=1000&searchText=tesla_model_s
14
Searc...
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 Results
Test Status (Pass,
Fail, Not Tested)
Tested By Comments Corr...
User Acceptance Testing
Activity
Lead
Responsibility
Date Result
Search Engine
working
Artur Musin 6/24/2013 No problems
M...
Lessons Learned
• Decoupled modules make code editing and updates cleaner
• Interfaces make classes more flexible
• The bi...
34
Upcoming SlideShare
Loading in...5
×

ZygurAds.com Classified Ads Website

510

Published on

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

Published in: Technology, Design
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
510
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "ZygurAds.com Classified Ads Website"

  1. 1. 1
  2. 2. 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 Lin 2
  3. 3. Team Roles • Artur Musin • Site base • Ad handling • Database development • Sean Martinez • User handling • Message handling • Backend functions 3
  4. 4. “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
  5. 5. “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 Testing 5
  6. 6. Problem • Users have to browse the full ad list • Ads contain too much information • Time is wasted skimming through irrelevant ads 6
  7. 7. 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
  8. 8. 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)
  9. 9. ERD Diagram 9
  10. 10. Architectural Scheme - MVC 10
  11. 11. Modular Scheme 11 Database Entities Business LogicUser Interface
  12. 12. Modules Decoupling for Unit Testing 12
  13. 13. Search Activity Diagram #1 13 www.zygura.net/ad/search?image=true&categ=car&city=Cupertino &priceMin=100&priceMax=1000&searchText=tesla_model_s
  14. 14. www.zygura.net/ad/search?image=true&categ=car&city=Cupertino& priceMin=100&priceMax=1000&searchText=tesla_model_s 14 Search Activity Diagram #2
  15. 15. Register New User Page 15
  16. 16. Login User Popup 16
  17. 17. Publish Ad UI 17
  18. 18. Ads List Search 18
  19. 19. Advanced Search UI 19
  20. 20. Ads List Page 20
  21. 21. Displaying Single Ad 21
  22. 22. Responding to Ad’s Host 22
  23. 23. Routing Directions Popup 23
  24. 24. Google Map “Radar Search” 24
  25. 25. Map Advanced Search Page 25
  26. 26. Ad Details Page 26
  27. 27. User Profile Ads Management 27
  28. 28. User Messages Page 28
  29. 29. Admin’s Backend Page 29
  30. 30. Unit Testing 30
  31. 31. Integration Testing Test Data Expected Results Actual Results Test 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 comments What 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
  32. 32. User Acceptance Testing Activity Lead Responsibility Date Result Search Engine working Artur Musin 6/24/2013 No problems Map Search working Artur Musin 6/24/2013 No problems Publishing Ads working Artur Musin 6/24/2013 No problems Editing Ads working Artur Musin 6/24/2013 No problems Deleting Ads working Artur Musin 6/24/2013 No problems 32
  33. 33. 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. 34. 34
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×