Tallinn University of Technology

Quarti.ru real estate expert system

Vision analysis document

Date / Author / Version
17.05.2009 / Artjom Kurapov / V1.0

Tallinn, 2009

1  Introduction

Real estate is one of the most complex objects that customers have trouble choosing. Among others are cars, laptops etc. The complexity is caused by the overwhelming number of properties and parameters that object has and possibly even bigger number of requirements that customer may have.

1.1  Purpose

The purpose of this document is to describe a vision of expert system “Quarti.ru” (further – just project) as solution to finding real estate objects faster and with less complications. The structure of this document partially follows Rational Unified Process vision template. Thus it is dealing with information web-system as an implementation of artificial intelligence theories, which is a subdivision if information sciences, Dewey Classification under 006.

1.2  Background

So far the market has many services for real estate search which can be considered as rivals. Most popular existing services in Estonia are kv.ee and city24.ee. The difference is that all of these services are data-specific, not client-specific.

Quarti.ru project so far had only vision, platform for development and partial database structure until now. This document describes technical development done since 01.04.2009 and what should be done next. Development team so far consists of only one developer.

1.3  Scope

Project is intended for Baltic and Russian web market. Considering statistics of kv.ee of 44 thousand objects for Estonia and dom.ru statistics of 82 thousand for Russia it can be concluded that estimated goal is 100 thousand objects for overall Eastern Europe region. Having 10 MB quota per object (for text data and images) a total of 1 TB will be required at its peak. It is estimated to have load of 3000 unique visitors per working day.

Target audience consists of the following social groups:

·  Families in search of buying or renting apartment (or house)

·  Real estate owners seeking to sell or rent it

·  Brokers, aiding in search of buying/selling

·  Families on search of house renovation

·  Construction workers and designers providing their services

Most of these groups can be represented as companies, not only physical individuals

1.4  Terminology

CSS – cascading style sheets
RSS – really simple syndication

1.5  Overview

Project therefore helps several social groups find each other based on resources and services they provide and seek. The difference between Quarti.ru and existing projects is in expert system, design and useability. Another innovative feature is not only real estate focused search, but possibilities to have listings of real estate upkeep, renovation companies. So Project is all about keeping customer’s home healthy.

2  Positioning

2.1  Business opportunity

Being in early development stages project offers little ways of making actual money. We can compare existing services and how they gather income

Service / Objects / Price for selling ad / Banner ads income / Estimated income
Kv.ee / 44 000 / 10 $ / month / 700 $ / day / 3000-15000 $ / day
City24.ee / 21 000 / 20 $ / month / 590 $ / day / 3000-14000 $ / day

Project will not have any fee if user updates object status every 7 days. Otherwise it will cost 7 $/month for one object. This will allow both wealthy and poor clients to have objects, at the same time limitation will function as time factor, removing sold objects from public sight if the seller forgets to remove object from Quarti.ru. Paying monthly fee will simply ease the update factor from week to month.

As object count will increase, targeted ads will be available, depending on object of interest (for example ads for house renovation tools will be visible only on house objects with poor construction conditions) or on the person who watches the site (knowing that user has pets or his sex and age). This kind of advertising will be pay-per-view or pay-per-click based with fixed price.

3  Product overview

3.1  Product perspective

Product is independent, although it can use external services if user requires. Both from designer, developer and administrator point of view, system consists of two major parts – public side and admin panel. We will discuss only quarti.ru specific functionality, without touching other functionality that existing LAMP platform provides (like structure management or statistics)

3.1.1  User interface

From designer and user point of view, public side also consists of two parts – real estate management and of construction workers listings. First one allows to add and search for apartments, second one adds and looks for available renovation workers

3.1.2  Physical structure

Since project is based on existing CMS, two site specific parts are organized as separate modules (classes and files), which are integrated in page calling procedure, based on existing sitemap. These classes are:

·  Apartment_quarti

·  Workers_quarti

3.2  Summary of Capabilities

Primary functions that are worthy to open public therefore are:

·  Creating offer of house/apartment sales or rents

·  Finding house/apartment to buy or rent

·  Finding repairmen

3.3  Assumptions and dependencies

Quarti.ru project has import possibilities with video services like youtube.com, so it will not store video materials that users may add to describe their objects. Also Quarti.ru has import possibility for users who already have objects added to services like kv.ee or city24.ee to easily import object data and images to quarti.ru by simply entering URL or ID. This dependency assumes that HTML of external services does not change in near future, nor does the internet connection. Otherwise parsing mechanism will need to be rewritten or proxy servers will be required to bypass IP blocking.

3.4  Cost

Cost in any currency can only be measured after pure work time is estimated.

Pure programming costs are:

·  Real estate management – 80h

·  Real estate search – 20h

·  Repairmen offers – 50h

Pure design costs for public side are also around 80h

If we add full project manager, risk factor percentage of 20%, platform installation cost it will cost from 50000 EEK with freelancers to 300000 EEK with external company as developer. Assuming that goal of 100000 objects will be reached in three years and only 5% of these objects will be paid for, it will make 350000 EEK a month, paying off as a result. Overall 5000 paid objects have to be added for object to become successful.

4  Product features

Primary use cases are described below

4.1  Search and read use cases

Intended mainly for “finding house/apartment to buy or rent” functionality

4.1.1  Real estate search page

Use case name / Entering real estate search input form
Summary / User enters personal information
Actor / Anonymous or Registered and Logged-in User
Precondition
Description / 1.  User enters personal information into text-forms or using radio-buttons for system to remember.
2.  User changes geographical location
3.  User clicks ”Complete” button
Alternatives / ·  If user is registered and logged in, then system remembers input data and all fields are filled automatically
Post-condition / User is redirected to result page, use case scenario “Listing real estate search results”

Figure 1. Search input form

4.1.2  Listing real estate search results

Use case name / Listing real estate search results
Summary / Search results are listed
Actor / Anonymous or Registered and Logged-in User
Precondition / “Entering real estate search input form” use case executed, POST method reached and page loaded
Description / User receives a list of 20 most suitable objects, based on input information
Alternatives / ·  No results are found, system displays relevant informative message
Post-condition / User is able to view object detail information or use page navigation to see less suitable objects

Figure 2. Listing real estate search results

4.1.3  Viewing detail information

Use case name / Viewing detail information
Summary / Apartment details are displayed
Actor / Anonymous or Registered and Logged-in User
Precondition
Description / User receives a list of 20 most suitable objects, based on input information
Alternatives / ·  Object is not found, relevant error message is shown
·  Object is not active because of payment or activity lockdown, relevant error message is shown
Post-condition / User can contact real estate broker, owner; Browse images; Go to original page if item was imported from external service using logo of external service

Figure 3. Viewing detail information

4.2  Add and import use cases

Adding objects is intended for brokers, owners that wish to sell or rent their objects

4.2.1  Adding new real estate object

Use case name / Adding new real estate object
Summary / Form for adding new object
Actor / Registered and Logged-in User
Precondition
Description / User enters detailed information about its apartment or house, including location and images and clicks “Save”
Alternatives / ·  If address is empty, error message is displayed
Post-condition / User is redirected to “Viewing detail information” use case, giving overview of just added object where message about weekly status update and monthly payment is shown.

Figure 4. Adding new real estate object

4.2.2  Importing new real estate object

Use case name / Importing new real estate object
Summary / Real estate objects can be imported from external web-services
Actor / Registered and Logged-in User
Precondition / It is assumed, that user knows ID/URL of his object at external service
Description / 1.  User enters ID
2.  User chooses service by clicking logo
3.  User clicks on Import button
4.  User is redirected to “Viewing detail information” use case primary view
5.  Instead of images, user sees “Importing images 0%” text, which changes, reaches 100% and reloads the page
Alternatives / ·  If ID is not active or not found – relevant error message is shown
Post-condition / User has imported item

Figure 5.Adding new real estate object

5  Quality ranges

Since project is based on LAMP platform and development costs require agile development with fast step-by-step deployment of written code to live system, the technique of “open beta” is incompatible with test driven development (TDD) or other high-quality methodologies. However because the possibility that project may need to scale and new developers will need to be hired, code architecture does have MVC pattern and Smarty template engine at work.

·  HTML code must correspond to XHTML 1.1 standart (can be validated with W3C validator http://validator.w3.org/)

·  User interface navigation must be tested with Selenium IDE testing tool (avaible at http://seleniumhq.org/download/)

·  CSS must correspond to CSS 2 or higher (validator at http://jigsaw.w3.org/css-validator/)

·  RSS must correspond to version 2 (validator at http://validator.w3.org/feed/)

·  PHP code should not include deprecated in version 5 functions

·  Javascript must not be included as inline in HTML code, only in separate file