SlideShare a Scribd company logo
1 of 34
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 Lin
2
Team Roles
• Artur Musin
• Site base
• Ad handling
• Database development
• Sean Martinez
• User handling
• Message handling
• Backend functions
3
“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 Testing
5
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 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
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
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

More Related Content

What's hot

Mobile app development converted
Mobile app development convertedMobile app development converted
Mobile app development converted
Sandy Gupta
 
PPT for webinar- AppCompany
PPT for webinar- AppCompanyPPT for webinar- AppCompany
PPT for webinar- AppCompany
Gunika Arora
 

What's hot (20)

How apps makemoney
How apps makemoneyHow apps makemoney
How apps makemoney
 
Auto
AutoAuto
Auto
 
Salons
SalonsSalons
Salons
 
Auto
AutoAuto
Auto
 
Legal
LegalLegal
Legal
 
Legal
LegalLegal
Legal
 
App monetization
App monetizationApp monetization
App monetization
 
Mobile app development converted
Mobile app development convertedMobile app development converted
Mobile app development converted
 
BechDe App
BechDe AppBechDe App
BechDe App
 
Infozone detailed pitch Feb 2013
Infozone detailed pitch Feb 2013Infozone detailed pitch Feb 2013
Infozone detailed pitch Feb 2013
 
Appsvswebsites2
Appsvswebsites2Appsvswebsites2
Appsvswebsites2
 
Sitecore Mobile Apps
Sitecore Mobile AppsSitecore Mobile Apps
Sitecore Mobile Apps
 
Safeshare - MARKETING PLAN FOR AN ANDROID APP
Safeshare - MARKETING PLAN FOR AN ANDROID APPSafeshare - MARKETING PLAN FOR AN ANDROID APP
Safeshare - MARKETING PLAN FOR AN ANDROID APP
 
Travel guide
Travel guideTravel guide
Travel guide
 
PPT for webinar- AppCompany
PPT for webinar- AppCompanyPPT for webinar- AppCompany
PPT for webinar- AppCompany
 
Marketing Plan for an App ( Parking Finder!)
Marketing Plan for an App ( Parking Finder!)Marketing Plan for an App ( Parking Finder!)
Marketing Plan for an App ( Parking Finder!)
 
Promoting your business on mobile devises
Promoting your business on mobile devisesPromoting your business on mobile devises
Promoting your business on mobile devises
 
How To Get Low CPI High Value Users Via Mobile Ad Networks by Naghi Prasad
How To Get Low CPI High Value Users Via Mobile Ad Networks by Naghi PrasadHow To Get Low CPI High Value Users Via Mobile Ad Networks by Naghi Prasad
How To Get Low CPI High Value Users Via Mobile Ad Networks by Naghi Prasad
 
Prototyping Mobile Application with Adobe FireWorks - By Linus Lim for VOX LAB
Prototyping Mobile Application with Adobe FireWorks - By Linus Lim for VOX LABPrototyping Mobile Application with Adobe FireWorks - By Linus Lim for VOX LAB
Prototyping Mobile Application with Adobe FireWorks - By Linus Lim for VOX LAB
 
Presentazione shopapp
Presentazione shopappPresentazione shopapp
Presentazione shopapp
 

Similar to ZygurAds.com Classified Ads Website

Google Value Sitesearch
Google Value SitesearchGoogle Value Sitesearch
Google Value Sitesearch
Juan Pittau
 
Website Benchmarking Eng
Website Benchmarking EngWebsite Benchmarking Eng
Website Benchmarking Eng
guest60827d8
 
The Click Engine Review: Unlocking Authentic Buyer Traffic in 2023
The Click Engine Review: Unlocking Authentic Buyer Traffic in 2023The Click Engine Review: Unlocking Authentic Buyer Traffic in 2023
The Click Engine Review: Unlocking Authentic Buyer Traffic in 2023
NoorEAlamMajumdarZit
 

Similar to ZygurAds.com Classified Ads Website (20)

Business Procedure Modelling and Digitization Toolbox - Master Thesis - Kamal...
Business Procedure Modelling and Digitization Toolbox - Master Thesis - Kamal...Business Procedure Modelling and Digitization Toolbox - Master Thesis - Kamal...
Business Procedure Modelling and Digitization Toolbox - Master Thesis - Kamal...
 
Epam BI - Near Realtime Marketing Support System
Epam BI - Near Realtime Marketing Support SystemEpam BI - Near Realtime Marketing Support System
Epam BI - Near Realtime Marketing Support System
 
Digital marketing
Digital marketingDigital marketing
Digital marketing
 
Google Analytics tutorial by Jay Murphy
Google Analytics tutorial by Jay Murphy Google Analytics tutorial by Jay Murphy
Google Analytics tutorial by Jay Murphy
 
Agency Utilizes UX Research to Balance Form & Function
Agency Utilizes UX Research to Balance Form & FunctionAgency Utilizes UX Research to Balance Form & Function
Agency Utilizes UX Research to Balance Form & Function
 
Digital marketing tools online
Digital marketing tools onlineDigital marketing tools online
Digital marketing tools online
 
Creativehead Technology Company Profile
Creativehead Technology Company ProfileCreativehead Technology Company Profile
Creativehead Technology Company Profile
 
Florian Pertynski session at Google Partner Summit Review
Florian Pertynski session at Google Partner Summit Review Florian Pertynski session at Google Partner Summit Review
Florian Pertynski session at Google Partner Summit Review
 
Automated Contractor
Automated ContractorAutomated Contractor
Automated Contractor
 
How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...
How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...
How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...
 
ecommerce analytics with BigQuery ML
ecommerce analytics with BigQuery MLecommerce analytics with BigQuery ML
ecommerce analytics with BigQuery ML
 
05-Apifier pitch deck 2016 to publish.pdf
05-Apifier pitch deck 2016 to publish.pdf05-Apifier pitch deck 2016 to publish.pdf
05-Apifier pitch deck 2016 to publish.pdf
 
Google Value Sitesearch
Google Value SitesearchGoogle Value Sitesearch
Google Value Sitesearch
 
Digital marketing and site monitoring full report
Digital marketing and site monitoring full reportDigital marketing and site monitoring full report
Digital marketing and site monitoring full report
 
AI-Powered SEO with Botify: Automation in Prevention, Execution, and Implemen...
AI-Powered SEO with Botify: Automation in Prevention, Execution, and Implemen...AI-Powered SEO with Botify: Automation in Prevention, Execution, and Implemen...
AI-Powered SEO with Botify: Automation in Prevention, Execution, and Implemen...
 
Website Benchmarking Eng
Website Benchmarking EngWebsite Benchmarking Eng
Website Benchmarking Eng
 
Google Business Model
Google Business ModelGoogle Business Model
Google Business Model
 
Tutorial 10 (computational advertising)
Tutorial 10 (computational advertising)Tutorial 10 (computational advertising)
Tutorial 10 (computational advertising)
 
Google Analytics 4 : The Next Generation of Digital Analytics - Benjamin Kepn...
Google Analytics 4 : The Next Generation of Digital Analytics - Benjamin Kepn...Google Analytics 4 : The Next Generation of Digital Analytics - Benjamin Kepn...
Google Analytics 4 : The Next Generation of Digital Analytics - Benjamin Kepn...
 
The Click Engine Review: Unlocking Authentic Buyer Traffic in 2023
The Click Engine Review: Unlocking Authentic Buyer Traffic in 2023The Click Engine Review: Unlocking Authentic Buyer Traffic in 2023
The Click Engine Review: Unlocking Authentic Buyer Traffic in 2023
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

ZygurAds.com Classified Ads Website