Sei sulla pagina 1di 50

REAL ESTATE PORTAL AND FORUM

By: SWATI BIRLA(07BCE018) PARTH GOYAL(07BCE038)


At Right Click Solutions Ahmedabad

Department of Computer Science and Engineering Ahmedabad - 382481 April 2011

REAL ESTATE PORTAL AND FORUM


Major 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 Technical Head Right Click Solutions Ahmedabad Prof.Sanjay Garg Section Head Department of CS Institute of Technology Nirma University Ahmedabad

Department of Computer Science and Engineering Ahmedabad - 382481 April 2011

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 Section Head Department of CS Engineering Institute of Technology Nirma University Ahmedabad

Prof. D J Patel Head of Department Department of CS & IT Institute of Technology Nirma University Ahmedabad

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 study I 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)

ABSTRACT
The Project REAL ESTATE WEB PORTAL AND FORUM has been developed 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 can keep 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 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. 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

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.

CONTENTS
Certificate Acknowledgement Abstract Contents List of Abbreviations and Nomenclature I III IV VI X

CHAPTER 1 INTRODUCTION 1.1 About the Company 1.1.1 Introduction of the Company 1.1.2 Quality Policy 1.1.3 Communication 1.2 The System 1.2.1 Definition of the System 1.2.2 Project Development Model 1.2.3 Concerned Audiences and Users 1.2.4 Purpose and Objectives 1.2.5 Proposed System 1.3 Project Profile 1.3.1 Project Title 1.3.2 Scope of the Project 1.3.3 Project Team 1.3.4 Hardware/Software Environment in the company CHAPTER 2 SYSTEM ANALYSIS 2.1 Feasibility Study 2.1.1 Operational Feasibility 2.1.2 Technical Feasibility 2.1.3 Financial and Economic Feasibility 17 17 18 19 1 1 5 6 6 6 6 8 8 9 14 14 14 15 16

VI

2.2 Requirement Analysis 2.2.1 Fact Finding Techniques 2.3 Context Diagram 2.4 Data Flow Diagrams 2.4.1 Level I Diagrams 2.4.2 Level II Diagrams

19 19 23 24 24 25

CHAPTER 3 SYSTEM DESIGN 3.1 System Architecture 3.1.1 Model View Controller Architecture 3.1.2 Project Architecture (Detailed) 3.2 Class Diagram 3.3 Sequence Diagrams (Flow) 3.4 Data Dictionary and Table Diagram 29 29 32 35 37 39

CHAPTER 4 USER MANUAL 4.1 Screens/GUI (with Description) CHAPTER 5 TESTING 47 54

CHAPTER 6 FUTURE ENHANCEMENT CHAPTER 7 APPENDIX 7.1 Description of the Technology Used 7.1.1 Java Server Faces 7.1.2 Hibernate 7.1.3 Spring

58

60 60 64 68

VII

7.2 Description of the Tools Used 7.2.1 IBM WebSphere Integration Developer 7.2.2 PL/SQL Developer 7.3.3 Crystal Report Designer 7.3.4 Sybase PowerDesigner 7.3.5 Oracle 10g

71 71 72 74 75 76

CHAPTER 8 SUMMARY AND CONCLUSION 8.1 Summary 8.2 Conclusions CHAPTER 9 BIBLIOGRAPHY AND REFERENCES 9.1 Bibliography 9.2 References 79 79 78 78

1.
1.1 ABOUT THE COMPANY

INTRODUCTION

RIGHT CLICK SOLUTIONS is a MULTI-DIMENSIONAL & MULTIFUNCTIONAL 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

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.

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-driven process 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 if it 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.

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

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 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.

like

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.

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 Project
In the current scenario, there are not many real estate web portals which have all the features as has been described above. Hence the scope of the project is immense as real estate sector is a very dominant market player in the market right now.

1.2.2 Project Team


The 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 GB Hard disk-80 GB to 160 GB Processor-2GHz Spring, JSP, Struts(2.0), JQuery, AJAX, EJB (3.0), JavaScript Eclipse Galileo version Microsoft Dreamweaver PostGREsql

Technology

Software

jScript enabled browser (end user side) jBoss or GlassFish Server (server side)
Database Report Generation Tool Documentation Operating System Oracle 10g i-Text Microsoft 2003 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

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

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

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.

2.
2.1 FEASIBILITY STUDY

SYSTEM ANALYSIS

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 system implementation 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 user friendliness. 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

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 licensed versions 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.

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.

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 from strict 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.

3.
3.1 SYSTEM ARCHITECTURE
3.1.1 Model View Controller Architecture

SYSTEM DESIGN

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 the data 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.

controller 4. 5. 8. 7. 9. 3.

6. model

10. view

2.

1.

user acts

Figure 3.2 Common MVC Architectural Flow

DB

Figure 3.1 MVC Architecture

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 to understand. 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.

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.

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 converts VO 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.

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.

3.2 CLASS DIAGRAMS 3.2.1 Real Estate Portal

3.2.2 FORUM

3.3 E R DIAGRAM

Category ID

No Of Bedroom

Contact Number Property ID

Property Address Area Name Property Total Price Area ID Area

Has Has
Area ID Mobile No Answer Name Gender User Date Of Birth

Area Square Foot

Has

Has
Address Category Type City Property ID

Pincode Category ID Email ID Security Question Type Password Property No

User ID

Has

3.3 USE CASE DIAGRAMS 3.3.1 Member Real Estate


register

extends contact-email

extends extends extends extends extends 3rd party agent extends remove property add property search property

extends login extends

view profile

update profile

update property

3.3.5 FORUM USER

login extends

extends search post extends forum user extends extends extends extends reply to the current thread view posts

extends

start a new topic

view profile

update profile

register

3.4 DATA FLOW DIAGRAMS

3.4.1 Real estate User login ,search

registration

Us

er

nf o

inf o,c o

ri

nfi

se

rm

ati

on

3 party agent

rd

U se r o ssw id,pa rd

login

User assword, id,p Profile info

User database

Se a

r ch

cr i

ter

ia
Search property

Search criteria, Property details Property database

Level-1 Data Flow Diagram

3.4.2

Forum User Actions

Post reply

Reply c

co

nt en

ontent
Comment database

Re

pl

User database Forum user User id pass login User id pass

To p

ic

na

me

Re

pl

o yc

nte

nt

,co

nte

nt,

ca

teg

o ry

New topic posting

Level -1 Data Flow Diagram

3.4.3 Search Property

Level -2 Data flow Diagram

3.5 SEQUENCE DIAGRAMS 3.5.1 BUY PROPERTY

3.5.2 PROPERTY ON RENT

3.5.3 SEARCH BUY/RENT

3.6 ACTIVITY DIAGRAM

Log In

Admin

User

Enter Detail

Selection

Report

List Of Available Property

Display Results

3.7 DATA DICTIONARY AND TABLES USED 3.7.1 PROPERTY


TABLE NAME::PROPERTY ATTRIBUTES NAME PROP_ID (PRIMARY KEY) PROP_DATE PROP _CATEGORY_ID PROP_PHOTO PROP_LISTINGTYPE_ID PROPERTYTYPE_ID PROP_CITY_ID MEMBER_ID (FOREIGN KEY) PROP_VALUE PROPDETAILS_ID PROP_FEATURES PROP_PLOT_ LAYOUT TYPE NUMBER DATE STRING BYTES STRING NUMBER STRING NUMBER NUMBER NUMBER STRING SET STRING DESCRIPTION PRIMARY KEY DATE OF ENTRY RESIDENTIAL/COMMERCIAL/INDUSTRIAL SNAPSHOT SALE/PURCHASE,LEASE-AVAIL/LEASE -WANTED FOREIGN KEY-PROPERTY TYPE TABLE CITY OF LOCATION OWNER'S ID -FOREIGN KEY VALUE OF THE PROPERTY/RENT AREA,ADDRESS,LOCALITY ALL ADITIONAL FEATURES LIKE SECURITY,LUXURY ETC NO.OF ROOMS

3.7.2 MEMBER
TABLE NAME::MEMBER AGENT ATTRIBUTES NAME ID (PRIMARY KEY) NAME CITY EMAILADRRESS USERID PASSWORD TYPE CONTACT PERSON NAME COMAPANY NAME ADDRESS PROFILE CONTACT NO WEBSITE TYPE NUMBER STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING DESCRIPTION NAME OF THE MEMBER CITY OF LIVING EMAIL Id

DIRECT PARTY/AGENT

3.7.3 PROPERTY DETAILS


TABLE NAME::Property Details ATTRIBUTES NAME ID ADDRESS LOCALITY CONSTRUCTION AREA DISPLAYNO PROP_ID TYPE NUMBER STRING STRING NUMBER BOOLEAN NUMBER DESCRIPTION

WHETHER TO DISPLAY TELEPHONE NUMBER FOREIGN KEY

3.7.4 CITY
TABLE NAME::CITY ATTRIBUTES NAME TYPE CITY_ID NUMBER CITY_NAME STRING PROP_ID NUMBER

DESCRIPTION

FOREIGN KEY

3.7.5 CATEGORY
TABLE NAME::PROPERTY CATEGORY ATTRIBUTES NAME TYPE CATEGORY_ID NUMBER CATEGORY_NAME STRING TYPE_ID NUMBER PROPERTY_ID NUMBER

DESCRIPTION

FOREIGN KEY

3.7.6 PROPERTY TYPE


TABLE NAME::PROPERTY TYPE ATTRIBUTES NAME TYPE TYPE_ID NUMBER TYPE_NAME STRING CATEGORY_ID NUMBER PROPERTY_ID NUMBER

DESCRIPTION

4.
The following are the screens with their description:

USER MANUAL

5.
5.1 LOGIN PAGE
Label User Name Password Input Null User1 Null User1 Actual Output Incorrect username or password Incorrect username or password -

TESTING

Expected Output Incorrect username or password Incorrect username or password -

Successful Yes/ No Yes Yes Yes Yes

5.2 LOGIN PAGE


Label Name Input Null User1 Null Null Null Null Alphabets Null Wrong format of email Actual Output Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty Invalid Input Required field cannot be empty Enter email in the right format Required field cannot be empty Required field cannot be empty Password dont match with each other Password is less than 6 characters Required field cannot be empty Required field cannot be empty Expected Output Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty Invalid Input Required field cannot be empty Enter email in the right format Required field cannot be empty Required field cannot be empty Password dont match with each other Password is less than 6 characters Required field cannot be empty Required field cannot be empty Successful Yes/No Yes Yes Yes Yes Yes Yes Yes Yes Yes

Gender Address City Mobile no Mobile No. Email ID Email ID

User id User1 Null Passwords different Less than 6 characters Null Null

Yes Yes Yes Yes Yes Yes Yes

Password Password Password Listing Type Category

5.3 SEARCH PROPERTY


Label Listing Type Input Null Drop Down Null City Null flat Null 2,00,000 Actual Output Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty Expected Output Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty Successful Yes/No Yes Yes Yes Yes Yes Yes Yes Yes

City

Property Type Price

5.4 EDIT PROFILE


Label Input Actual Output Expected Output Successful Yes/No

User name

Null User1 Null User1 Null Hardik Null Hardik Different password

Old Password New password Confirm password Password

Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty Passwords dont match

Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty Passwords dont match

Yes Yes Yes Yes Yes Yes Yes Yes Yes

5.5 LINK TESTING


Scenario Actual Output Expected Output Successful Yes/No

Trying to Add property/Requirement without logging in Trying to contact owner without logging in

Redirection to error page -

Redirection to error page Redirection to error page

Yes

No

5.6 ADD PROPERTY


Label Input Actual Output Expected Output Successful Yes/No

Category

Null Drop Down Null Drop Down Null Null Address Null Checkbox Null 2BHK Null Area in sqft Null Amount

Listing Type

Area Property Address Property Features Layout

Area in sqft

Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty -

Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty Required field cannot be empty -

Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes

Total Price

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.
7.1 DESCRIPTION OF TECHNOLOGY USED

APPENDIX

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, codegeneration 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.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 application business/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.

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

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.

Potrebbero piacerti anche