Upload
parth-goyal
View
215
Download
0
Embed Size (px)
Citation preview
7/29/2019 07bce018_RealestatePortal
1/50
REAL ESTATE PORTALAND FORUM
By:
SWATI BIRLA(07BCE018)
PARTH GOYAL(07BCE038)
At
Right Click Solutions
Ahmedabad
Department of Computer Science and Engineering
Ahmedabad - 382481
April 2011
7/29/2019 07bce018_RealestatePortal
2/50
REAL ESTATE PORTAL
AND FORUMMajor Project
Submitted in partial fulfillment of the requirements
For the degree of
Bachelor of Technology in Computer Engineering
By:SWATI BIRLA(07BCE018)
PARTH GOYAL(07BCE038)
Guided By
Mr. Vishal Shah Prof.Sanjay GargTechnical Head Section Head
Right Click Solutions Department of CS
Ahmedabad Institute of Technology
Nirma University
Ahmedabad
Department of Computer Science and Engineering
Ahmedabad - 382481
April 2011
7/29/2019 07bce018_RealestatePortal
3/50
CERTIFICATE
This is to certify that the Major Project entitled Real Estate
Portal and Forum submitted by Ms. Swati Birla and Mr. Parth
Goyal towards the partial fulfillment of the requirements for the
degree of Bachelor Of Technology Computer Engineering of
Nirma University of Science and Technology, Ahmedabad is
the record of work carried out by him under my supervision
and guidance. In my opinion, the submitted work has
reached a level required for being accepted for examination.
The results embodied in this major project, to the best of
my knowledge, havent been submitted to any other
university or institution for award of any degree or diploma.
Prof.Sanjay Garg Prof. D J Patel
Section Head Head of Department
Department of CS Engineering Department of CS & IT
Institute of Technology Institute of Technology
Nirma University Nirma University
Ahmedabad Ahmedabad
7/29/2019 07bce018_RealestatePortal
4/50
ACKNOWLEDGEMENT
Gratitude is a feeling which is more eloquent than words, more
tranquil than silence..
It gives me great pleasure in expressing thanks and profound
gratitude to Mr. Vishal Shah , Technical Head , Right Click
Solutions , Ahmedabad for his continual support throughout the
project work.I would also like to thank my Faculty Guide
Prof.Sanjay Garg , Section Head , Department of Computer
Engineering , Institute of Technology , Nirma University ,
Ahmedabad for his valuable guidance and constant
encouragement throughout the Major Project .
I am also thankful to Prof. D. J. Patel , Head of Department ,
Department of Computer Engineering and Information
Technology , Nirma University , Ahmedabad for his continual
kind words of encouragement and motivation throughout the
Major Project.I am also thankful to Prof. Ketan Kotecha ,
Director, Institute of Technology for his kind support in all
respects during my studyI am thankful to all faculty members of Department Of Computer
Science , Nirma University , Ahmedabad for their special
attention and suggestions towards the project work
I am also thankful to Right Click Solution for providing me with
the opportunity to work for the company.
The blessings of God and my family Members made the way for
completion of the Major project. I am very much grateful to
them.I am immensely thankful to my friends, who always stood beside
and motivated me throughout this course.
By:
SWATI BIRLA(07BCE018)
PARTH GOYAL(07BCE038)
7/29/2019 07bce018_RealestatePortal
5/50
ABSTRACT
The Project REAL ESTATE WEB PORTAL AND FORUM has beendeveloped for Property Hub-a firm dealing with Real Estate
Transactions.
This project is an online web portal wherein a Direct party or a
3rd party Agent can post the details regarding the property
which they wish to sell/purchase outright or sell/purchase on
lease. It also gives the user an option to post their requirements
of a property they wish to purchase or take on rent. The user cankeep track of his posted properties/requirements through his
personalized account. This portal will make it very easy for users
to find the right kind of property by making use of the various
search criteria like city, price, property type etc. Additionally a
registered user can directly communicate with the owner of the
property he is interested in by sending email directly from his
account .Thereby, making the transaction very easy and
convenient.
The project also provides a comprehensive administrator panel
which helps the admin to manage properties and users easily.
The admin can also modify database of the property and
additional parameters like city,category.
A separate Forum to discuss various topics/problems regarding
Real-Estate will also be available to the users. Forum will helpthe registered users to interact by using interactive posts and
personal messages, thereby leading to faster solving of queries
and facilitation of property transactions.
A separate Admin panel for forum is also provided from. The
admin can control various forum regulations ,posts and
moderators who in turn will keep tab on the topics and posts
7/29/2019 07bce018_RealestatePortal
6/50
submitted by the users ,thereby filtering out any spam or
inappropriate content.
Various findings emerged such:
Enormous Scope of Java.
Scope of various kinds of Java and Java-based technologies.
Widely used SDLC practices.
Various kinds of deliverables and delivery times during
SDLC.
7/29/2019 07bce018_RealestatePortal
7/50
CONTENTSCertificate I
Acknowledgement III
Abstract IVContents VI
List of Abbreviations and Nomenclature X
CHAPTER 1 INTRODUCTION
1.1 About the Company 1
1.1.1 Introduction of the Company 1
1.1.2 Quality Policy 5
1.1.3 Communication 6
1.2 The System 6
1.2.1 Definition of the System 6
1.2.2 Project Development Model 6
1.2.3 Concerned Audiences and Users 8
1.2.4 Purpose and Objectives 8
1.2.5 Proposed System 9
1.3 Project Profile 14
1.3.1 Project Title 14
1.3.2 Scope of the Project 14
1.3.3 Project Team 15
1.3.4 Hardware/Software Environment in the company 16
CHAPTER 2 SYSTEM ANALYSIS
2.1 Feasibility Study 17
2.1.1 Operational Feasibility 17
2.1.2 Technical Feasibility 18
2.1.3 Financial and Economic Feasibility 19
VI
7/29/2019 07bce018_RealestatePortal
8/50
2.2 Requirement Analysis 19
2.2.1 Fact Finding Techniques 19
2.3 Context Diagram 23
2.4 Data Flow Diagrams 24
2.4.1 Level I Diagrams 24
2.4.2 Level II Diagrams 25
CHAPTER 3 SYSTEM DESIGN
3.1 System Architecture 29
3.1.1 Model View Controller Architecture 29
3.1.2 Project Architecture (Detailed) 32
3.2 Class Diagram 35
3.3 Sequence Diagrams (Flow) 37
3.4 Data Dictionary and Table Diagram 39
CHAPTER 4 USER MANUAL
4.1 Screens/GUI (with Description) 47
CHAPTER 5 TESTING 54
CHAPTER 6 FUTURE ENHANCEMENT 58
CHAPTER 7 APPENDIX7.1 Description of the Technology Used 60
7.1.1 Java Server Faces 60
7.1.2 Hibernate 64
7.1.3 Spring 68
VII
7/29/2019 07bce018_RealestatePortal
9/50
7.2 Description of the Tools Used 71
7.2.1 IBM WebSphere Integration Developer 71
7.2.2 PL/SQL Developer 72
7.3.3 Crystal Report Designer 74
7.3.4 Sybase PowerDesigner 75
7.3.5 Oracle 10g 76
CHAPTER 8 SUMMARY AND CONCLUSION
8.1 Summary 78
8.2 Conclusions 78
CHAPTER 9 BIBLIOGRAPHY AND REFERENCES
9.1 Bibliography 79
9.2 References 79
7/29/2019 07bce018_RealestatePortal
10/50
1. INTRODUCTION
1.1ABOUT THE COMPANY
RIGHT CLICK SOLUTIONS is a MULTI-DIMENSIONAL & MULTI-
FUNCTIONAL Institute with its base at Ahmedabad and operations spread
all over Gujarat. The promoters have very rich experience in the field of
Technology oriented education. They are operational in the industry for
providing qualitative education for developing future professional for the
industry. They not only concentrate on the project or subjective training
of the student, They also work on the overall development of the
students to develop them in to outstanding professional in their
respective field, so that they can meet the challenges of the industry in
future.
Services:-
Consulting(Technology, IT development & support system)
Development(customized software, web design-development, SEO
etc.)
They have three different divisions.
Internship / Project training division.
Additional skills development division. Software solutions development division.
All the divisions are equipped with the necessary manpower and physical
resources. They are of ISO quality and highly competitive to required
industry standards.
1.2 THE SYSTEM
1.2.1 Definition of the System
The Project REAL ESTATE WEB PORTAL is an online web portal wherein
a Direct party or a 3rd party Agent can post the details regarding the
property which they wish to sell/purchase outright or sell/purchase on
lease. This portal will make it very easy for users to find the right kind of
property by making use of the search criteria or to find buyers for their
7/29/2019 07bce018_RealestatePortal
11/50
property. A separate Forum to discuss various topics/problems regarding
Real-Estate will also be available to the users.
The project will make it easy for the buyer and the seller to communicate
easily by providing e-mail facility. Forum will help the registered users to
interact by using interactive posts and personal messages, thereby leading
to faster solving of queries and facilitation of property transactions.
The project also provides a comprehensive administrator panel which
helps the admin to manage properties and users easily. The admin can also
modify database of the property and additional parameters like
city,category.
1.2.2 Project Development Model
A software development model is a simplified description/abstract
representation of a software process which is presented from a particular
perspective. A development model for software engineering is chosen
based on the nature of the project and application, the methods and the
tools to be used, and the controls and the deliverables that are required.
All software development can be characterized as a problem solving loop
in which four distinct stages are encountered:
Status Quo: Represents the current state of affairs.
Problem Definition: Identifies the specific problem to be solved.
Technical Development: Solves the problem through application of
some technology.
Solution Integration: Delivers the results like documents, programs,
data, etc. to those who requested the solution.
7/29/2019 07bce018_RealestatePortal
12/50
There are many software development models. REAL ESTATE PORTAL AND
FORUM follows the Spiral model.
SPIRAL MODEL
The spiral model of software development and evolution represents a risk
driven approach to software process analysis and structuring. This
approach incorporates elements of specification-driven, prototype-drivenprocess methods, together with the classic software life cycle. It does so
by representing iterative development cycles as an expanding spiral, with
inner cycles denoting early system analysis and prototyping, and outer
cycles denoting the classic software life cycle. Every iterative cycle of the
spiral model consists of the following:
Customer Communication
Planning
Risk Analysis
Engineering
Construction and Release
Customer Evaluation
The evolutionary process starts from the core of the spiral from the
customer communication region and revolves in a clockwise direction as ifit was coming out of the spiral.
The spiral model is considered as one of the most popular system process
flow model as it contains the repeated execution of SDLC till the
completion of the process. Some of its benefits are:
Focuses attention on reuse options.
Focuses attention on early error elimination.
Puts quality objectives upfront.
Integrates development and maintenance.
Provides a framework for hardware/software development.
7/29/2019 07bce018_RealestatePortal
13/50
1.2.3 Users and Target Audience of the System
Admin
Can update/modify content of the website
Can accept/reject user registration.
Can update/add/remove database.
Forum Moderator
Filtration of spam
Filtration of posts based on relevance
Checking of posts whether they are in the right
category
End User-Direct party
Posting of the details of single property
Can search for properties Can contact owners/agents of a property
Can receive notifications/messages/mails
End User-3rd party agent
Posting of details of multiple properties
Can update its own profile
Can search for properties
Can contact owners/agents of a property
Can receive notifications/messages/mails
Forum user
Can post a new topic under various categories
Can comment/reply to an existing thread
Can send messages to other members
Can update its own profile
Can upload photo
7/29/2019 07bce018_RealestatePortal
14/50
1.2.4 Purpose and Objectives
The Real Estate Web Portal and Forum is basically made to assist users to
search ,buy and sell Properties online 24*7.
The project will have the following modules and features:
HOME PAGE MODULE REGISTRATION MODULE
SEARCH MODULE
LOGIN MODULE
FORUM
SITE MAP
LINKS TO FEATURED PROPERTIES
LINKS TO PROPERTY AGENTS
The Facility given to the users:
Search facility using various parameters like
city,price,category and property Type.
Creation of a personal account
Posting of Property through the account
Posting of Requirements through the account
Managing the Property/Requirement Details Editing profile
Posting topics/replies in the Forum
Communication facility with the owner directly.
The Facility given to the Administrator
Manage users database
Manage Properties database
Manage various Parameters like city,category.
Monitoring content and removing it if deemed necessary.
7/29/2019 07bce018_RealestatePortal
15/50
1.2 PROJECT PROFILE
1.3.1 Project Title
The Title of the Project is Real estate Web Portal and Forum.
1.2.1 Scope of the ProjectIn the current scenario, there are not many real estate web portalswhich have all the features as has been described above.Hence the scope of the project is immense as real estate sector is a verydominant market player in the market right now.
1.2.2 Project TeamThe Team consisted of 2 project trainees under the direct supervision of the
Project Leader who is the Technical Head of the company.
1.2.3 Hardware/Software Requirements in the Company Environment
Hardware Ram -1 to 2 GBHard disk-80 GB to 160 GBProcessor-2GHz
Technology Spring, JSP, Struts(2.0), JQuery, AJAX, EJB(3.0),JavaScript
Software Eclipse Galileo versionMicrosoft DreamweaverPostGREsql
jScript enabled browser (end user side)jBoss or GlassFish Server (server side)
Database Oracle 10g
Report Generation Tool i-Text
Documentation Microsoft 2003
Operating System Windows Xp,7
1.2.4 Functional Requirements
REGISTRATION MODULE
SEARCH MODULE LOGIN MODULE
FORUM
SITE MAP
LINKS TO FEATURED PROPERTIES
LINKS TO PROPERTY AGENTS
7/29/2019 07bce018_RealestatePortal
16/50
REGISTRATION MODULE
Property Registration by Direct Party
Form for Property Details-Sale or Purchase
Personal Information Form
Validation for Information Entered
Email notification and confirmation
Register as Service Provider
Form for Property Details-Sale or Purchase
Personal Information Form
Validation for Information Entered
Email notification and confirmation
SEARCH MODULE
Search by Property type
By price range / rent range
By Category
By locality / location
By agent / direct party etc.
By keywords
LOGIN MODULE
Login as Direct Party/service provider
Verification
Password recovery
FORUM
Forum registration
Personal details Form
CAPTCHA verification
Email notification for activation of account
7/29/2019 07bce018_RealestatePortal
17/50
Forum login
Login form
Password recovery
Verification
Member accounts
Personal details
Message inbox
Message sending facility to other members
Facility to see all posts published
Facility to see the forum activity
Modification of personal details
Deletion of account
Topics classification according to :
General discussion
Finance, Tax. Legal, Accounting
Real Estate in Indian cities
General Investment Discussions
Architects and Interior design
Fengshui and VaastuShastra
Advertisement
Topic initiation by members
Addition of comments to existing forum threads by
members
Search forum facility
By owner of the thread
By thread topic Additional search parameters-age of the thread
Weekly Emails, Newsletters and information bulletin to all
the members
Help bulletin for Forum
Moderator account for Forum
7/29/2019 07bce018_RealestatePortal
18/50
SITEMAP
Links to all important modules/pages
CONTACT PROPERTY OWNERS
Mail sending facility to the owner
Mail sending facility to the agent
1.2.5 NON FUNCTIONAL REQUIREMENTS
Security and Privacy Requirements
Users will have unique login Id and Password and also the
users have limited access as per the role assigned to them.
Usability Requirements
The UI of the system shall be user friendly.
Quality Requirements
The system shall be efficient and portable.
The system will be also be reliable and consistent as per the
database is considered.
Maintenance Requirements
Up-gradation of the current version of the system being
developed can be done easily by adding new features.
7/29/2019 07bce018_RealestatePortal
19/50
2. SYSTEM ANALYSIS
2.1 FEASIBILITY STUDY
An important outcome of the preliminary investigation phase of the
System Development Life cycle is the determination that the requested
system is feasible. The following facets describe the feasibility:
Operational Feasibility
Technical Feasibility
Financial and Economic Feasibility
Knowledge about handling infeasible projects
2.1.1 Operational Feasibility
The proposed system is beneficial if and only if it can be turned into an
information system that will meet the operating requirements of the
organization. This facet of feasibility asks: if the system will work when it is
developed and installed and are there any major barriers for systemimplementation and many more issues.
Issue 1:
Is the system user Friendly.
The system has been developed keeping in mind the needs of a real estate
user and assuming no prior knowledge of using such systems by the users.Also there has been a constant testing and feedback among the
employees to test its userfriendliness. Hence the system is user friendly.
Issue 2:
Are there enough checks to check whether the user is genuine or not..
The system has comprehensive user checks that ensures that the user is a
genuine one. Also there is captcha verification and in addition to that the
7/29/2019 07bce018_RealestatePortal
20/50
user is approved only after all the details are verified by the
administrator. So this way admin has the power to approve or delete the
user.This facet of feasibility i.e. Operational Feasibility, hence
concentrates on many such issues and gives their solutions.
2.1.2 Technical Feasibility
The investigation is done mainly keeping in mind this aspect of feasibility.
The analyst has to keep in mind while performing requirement elicitation
that the requested work flow is what is feasible technically. The following
issues can be raised while the investigation is underway:-
Issue 1:
Can the work for the project be done with the current equipment,
existing software technology and available resources.
The system is basically a website portal and forum that can be easily
implemented using the present technologies and hence this is not a
hindrance.
Issue 2:
Does the proposed equipment have the capacity to process and hold the
kind of data involved..
The System involves a huge database which will be hosted on a reliable
web server and hence the database will be easily managed.
2.1.3 Financial and Economic Feasibility
This facet of feasibility is of paramount importance in development of any
software for any particular company. Right Click solution is having licensedversions of the required software (Eclipse,PostGresql, Oracle 10g).
Hardware Costs mainly involve the cost of the hosting the website and the
database.
The economic and financial constraints are not an issue for this project as
the cost of the project is very less.
7/29/2019 07bce018_RealestatePortal
21/50
2.2 REQUIREMENT ANALYSIS
2.2.1 Fact- Finding Techniques
The client in most cases is not sure of what exactly is desired and has a
poor understanding of the computing environment. But the client
involved in this case is a real estate firm and has an idea what its
competitor have developed and has somewhat clear idea about the
website and the features it wants . But translation of the world
requirements into the domain specific knowledge is easy in this case as
the communication process is strong.
But again the basic fact finding techniques do come into play and the ones
employed in the project are as follows:
Interviews Negotiations Discussions Looking at the competitors system.
The following techniques are present unambiguously throughout the
project
2.2.2. Interviews
The first phase of interviews is mainly a kind of informal discussions with
the client. In this phase the analysts who are the evangelists in the process
of requirement elicitation generally do the following:
Ask a set of Informal Context Free Questions regarding the system.
Talk through with the client to know his intention with regard to the
project.
Define a business case for the idea along with the performance of
certain kind of market analysis.
Identify a working description of the projects scope.
7/29/2019 07bce018_RealestatePortal
22/50
The later phases of interviews involve the following kind of facets:
Discussion on the Division of the entire thing into manageable and
doable modules.
Module wise interviews with the various personnel involved.
Certain kind of debatable presentations which may be clubbed with
brainstorming or prototyping sessions.
This mode of requirement gathering is the one that provides the
maximum amount of information regarding the project and hence is used
very effectively. This mode can turn into all various forms ranging fromstrict one room interviews to large debatable discussions.
Data Dictionary of entire module
We developed and analyzed the entire Data Dictionary to find out the
correlations that existed between the necessary tables and other
unwanted ones. And hence I could sort out the ER statement from the
Data Dictionary provided.
Technical SRS (with Business Analysis)
This was a typical SRS that gave us the specific requirements along with
the Business rules that need to be employed.
7/29/2019 07bce018_RealestatePortal
23/50
3. SYSTEM DESIGN
3.1 SYSTEM ARCHITECTURE
3.1.1 Model View Controller Architecture
The Model-View-Controller architecture is a widely-used architectural
approach for an application where there is user interaction. The basic idea
of Model-View-Controller (MVC) architecture is the separation of the user
interface of an application from its domain logic. It divides the
functionality among objects involved in maintaining and presenting data
to minimize the degree of coupling (relationship) between the objects.
Basically, it separates business, navigation and presentation logic.
MVC is organized into three separate areas:
Model Model includes the data of the application, along with the
business logic that defines how to change and access that data. The Model
can be shared among any number of view and controller objects. The
Model object knows about the data that need to be displayed. It also
knows about all the operations that can be applied to transform that data.
However, it knows nothing about the GUI and the manner in which thedata is to be displayed.
View View represents the means of presenting the Model's data to the
outside world. This could take the form of a GUI, generated speech,
audible tones, printouts, or even non-user oriented output, such as
turning on an air conditioner. A view renders the contents of a Model. It
accesses the enterprise data through the model and specifies how that
data should be presented.
Controller Controller represents a means of gathering user input and
providing feedback to the model, handle requests, and control application
flow. Controller contains no business logic and deals strictly with exposing
the methods contained in the Model to the user through the View. A
Controller translates the user interactions with the View into actions to be
performed by the Model. Controller is represented by a Servlet. Controller
centralizes the logic for dispatching requests to the next view based on
the request URL, input parameters, and application state.
7/29/2019 07bce018_RealestatePortal
24/50
DB
Figure 3.1 MVC Architecture
3
controller
4.
5.3.
7. 9.8.
6. 10. 2. 1.useracts
model view
Figure 3.2 Common MVC Architectural Flow
7/29/2019 07bce018_RealestatePortal
25/50
Steps of MVC Architectural Flow:
1. The end user manipulates the view.
2.
The user's actions are interpreted by the view.3. The view passes the users actions to the controller.
4. Based on the action, the controller decides what should be done.
5. The controller delegates/calls the appropriate model to act upon the
command.
6. The model acts independently by processing the inputs. Model usually
accesses the database and performs some business logic on the data.
7. After the model is finished. The controller decides what view should be
returned to the end user. Example, login controller decides the next view
to display after a sign on very likely depends on: the user id and password
contained in the request, the success or failure of the sign on operation,
the URL the user was trying to access etc.
8. The controller gets all the information needed from the model.
9. The controller passes the information to the view.
10. The view displays the information in its own way.
Advantages and disadvantages
Overall, MVC design approach provides several key advantages over other
approaches in interactive applications:
Allows the decoupling of presentation logic and business logic.
Separation of concerns makes the code cleaner and easier tounderstand.
Eases maintenance burden. For Example, changes made to
business logic are less likely to break the presentation (view).
Facilitates multi-team development. Developers can focus on
business code and UI designers can focus in building the view
without worrying about the backend code.
7/29/2019 07bce018_RealestatePortal
26/50
The disadvantages of MVC architecture:
Increases design complexity. MVC introduces some extra
classes/code due to the separation of Model, View, and
Controller.
Requires large amount of configurations and architecture work.
3.1.2 Project Architecture (Detailed)
Figure 3.3 Project Architecture
The project involves three layers:-
Presentation Layer:
JSF, Page Code and VO.
This layer comprises of a set of Page code, VO and jsp pages. Every jsp
page has an associated VO which mainly contains the properties that are
bound to the components on the jsp page. Page code acts as a container
for a set of methods that are to be executed as a result of actions that
take place on the screen. Page code is responsible for making a call to a
method in Controller.
7/29/2019 07bce018_RealestatePortal
27/50
Controller:
Controller is responsible for separating the presentation layer and the
business layer. Controller ensures that presentation layer is unaware of
the business logic. Controller does not contain any business logic. It simply
invokes a method in Service.
Business Layer:
Service:
Service is entirely spring managed which means that an object of service
would be returned to controller by Inversion of Control. Service is
responsible for making a call to Use-case Specific Service and also convertsVO to BO (Value Object to Business Object). Basically, a business object is
an object which represents as enterprise data. It can be taken to be an
object of a persistent class, i.e. a class which gets stored in a database.
Since, only a business object can be saved into a database, conversion
from VO to BO is inevitable.
VO Builder:
VO Builder is responsible for converting VO to BO, when VO is passed from
the front end. Also, it converts BO to VO when either a single BO or a list
of BOs is passed from DAO.
Use-Case Specific Service:
A Service is split in a set of use-case specific services. This facilitates
parallel development of the components of a module. Since, SACR has
three components Consultants, Tasks, Proceedings, would have three
different use-case specific services.
7/29/2019 07bce018_RealestatePortal
28/50
Persistence Layer:
Data Access Objects:
Data access objects represent the persistent layer. Data access objects are
responsible for dealing with database.
Advantages:
Enhances Maintainability:
Since, the presentation logic, business logic and the persistence logic are
clearly separated, it becomes easier to debug and maintain the code.
Facilitates multi-team development:
Developers can focus on business code and UI designers can focus in
building the view without worrying about the backend code
Disadvantage(s):
Increases design complexity:
Such a layered architecture introduces large number of classes. Hence,
there are a large number of files to be dealt with even in a single module.
7/29/2019 07bce018_RealestatePortal
29/50
3.2 CLASS DIAGRAMS
3.2.1 Real Estate Portal
7/29/2019 07bce018_RealestatePortal
30/50
3.2.2 FORUM
7/29/2019 07bce018_RealestatePortal
31/50
3.3 E R DIAGRAM
Property
ID
No Of
Bedroom
Contact
Number
Total
Category
ID
Area
Square
Foot
Proper
Addres
Area ID
Property
Category Type
Property
ID
Category
ID
Property
No
User
Name
Mobile No
Password
Security
Question
Type
User ID
Email ID
Pincode
City
Address
Date Of
Birth
Gender
Answer
Area ID
Area
Name
Area
HasHas
Has
Has
Has
7/29/2019 07bce018_RealestatePortal
32/50
3.3 USE CASE DIAGRAMS
3.3.1 Member Real Estate
3rd party agent
update property
update profile
view profile
login
register
remove property
add property
search property
contact-email
extends
extends
extends
extends
extends
extends
extends
extends
extends
7/29/2019 07bce018_RealestatePortal
33/50
3.3.5 FORUM USER
forum user
login
register
update profile
view profile
start a new topic
reply to the
current thread
view posts
search post
extends
extends
extends
extends
extends
extends
extends
extends
7/29/2019 07bce018_RealestatePortal
34/50
3.4 DATA FLOW DIAGRAMS
3.4.1 Real estate User login ,search
3rd
party agent
login
Search
property
registration
Property
database
User database
Userinfo,confirmation
Search criteria,
Property details
User
id,password,
Profileinfo
Use
rinfo
User
id,passwo
rd
Searchcriteria
Level-1 Data Flow Diagram
3.4.2 Forum User Actions
Forum userlogin
New topic
posting
Post reply
User id pass
Topicname,content,category
Reply
conte
nt
User database
Comment
database
Replycontent
User id pass
Reply
conte
nt
Level -1 Data Flow Diagram
7/29/2019 07bce018_RealestatePortal
35/50
3.4.3 Search Property
Level -2 Data flow Diagram
7/29/2019 07bce018_RealestatePortal
36/50
3.5 SEQUENCE DIAGRAMS
3.5.1 BUY PROPERTY
3.5.2 PROPERTY ON RENT
7/29/2019 07bce018_RealestatePortal
37/50
3.5.3 SEARCH BUY/RENT
3.6 ACTIVITY DIAGRAM
Admin
Enter Detail
Report
Selection
List Of Available Property
User
Log In
Display Results
7/29/2019 07bce018_RealestatePortal
38/50
3.7 DATA DICTIONARY AND TABLES USED
3.7.1 PROPERTY
TABLE NAME::PROPERTY
ATTRIBUTES
NAME TYPE DESCRIPTION
PROP_ID (PRIMARY KEY) NUMBER PRIMARY KEY
PROP_DATE DATE DATE OF ENTRY
PROP _CATEGORY_ID STRING RESIDENTIAL/COMMERCIAL/INDUSTRIAL
PROP_PHOTO BYTES SNAPSHOT
PROP_LISTINGTYPE_ID STRING SALE/PURCHASE,LEASE-AVAIL/LEASE -WANTED
PROPERTYTYPE_ID NUMBER FOREIGN KEY-PROPERTY TYPE TABLE
PROP_CITY_ID STRING CITY OF LOCATION
MEMBER_ID (FOREIGN KEY) NUMBER OWNER'S ID -FOREIGN KEY
PROP_VALUE NUMBER VALUE OF THE PROPERTY/RENT
PROPDETAILS_ID NUMBER AREA,ADDRESS,LOCALITY -
PROP_FEATURES STRING SET
ALL ADITIONAL FEATURES LIKE SECURITY,LUXURY
ETC
PROP_PLOT_ LAYOUT STRING NO.OF ROOMS
3.7.2 MEMBER
TABLE NAME::MEMBER AGENT
ATTRIBUTES
NAME TYPE DESCRIPTION
ID (PRIMARY KEY) NUMBER
NAME STRING NAME OF THE MEMBER
CITY STRING CITY OF LIVING
EMAILADRRESS STRING EMAIL Id
USERID STRING
PASSWORD STRING
TYPE STRING DIRECT PARTY/AGENT
CONTACT PERSON NAME STRING
COMAPANY NAME STRING
ADDRESS STRING
PROFILE STRING
CONTACT NO STRING
WEBSITE STRING
7/29/2019 07bce018_RealestatePortal
39/50
3.7.3 PROPERTY DETAILS
3.7.4 CITY
TABLE NAME::CITY
ATTRIBUTES
NAME TYPE DESCRIPTION
CITY_ID NUMBER
CITY_NAME STRING
PROP_ID NUMBER FOREIGN KEY
3.7.5 CATEGORY
TABLE NAME::PROPERTY CATEGORY
ATTRIBUTES
NAME TYPE DESCRIPTION
CATEGORY_ID NUMBER
CATEGORY_NAME STRING
TYPE_ID NUMBER FOREIGN KEY
PROPERTY_ID NUMBER
TABLE NAME::Property Details
ATTRIBUTES
NAME TYPE DESCRIPTION
ID NUMBER
ADDRESS STRING
LOCALITY STRING
CONSTRUCTION AREA NUMBER
DISPLAYNO BOOLEAN
WHETHER TO DISPLAY TELEPHONE
NUMBER
PROP_ID NUMBER FOREIGN KEY
7/29/2019 07bce018_RealestatePortal
40/50
3.7.6 PROPERTY TYPE
TABLE NAME::PROPERTY TYPE
ATTRIBUTES
NAME TYPE DESCRIPTION
TYPE_ID NUMBER
TYPE_NAME STRING
CATEGORY_ID NUMBER
PROPERTY_ID NUMBER
7/29/2019 07bce018_RealestatePortal
41/50
4. USER MANUAL
The following are the screens with their description:
7/29/2019 07bce018_RealestatePortal
42/50
5. TESTING
5.1 LOGIN PAGE
Label Input Actual Output Expected Output SuccessfulYes/ No
User
Name
Null Incorrect username or
password
Incorrect username or
password
Yes
User1 - - Yes
Password Null Incorrect username or
password
Incorrect username or
password
Yes
User1 - - Yes
5.2 LOGIN PAGE
Label Input Actual Output Expected Output Successful
Yes/No
Name Null Required field cannot be
empty
Required field cannot
be empty
Yes
User1 - - Yes
Gender Null Required field cannot be
empty
Required field cannot
be empty
Yes
Address Null Required field cannot be
empty
Required field cannot
be empty
Yes
City Null Required field cannot be
empty
Required field cannot
be empty
Yes
Mobile no Null Required field cannot be
empty
Required field cannot
be empty
Yes
Mobile No. Alphabets Invalid Input Invalid Input Yes
Email ID Null Required field cannot be
empty
Required field cannot
be empty
Yes
Email ID Wrong
format of
Enter email in the right
format
Enter email in the right
format
Yes
User id Required field cannot be
empty
Required field cannot
be empty
Yes
User1 - - Yes
Password Null Required field cannot be
empty
Required field cannot
be empty
Yes
Password Passwords
different
Password dont match
with each other
Password dont match
with each other
Yes
Password Less than 6
characters
Password is less than 6
characters
Password is less than 6
characters
Yes
Listing Type Null Required field cannot be
empty
Required field cannot
be empty
Yes
Category Null Required field cannot be
empty
Required field cannot
be empty
Yes
7/29/2019 07bce018_RealestatePortal
43/50
5.3 SEARCH PROPERTY
Label Input Actual Output Expected Output Successful
Yes/No
Listing
Type
Null Required field cannot be
empty
Required field cannot be
empty
Yes
DropDown
- - Yes
City Null Required field cannot be
empty
Required field cannot be
empty
Yes
City - - Yes
Property
Type
Null Required field cannot be
empty
Required field cannot be
empty
Yes
flat - - Yes
Price Null Required field cannot be
empty
Required field cannot be
empty
Yes
2,00,000 - - Yes
5.4 EDIT PROFILE
Label Input Actual Output Expected Output Successful
Yes/No
User name Null Required field cannot be
empty
Required field cannot be
empty
Yes
User1 - - Yes
Old
Password
Null Required field cannot be
empty
Required field cannot be
empty
Yes
User1 - - Yes
New
password
Null Required field cannot be
empty
Required field cannot be
empty
Yes
Hardik - - Yes
Confirm
password
Null Required field cannot be
empty
Required field cannot be
empty
Yes
Hardik - - Yes
Password Different
password
Passwords dont match Passwords dont match Yes
5.5 LINK TESTING
Scenario Actual Output Expected Output Successful
Yes/No
Trying to Add
property/Requirement
without logging in
Redirection to error
page
Redirection to error
page
Yes
Trying to contact
owner without logging
in
- Redirection to error
page
No
7/29/2019 07bce018_RealestatePortal
44/50
5.6 ADD PROPERTY
Label Input Actual Output Expected Output SuccessfulYes/No
Category Null Required field cannot be
empty
Required field cannot be
empty
Yes
Drop Down - - Yes
Listing Type Null Required field cannot be
empty
Required field cannot be
empty
Yes
Drop Down - - Yes
Area Null Required field cannot be
empty
Required field cannot be
empty
Yes
Property
Address
Null Required field cannot be
empty
Required field cannot be
empty
Yes
Address - - Yes
Property
Features
Null Required field cannot be
empty
Required field cannot be
empty
No
Checkbox - - Yes
Layout Null Required field cannot be
empty
Required field cannot be
empty
Yes
2BHK - - Yes
Area in sqft Null Required field cannot be
empty
Required field cannot be
empty
Yes
Area in
sqft
- - Yes
Total Price Null Required field cannot be
empty
Required field cannot be
empty
Yes
Amount - - Yes
7/29/2019 07bce018_RealestatePortal
45/50
6. FUTURE ENHANCEMENT
The Search Criteria will be more extensive from currently 4 parameters to 7-8
parameters which can take into consideration the locality, keywords, etc.
SMS Updates to the Registered Users.
Newsletters on Email of the Registered Users.
Integration of Advertisement Module in the System.
Usage of Jquery Validation to improve the Presentation of the website.
Improving the Presentation of the Forum.
7/29/2019 07bce018_RealestatePortal
46/50
7. APPENDIX
7.1 DESCRIPTION OF TECHNOLOGY USED
7.1.1 Hibernate
7.1.1.1 Introduction
Hibernate is a Java framework that provides object/relational mapping mechanisms
to define how Java objects are stored, updated, deleted, and retrieved. Hibernate
helps in developing persistent classes following common Java idiom - including
association, inheritance, polymorphism, composition and the Java collections
framework. The Hibernate Query Language, designed as a minimal object-oriented
extension to SQL, provides an elegant bridge between the object and relational
worlds. Hibernate is now considered as the most popular object/relational mapping
solution for Java.
One of its unique features is that Hibernate does not require the developers to
implement proprietary interfaces or extend proprietary base classes in order for
classes to be made persistent. Instead, Hibernate relies on Java reflection and
runtime augmentation of classes using a powerful, high-performance, code-
generation library for Java called CGLIB. CGLIB is used to extend Java classes and
implement Java interfaces at runtime.
7.1.1.1 Features of Hibernate
Hibernate allows automatic generation of primary key. The manner in which the
primary key is to be generated is specified in hibernate mapping file.
Hibernate executes independently of the platform.
Hibernate helps to minimize the code length. Consider that it is required to
update the data in the database. Following JDBC, we would be required to
specify an update query after obtaining the connection and statement object.
Whereas, Hibernate only requires the user to modify the properties in the
POJO class and it checks, if there is any change in the properties of
persistent object(s), an appropriate query is generated and fired.
7/29/2019 07bce018_RealestatePortal
47/50
7.1.1.3 Architecture Of Hibernate[3]
It involves the following components:-
Figure 7.3 Hibernate Architecture
This diagram shows Hibernate using the database and configuration data to provide
persistence services (and persistent objects) to the application.
The Hibernate interfaces may be approximately classified as follows:
Interfaces called by applications to perform basic CRUD and querying
operations: These interfaces are the main point of dependency of applicationbusiness/control logic on Hibernate. They include Session, Transaction, and
Query.
Interfaces called by application infrastructure code to configure Hibernate,
most importantly the Configuration class.
Callback interfaces that allow the application to react to events occurring
inside Hibernate, such as Interceptor, Lifecycle, and Validatable.
Interfaces that allow extension of Hibernates powerful mapping functionality,
such as UserType, CompositeUserType, and IdentifierGenerator.
These interfaces are implemented by application infrastructure code (if necessary).
JDBC provides a rudimentary level of abstraction of functionality common to
relational databases, allowing almost any database with a JDBC driver to be
supported by Hibernate.
7/29/2019 07bce018_RealestatePortal
48/50
Chapter 7 Appendix
JNDI and JTA allow Hibernate to be integrated with J2EE application servers.
7.1.1.4 Interfaces[4]
The five core interfaces are used in just about every Hibernate application. Using
these interfaces, one can store and retrieve persistent objects and control
transactions.
Session interface
The Session interface is the primary interface used by Hibernate applications. An
instance of Session is lightweight and is inexpensive to create and destroy. This is
important because an application will need to create and destroy sessions all the
time, perhaps on every request. Hibernate sessions are not threadsafe and should
by design be used by only one thread at a time. It may be easier to think of a session
as a cache or collection of loaded objects relating to a single unit of work.
SessionFactory interface
The application obtains Session instances from a SessionFactory. The
SessionFactory is certainly not lightweight! Its intended to be shared among many
application threads. There is typically a single SessionFactory for the whole
applicationcreated during application initialization, The SessionFactory caches
generated SQL statements and other mapping metadata that Hibernate uses at
runtime. It also holds cached data that has been read in one unit of work and may be
reused in a future unit of work.
Configuration interface
The Configuration object is used to configure and bootstrap Hibernate. The
application uses a Configuration instance to specify the location of mapping
documents and Hibernate-specific properties and then create the SessionFactory.
Transaction interface
The Transaction interface is an optional API. Hibernate applications may choose not
to use this interface, instead managing transactions in their own infrastructure code.
A Transaction abstracts application code from the underlying transaction
implementationwhich might be a JDBC transaction, a JTA
66
7/29/2019 07bce018_RealestatePortal
49/50
Chapter 7 Appendix
UserTransaction, or even a Common Object Request Broker Architecture (CORBA)
transaction allowing the application to control transaction boundaries via a
consistent API. This helps to keep Hibernate applications portable between different
kinds of execution environments and containers.
Query interface
The Query interface allows one to perform queries against the database and control
how the query is executed. Queries are written in HQL or in the native SQL dialect of
the database. A Query instance is used to bind query parameters, limit the number
of results returned by the query, and finally to execute the query.
7.1.1.5 Hibernate Over JDBC
Java is an object-oriented language. But, to query a database, JDBC is used
which is highly relational in nature i.e. to specify a query, it is essential to specify
the name of the table to be used (in a string) which essentially turns out to be a
relational approach. Hence, it violates the Object Oriented Concepts.
The tabular representation of data is very much different from the objects used in
object oriented applications. This is called Object/relational paradigm. Hence, to
follow the basic concepts of object oriented approach, ORM is used.
ORM stands for Object Relational Mapping, which is process of persisting
objects in a relational database. Hibernate works by persisting and restoring
plain old Java Objects (POJOs) using a very transparent and low-profile
programming model. This task of persisting Java objects to a relational database
involves serializing Java objects to a tabular-structured database and vice versa.
Essential to this effort is the need to map Java objects to database columns and
records in a manner optimized for speed and efficiency.
7/29/2019 07bce018_RealestatePortal
50/50