07bce018_RealestatePortal

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

    email

    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