Professional Documents
Culture Documents
Abstract:
The project "RentEase" is a web platform designed to facilitate the rental process for
tenants, landlords, and administrators. It provides features such as property searching,
feedback submission, appointment scheduling, and administrative management. Tenants
can search for properties, give feedback, and manage appointments. Landlords can list
properties, update property details, view feedback, and manage appointment requests.
Administrators oversee the system, managing feedback, appointments, and user details.
The platform aims to streamline the rental process and enhance communication between
tenants, landlords, and administrators.
Key Features:
• User Roles: The system supports three types of users: tenants, landlords, and
administrators, each with their own set of functionalities and permissions.
• Property Listings: Landlords can list their properties for rent, including flats or rooms,
providing details such as location, amenities, rent amount, and availability status.
• Property Search: Tenants can search for rental properties based on criteria such as
location, rent range, property type, and amenities.
• Feedback System: Tenants can provide feedback on their rental experience, including
ratings and comments, which landlords can view and respond to.
• Appointment Management: Tenants can schedule appointments to view properties,
and landlords can accept or decline these appointments through the platform.
• Administrative Dashboard: Administrators have access to a dashboard to manage user
accounts, view all feedback submissions, monitor appointments, and access tenant
and landlord details.
• Status Updates: The system provides status updates for appointments, indicating
whether they are accepted, declined, or pending. Landlords can update appointment
statuses accordingly.
• User Profiles: Users can create and manage their profiles, including personal
information, contact details, and preferences.
• Property Updates: Landlords can update property details, such as rent amount,
availability, and amenities, to ensure accuracy and relevance for potential tenants.
• Secure Authentication: The system employs secure authentication mechanisms to
ensure that only authorized users can access their accounts and perform relevant
actions.
1
2) Introduction:
The "RentEase" platform aims to streamline the process of renting properties by providing a
user-friendly and efficient online system. With three distinct user roles – tenants, landlords,
and administrators – the platform caters to the diverse needs of individuals involved in the
rental process.
Tenants can easily search for rental properties based on their preferences, such as location,
rent range, and amenities, enabling them to find suitable accommodation quickly and
conveniently. Additionally, tenants can provide feedback on their rental experiences,
facilitating communication with landlords and improving overall satisfaction.
Landlords have the ability to list their properties for rent, manage property details, and view
feedback from tenants. They can also schedule and manage appointments for property
viewings, enhancing communication and engagement with potential tenants.
Administrators oversee the entire rental process, managing user accounts, monitoring
feedback submissions, and ensuring smooth operation of the platform. With access to
comprehensive data on tenant and landlord activities, administrators play a crucial role in
maintaining transparency and efficiency within the system.
Overall, "RentEase" serves as a centralized platform that fosters seamless interaction between
tenants and landlords, facilitating the rental process and enhancing the overall experience for
all stakeholders involved.
2
2.1) Motivation:
The motivation behind developing RentEase stems from the need to address common
challenges and inefficiencies in the traditional rental process. These challenges include:
1. **Ease of Access:** Many individuals struggle to find suitable rental properties due to
limited access to information and resources. RentEase aims to provide a user-friendly platform
accessible to all, simplifying the property search process.
3
2.2 Problem Statement:
The problem statement revolves around the inefficiencies and complexities in the traditional
process of renting flats or rooms, both from the perspective of tenants and landlords. These
inefficiencies include:
1. Difficulty in finding suitable rental properties: Tenants often struggle to find rental properties
that meet their specific requirements in terms of location, amenities, and budget.
3. Inconvenient appointment scheduling: Both tenants and landlords may face challenges in
scheduling and managing appointments for property viewings or inspections.
Overall, the problem statement highlights the need for a comprehensive and user-friendly
platform that addresses these challenges, streamlines the rental process, enhances
communication and transparency, and improves the overall rental experience for both tenants
and landlords.
4
2.3 Purpose/Objectives/Goals:
The purpose, objectives, and goals of the RentEase platform are as follows:
1. **Simplify Rental Process**: The primary goal is to simplify the rental process for both
tenants and landlords by providing a user-friendly platform where they can easily search for
properties, schedule appointments, and manage rental agreements.
3. **Improve Efficiency**: Improve the efficiency of the rental process by automating tasks
such as appointment scheduling, rental application processing, and feedback collection.
5. **Ensure Satisfaction**: Ensure tenant satisfaction by providing a platform where they can
provide feedback on their rental experiences, which landlords can use to improve their
properties and services.
8. **Provide Insights**: Provide insights and analytics to landlords to help them make
informed decisions about their rental properties, such as pricing, market demand, and property
performance.
Overall, the purpose of RentEase is to create a comprehensive rental platform that improves
the rental experience for all stakeholders involved while ensuring transparency, efficiency, and
satisfaction.
5
2.4 Literature Survey:
A literature survey for RentEase would involve reviewing existing research, publications, and
platforms related to rental management systems, real estate technology, and user experience in
property rental. Here are some key areas that would be explored:
2. **Real Estate Technology Trends**: Examining current trends and innovations in real estate
technology, including rental platforms, property management software, and smart home
solutions. This would involve looking into research papers, industry reports, and case studies.
4. **Data Security and Privacy**: Investigating literature on data security and privacy
concerns in rental platforms, including compliance with regulations such as GDPR and CCPA.
This would involve understanding methods for securely storing user data, implementing
encryption protocols, and ensuring user consent for data processing.
6. **User Feedback and Reviews**: Analyzing user feedback and reviews from existing rental
platforms to identify common pain points, user preferences, and areas for improvement. This
qualitative analysis would provide insights into user expectations and satisfaction levels.
6
2.5 Project Scope and Limitations:
The scope of the RentEase project encompasses the development of a comprehensive online
platform for rental management, targeting tenants, landlords, and administrators. Key features
include property search, appointment scheduling, feedback submission, property listing
management, and administrative oversight. However, it's important to define the scope and
acknowledge certain limitations:
### Scope:
1. **User Segmentation**: The platform caters to three primary user roles: tenants,
landlords, and administrators. Each role has distinct features and functionalities tailored to
their needs.
2. **Property Management**: Tenants can search for available properties based on their
preferences, schedule appointments for viewing, and submit feedback after visiting. Landlords
can list their properties, manage listings, and review feedback from tenants.
4. **Feedback System**: Tenants can provide feedback on properties they've visited, which
landlords can review. Administrators have access to all feedback submissions for monitoring
and analysis.
### Limitations:
2. **Feature Set**: Due to time and resource constraints, certain advanced features such as
predictive analytics for property recommendations or integrated payment systems may not be
included in the initial version.
3. **Data Privacy Compliance**: While efforts are made to ensure compliance with data
privacy regulations, such as GDPR and CCPA, complete assurance may require ongoing
updates and adjustments based on evolving legal requirements.
7
3) System Analysis:
The existing system for rental management typically involves traditional methods such as
classified advertisements, property listings in newspapers or real estate agencies, and direct
communication between landlords and tenants. Here's an overview of the existing system's
components:
1. **Offline Property Search**: Tenants rely on physical visits to real estate agencies or
scanning classified ads in newspapers to find rental properties. This process can be time-
consuming and limited to the availability of printed materials.
3. **Feedback Submission**: After visiting a property, tenants may provide feedback directly
to the landlord or property manager through informal channels. However, there's no
standardized system for collecting and managing feedback from multiple tenants.
Overall, the existing system lacks a centralized platform that streamlines the rental
management process, from property search to feedback submission. There's a need for a digital
solution that enhances transparency, efficiency, and user experience for both tenants and
landlords.
8
3.2) Scope and Limitations of Existing System
### Scope of Existing System:
1. **Property Listing**: The existing system allows landlords to list their properties for rent,
providing basic details such as location, amenities, and rental terms.
2. **Tenant Search**: Tenants can search for rental properties based on their preferences, such
as location, budget, and property type.
1. **Manual Processes**: The existing system relies heavily on manual processes for property
listing, appointment scheduling, and feedback submission, leading to inefficiencies and delays.
2. **Limited Accessibility**: Since the system is primarily offline, access to property listings
and appointment scheduling is limited to specific locations or times, inconveniencing both
tenants and landlords.
9
3.3) Project perspective, features, stakeholders:
Features:
*Function Specification: -
❖ Tenant: -
✓ Registration
✓ Login
✓ Searching Flat
✓ Searching Room
✓ Booking Appointments
✓ Giving Feedback
❖ Landlord: -
✓ Registration
✓ Login
✓ Listing properties
✓ Updating properties
✓ Deleting properties
✓ Accepting/Declining Appointments
✓ Checking its Feedback
❖ Admin: -
✓ Login
✓ Manage all Appointments.
✓ Manage all Feedback.
✓ Manage all Tenants.
✓ Manage all Landlords.
Stakeholders:
The stakeholders of the RentEase platform include tenants seeking rental properties,
landlords offering their properties for rent, administrators managing the platform, developers
responsible for its design and maintenance, service providers ensuring its functionality and
security, and regulatory authorities overseeing compliance with rental laws.
10
3.4) Requirement Analysis:
Requirement analysis involves identifying, documenting, and confirming the needs and
expectations of stakeholders regarding the RentEase platform. This process encompasses
gathering user requirements, defining system functionalities, establishing performance criteria,
and delineating constraints. Key aspects of requirement analysis for RentEase include
understanding the desired features for tenants, landlords, and administrators, ensuring usability,
scalability, and security, and aligning the platform's capabilities with industry standards and
legal regulations governing rental transactions. This phase lays the foundation for designing
and developing a robust and user-centric rental management system.
Functional analysis in the context of RentEase entails breaking down the system's
functionalities into smaller, manageable components to understand how each feature
contributes to achieving the platform's objectives. This involves identifying and describing the
specific tasks and actions that users (tenants, landlords, and administrators) can perform within
the system. For example, functionalities may include property search, appointment scheduling,
feedback submission, property listing, user management, and administrative tasks such as
report generation and data analysis
Performance analysis in the context of RentEase involves evaluating the system's efficiency
and effectiveness in terms of response time, throughput, scalability, and resource utilization.
This includes assessing how quickly the system responds to user requests, how many requests
it can handle simultaneously without degradation in performance, and how well it scales as
the user base grows. Performance analysis also involves identifying potential bottlenecks and
areas for optimization to ensure that the system can meet the demands of its users reliably and
efficiently.
Security analysis in RentEase is crucial to ensure the protection of user data, prevent
unauthorized access to sensitive information, and safeguard the system from various security
threats. This involves evaluating the implementation of authentication mechanisms to verify
the identities of users, ensuring secure transmission of data over the network through
encryption protocols such as SSL/TLS, and implementing access control mechanisms to
restrict user privileges based on roles and permissions.
11
4) Implementation Details:
Software Requirement
Operating System Microsoft windows 11
Software: -
Front –End Software HTML, CSS, JavaScript, Angular JS
Back-End Software PHP, My SQL, Ajax
Hardware Requirement
Processer: Intel core i5 3.60GHZ
RAM: 8GB or more
Monitor: LCD monitor
Keyboard: Normal keyboard
12
5) System Design:
A) ERD
tcontact teamil aemail
tno aid
tenant admin
tname aname
tpass apass
tage
nake gives
checks
No_of_tenants
searches
rating fid
pno plocation
paddress Img1
pno
comment
lid bhk
have
checks
adate
lid
tno
appointment
landlord
lname
pno
astatus ano
lpass contact leamil 13
5.2.1) File Design / Normalized Database:
14
Table Name: property
Sr. No. Field Name Datatype Width Constraint
1 pno int 11 Primary key
2 ptype Varchar 20 Not null
3 paddress Varchar 200 Not null
4 plocation Varchar 56 Not null
5 carpet Bigint 20 Not null
6 img1 Varchar 200 Not null
7 bhk Int 11 Not null
8 no_of_tenant Int 11 Not null
9 lid Int 11 Foreign key
15
5.2.2) Data Dictionary:
16
23 no_of_tenant Int 11 Not null Property No of tenants
allowed
24 lid Int 11 Foreign key Property Landlord id
17
5.3.1) Data Flow Diagram:
0.0
RentEase.com
tenant details.
tenant
Search tenant
feedback
Landlord details
Property
landlord details landlord
Property
1.0
username
password
Admin username
access
Login
validate Login
username Details
password password
tenant
access
username
landlord password
access
18
2.0
Search Search
tenant property
property Searching flat property
Property Property
details details
3.0
Property details
Property details Date
tenant Booking
Appointment Tenant Appointment
Appointment
date details
4.0
Appointment details
Appointment details
landlord Approval Appointment
Status of Approval of
Status of
appointment Appointment
appointment
tenant Status of
appointment
19
5.0
6.0
query Property
admin
Report property
report details
generation Landlord
details landlord
Feedback
details Feedback
Appointment Appointment
details
20
5.3.2) Data Model:
A) Class Diagram:
checks 1..*
tenant feedback
tno:int fid:int 1..*
tname:varchar 1..* 1..*
tno:int
temail:varchar pno:int
tcontact:bigint rating:int
check() display()
search_property()
1..*
1..*
search
1..*
1..*
update()
book_appointment()
display_property()
1..*
1..* m
have checks
1..* 1..* 1
landlord admin
lid:int ano:int
lname:varchar aname:varchar
lemail:varchar aemail:varchar
contact:bigint apass:varchar 1
1..*
approve_appointment() check_appointment()
21 check_feedback()
B) Object Diagram:
22
C) Use Case Diagram:
23
D) Sequence Diagram:
24
E) Activity Diagram:
25
F) Component Diagram
26
G) State Chart Diagram
27
H) Deployment Diagram:
28
4.3) User Interface
29
30
31
32
33
34
35
36
37
38
39
40
41
5.5) Source Code:
Tenant_dashboard.php
<!DOCTYPE html>
<?php
session_start();
$con=mysqli_connect("localhost","root","","project2");
if (isset($_SESSION['alert_message']))
{
$alert_message = $_SESSION['alert_message'];
unset($_SESSION['alert_message']);
echo "<script>alert('$alert_message');</script>";
}
?>
<html lang="en" ng-app="myApp">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f4f4f4;
display: flex;
flex-direction: column;
min-height: 100vh;
}
header {
color: #333;
padding: 15px 20px;
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
position: fixed;
top: 0;
background-color: #fff;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
header img {
width: 300px;
height: 100px;
object-fit: cover;
}
42
nav {
display: flex;
align-items: center;
margin-right: 20px;
}
nav a {
color: #333;
text-decoration: none;
margin-right: 20px;
transition: color 0.3s;
}
header a.login-signin {
background-color: #ffcc00;
color: black;
padding: 12px;
border-radius: 10px;
font-size: 24px;
}
header a:hover {
color: #ffcc00;
background-color: black;
cursor: pointer;
}
.dashboard {
display: flex;
justify-content: center;
align-items: center;
flex-grow: 1;
}
.menu {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
max-width: 700px;
margin: 20px auto;
}
.menu-item {
width: 180px;
height: 150px;
margin: 12px;
display: flex;
justify-content: center;
align-items: center;
43
color: #fff;
text-align: center;
text-decoration: none;
border-radius: 10px;
cursor: pointer;
transition: background-color 0.3s;
}
.menu-item:hover {
background-color: rgba(255, 255, 255, 0.1);
}
footer {
background-color: #333;
color: #fff;
padding: 10px 20px;
text-align: center;
}
.overlay {
width: 100%;
height: 100vh;
background: rgba(0, 0, 0, 0.5);
position: fixed;
top: 0%;
z-index: -1;
opacity: 0;
transition: 1s;
}
.showoverlay {
opacity: 1;
z-index: 1;
}
.login {
width: 320px;
height: 380px;
background: #0099cc;
color: #fff;
top: -50%;
left: 50%;
position: absolute;
44
transform: translate(-50%, -50%);
box-sizing: border-box;
padding: 60px 30px;
box-shadow: 0px 0px 10px 3px #ccc;
transition: 1s;
z-index: 9;
}
.showloginform {
top: 50%;
}
.login h1 {
margin: 0;
padding: 0 0 20px;
text-align: center;
font-size: 22px;
}
.login p {
margin: 0;
padding: 0;
font-weight: bold;
}
.login input {
width: 100%;
margin-bottom: 20px;
}
.login input[type="email"],
.login input[type="password"] {
border: none;
border-bottom: 1px solid #fff;
background: transparent;
outline: none;
height: 40px;
color: #fff;
font-size: 16px;
}
.login input[type="submit"] {
border: none;
outline: none;
height: 40px;
background: orange;
color: #fff;
font-size: 18px;
border-radius: 20px;
}
45
.login input[type="submit"]:hover {
cursor: pointer;
background: white;
color: #000;
}
.login ::placeholder {
color: white;
}
.login a {
text-decoration: none;
font-size: 16px;
line-height: 20px;
color: black;
}
.login a:hover {
color: #f0cf8b;
}
.login span.validation-message {
color: red;
font-size: 12px;
margin-top: 5px;
margin-bottom: 5px;
display: block;
}
.close{
position: absolute;
right: 0px;
top: 0px;
width: 30px;
height: 30px;
background-color: orange;
text-align: center;
color: white;
line-height: 30px;
cursor: pointer;
}
.no-hover:hover
{
color: inherit;
background-color: inherit;
}
</style>
<title>RentEase</title>
<script
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
46
<script language="javascript">
var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope) {
$scope.close = function () {
document.querySelector(".overlay").classList.remove("showoverlay");
document.querySelector(".login").classList.remove("showloginform");
};
});
function show() {
document.querySelector(".overlay").classList.add("showoverlay");
document.querySelector(".login").classList.add("showloginform");
}
document.addEventListener("DOMContentLoaded", function () {
var c = document.querySelector("span");
c.addEventListener("click", close);
});
</script>
</head>
<body ng-controller="myCtrl">
<header>
<a class="no-hover" href="linkingpage.php"><img src="images/logo.png" alt="RentEase
Logo"></a>
<nav>
<!-- <a class="login-signin" onclick="show()">Login/Sign In</a> -->
<?php
if (!isset($_SESSION['temail'])) {
echo '<a class="login-signin" onclick="show()">Login</a>';
}
if (isset($_SESSION['temail']))
{
echo '<span style="margin-right: 20px;" class="span-login"><font style=" font-
size: 24px;">Welcome, ' . $_SESSION['tname'] ;
echo '</font><a class="login-signin" style="margin-left: 50px; "
href="t_logout.php">Logout</a></span>';
}
?>
</nav>
</header>
<div class="dashboard">
<div class="menu">
<a href="search_flat.php" class="menu-item add-property">Search Flat</a>
<a href="search_room.php" class="menu-item check-feedback">Search
PG/Room</a>
<a href="t_check_appointment.php" class="menu-item
appointments">Appointments</a>
47
<a href="t_feedback.php" class="menu-item check-property">Give FeedBack</a>
</div>
</div>
<div class="overlay"></div>
<div class="login">
<span ng-click="close()" class=close>×</span>
<h1>Tenant Login</h1>
<form name="f1" action="t_login.php" method="post">
<p>Email id</p>
<input type="email" name="t1" placeholder="Enter email id" ng-model="t1"
required>
<span class="validation-message" ng-show="f1.t1.$dirty && f1.t1.$invalid">
<span ng-show="f1.t1.$error.required">Field required .... </span>
<span ng-show="f1.t1.$error.email">Enter valid email id. . </span>
</span>
<p>Password</p>
<input type="password" name="t2" placeholder="Enter Password" ng-model="t2"
required ng-minlength="8" ng-maxlength="8" ng-pattern="/^[a-zA-Z0-9]+$/">
<span class="validation-message" ng-show="f1.t2.$dirty && f1.t2.$invalid">
<span ng-show="f1.t2.$error.required">Field required .... </span>
<span ng-show="f1.t2.$error.pattern">Enter valid Password. . </span>
<span style="color: red;" ng-show="f1.t2.$error.minlength">Password should
contain 8 characters</span>
<span style="color: red;" ng-show="f1.t2.$error.maxlength">Password should
contain 8 characters </span>
</span>
<input type="submit" value="Login">
<a href="t_signup.php">Don't have an Account. . ?</a>
</form>
</div>
<footer>
© 2024 RentEase. All rights reserved.
</footer>
</body>
</html>
48
6) Output and Report Testing:
A) Objective: The really major objective behind testing this software basically is to for the
most part make it generally more flexible for users to operate, which for the most part is fairly
significant. And to essentially avoid really technical faults in the particularly particular program
in a subtle way. However, the software really is web based and here we for all intents and
purposes consider the software as an internet based and the testing will find out proper working
condition of software, demonstrating that objective: The actually major objective behind
testing this software kind of is to basically make it sort of more flexible for users to use, which
literally is fairly significant.
B) Project Overview: The aim of Proposed System is to develop a system which makes a
easy way to any anime lover to come to know about anime. Provides easy and quick access
over the data. Keeping the records of users, new anime, favorites and other details. It takes
minimum time than the Existing System. It maintains the accuracy of Data.
C) Assumptions:
I. while testing this software we assume that expected output will recur
II. there may be a chance of errors while testing functionalities under different environments.
D) Test Execution
Black Box Testing is a software testing method in which the functionalities of software
applications are tested without having knowledge of internal code structure, implementation
details and internal paths. Black Box Testing mainly focuses on input and output of software
49
applications and it is entirely based on software requirements and specifications. It is also
known as Behavioral Testing.
Usability Ensure all links are Have users click on Links will take users to
working properly. various links on the another web page
page according to the on- Pass
page URL.
50
6.1.2) White Box Testing/Functional Validity Test Cases and Results:
The White Box Testing is a type of testing technique that mainly examines program structure
and derives test data based on program logic or code. It also referred to names like clear box
testing, open box testing, logic-driven testing or path driven testing or structural testing.
51
52
7) Conclusion And Recommendations:
- **User Feedback Integration:** Continuous collection and analysis of user feedback are
vital components for RentEase's evolution. This feedback loop ensures that user concerns are
addressed promptly, and the platform's features are refined to meet user expectations
effectively.
- **User Education and Support:** Providing comprehensive user education and support
resources empowers users to maximize their experience with RentEase. Offering tutorials,
FAQs, and responsive customer support channels ensures that users can navigate the platform
seamlessly and address any queries or concerns promptly
53
8) Future Scope:
- **Partnerships and Collaborations:** Forge strategic partnerships with real estate agencies,
property developers, or rental associations to access new resources, tap into specialized
expertise, and foster mutually beneficial collaborations.
• https://chat.openai.com/
• https://anix.to/home
• https://www.w3schools.com/
• HTML and CSS: Design and Build Websites
• CSS: The Definitive Guide
54