0% found this document useful (0 votes)
108 views81 pages

House Rental Management System Report

Report

Uploaded by

Kartik Patil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
108 views81 pages

House Rental Management System Report

Report

Uploaded by

Kartik Patil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

A Project Report on

House Rental Management System

By

Miss. Nidhi Kartik Argulewar

Miss. Sejal Pranay Rahood

MCA – I, SEM – I

A.Y. 2023-24

To
Savitribai Phule Pune University,Pune

In Partial Fulfillment of the Degree of


Master in Computer Application (M. C. A.)

Batch 2023-2025

Under The Guidance Of


Prof. Poonam Lalwani

Suryadatta Group of Institutes, Pune


Suryadatta Institute of Management and Mass Communication (SIMMC)

Date:-

1
CERTIFICATE

This is to certify that Miss. Nidhi Argulewar And Miss. Sejal Pranay Rahood , has

successfully completed his/her project work entitled “House Rental Management

System” in partial fulfillment of MCA – I Semester-I program for the year A.Y. 2023-

24 . He / She have worked under our guidance and direction.

[Link] Lalwani Dr. Manisha Kumbhar


Project Guide HoD-MCA,SGI

Examiner 1 Examiner 2

Date :
Place :

2
Acknowledgment

We are the student of MCA first year. Here by we express our thanks to our project guide for
allowing us to do the project on House Rental Management System. This project work has been
the most exciting part of our learning experience which would be an asset for our future carrier.
We would especially like to thank our guide and mentor Prof. Poonam Lalwani, who constantly
guided us in developing, pushing us to search for more answers to her numerous questions.
Also I would like to thank Dr. Rupali Dahake , project coordinators for her support. As a
building block of MCA Department, I thank Dr. Manisha Kumbhar, HOD, MCA Department
for her continuous support and help. We are grateful to many classmates who contributed their
suggestions. Their hard work and examples push us to limits of our capability and encourage us
daily.

Thank You

Nidhi Argulewar
Sejal Rahood

3
Index

Chapter Page number


CHAPTER 1 : INTRODUCTION
1.1 Existing System
1.2 Need for System
1.3 Operating Environment Hardware and
Software
1.4 Brief Description about Technology Used
CHAPTER 2 : PROPOSED SYSTEM
2.1 Proposed System (Introduction of system)
2.2 Module specifications (Scope)
2.3 Objectives of System
CHAPTER 3 : ANALYSIS & DESIGN
3.1 Use Case Diagrams
3.2 Activity Diagram
3.3. Sequence Diagram
3.4 Class Diagram
3.5 Module Hierarchy Diagram
3.6 Table specifications (Database design)
3.7 Data dictionary
CHAPTER 4 : USER MANUAL
4.1 User Interface Screens (Input)
4.2 Output Screens with data
4.3 Data Reports
4.4 Sample program code
4.5 Limitations
Bibliography

4
Chapter 1: INTRODUCTION

House Rental Management System is a web-based application. This system


aims to streamline the process of renting and managing residential properties for both
owners and tenants. Built using PHP for server-side scripting and SQL for database
management, our platform provides a user-friendly interface accessible to both property
owners and tenants.

The House Rental Management System is a comprehensive software solution


designed to streamline and automate the process of managing rental properties. In
today's fast-paced world, property management can be a complex task involving
numerous responsibilities such as tenant management, property maintenance, financial
tracking, and documentation management. Here is our main problem to reach at own
place and feel comfort. We traveled frequently for our work. So, it is impossible to buy
our own houses to different cities. It is not convenient and is very costly.
There are many persons out there who suffer it. So, I thought about what would
happen if we rent an house. It would save money .That is where we came up with the
idea of the Rental House Management System. The rental house management system
will keep track the record of all the activities and the records related to it in a centralized
manner. People who can’t afford a house. It offers a comprehensive set of features and
functionalities that enable efficient management of rental reservations, customer
information, financial transactions, and reporting.
The aim of this project is to develop a robust and user-friendly system that
simplifies the management of rental properties for landlords, property managers, and
tenants alike. By leveraging the power of technology, this system offers a centralized
platform where all aspects of property management can be efficiently handled.

5
1.1 Existing System

An existing house rental management system is a web page that helps rental house
businesses manage their property listing, tenant management, maintenance requests,
rent collection, document management, reporting and analytics and communication.
These systems typically include features for:

 Property Listing:
o Landlords can easily list their properties for rent, providing detailed information
such as location, rental price, amenities, and photographs.

 Tenant Management:
o The system facilitates the management of tenants by allowing landlords to keep
track of tenant information, lease agreements, rent payments, and communication
history.

 Maintenance Requests:
o Tenants can submit maintenance requests through the system, which are
automatically routed to the appropriate maintenance personnel for resolution.
Landlords can track the status of maintenance requests and ensure timely
resolution.

 Rent Collection:
o The system enables automated rent collection, allowing landlords to set up
recurring payment schedules and receive rent payments electronically. It also
sends reminders to tenants for upcoming rent payments, reducing the risk of late
payments.

 Document Management:

6
o Important documents such as lease agreements, rental applications, and inspection
reports can be stored securely within the system. This ensures easy access to
documentation when needed and reduces the reliance on paper-based processes.

7
1.2 Need for System

The need for a House Rental Management System arises from several
challenges and inefficiencies inherent in traditional methods of managing rental
properties. Here are some key reasons why such a system is essential:

 Streamlining Processes:
o Traditional methods of managing rental properties often involve manual
paperwork, phone calls, and in-person interactions. This can be time-consuming
and prone to errors. A rental management system streamlines these processes by
digitizing documentation, automating tasks such as rent collection and
maintenance requests, and providing a centralized platform for communication.

 Tenant Management:
o Managing tenants effectively is crucial for landlords to ensure timely rent
payments, address maintenance issues promptly, and maintain positive
relationships. A rental management system provides tools for managing tenant
information, tracking lease agreements, communicating with tenants, and
handling maintenance requests efficiently.

 Financial Management:
o Keeping track of rental income, expenses, and financial records manually can be
challenging and error-prone. A rental management system automates financial
processes such as rent collection, generates financial reports, and provides
insights into the financial performance of rental properties, helping landlords
make informed decisions and optimize their rental income.

 Maintenance Management:
o Property maintenance is an ongoing responsibility for landlords, and addressing
maintenance issues promptly is essential for tenant satisfaction. A rental
management system enables tenants to submit maintenance requests online,

8
facilitates communication between landlords and maintenance personnel, tracks
the status of maintenance requests, and ensures timely resolution of issues.

 Documentation Management:
o Rental properties involve a significant amount of documentation, including lease
agreements, rental applications, inspection reports, and communication records.
Managing these documents manually can be cumbersome and inefficient. A rental
management system provides a secure and centralized repository for storing and
organizing documentation, ensuring easy access when needed and reducing
reliance on paper-based processes.

9
1.3 Operating Environment Hardware and Software

 PHP
 HTML
 CSS
 Jquery
 XAMPP
 My SQL
 VS code
 Google chrome
 Operating System:-Windows-11 or Later

 PHP

PHP is an open-source, interpreted, and object-oriented scripting language that can be executed
at the server-side. PHP is well suited for web development. Therefore, it is used to develop web
applications (an application that executes on the server and generates the dynamic page.).

 Feature of PHP

o Simplicity: PHP's organized structure and pre-defined functions make it easy to learn
and use, even for beginners.
o Flexibility: PHP scripts run on any device and integrate seamlessly with various
databases and web servers.
o Object-Oriented Support: PHP supports object-oriented programming,
enabling the development of complex, reusable web pages.

10
o Interpreted Language: PHP's interpreter executes code line by line, ensuring
platform independence and dynamic typing.
o Efficiency and Performance: PHP offers efficient memory management and
faster script execution, enhancing user experience.
o Cost-Effectiveness: Being open-source, PHP is free to use, making it a budget-
friendly choice for developers.
o Security Features: PHP provides robust encryption functions and security
measures to protect against vulnerabilities.
o Platform Independence: PHP runs on multiple operating systems and integrates
with diverse databases and servers.
o Loose Typing: PHP supports variable declaration without data type specification,
simplifying coding.
o Community Support: PHP benefits from a vibrant community of developers,
ensuring continuous improvement and availability of resources.

 HTML

Hypertext Markup Language (HTML) is the standard markup language for


creating web pages and web applications. With Cascading Style Sheets (CSS) and
JavaScript, it forms a triad of cornerstone technologies for the World Wide Web.
Web browsers receive HTML documents from a web server or from local storage and
render the documents into multimedia web pages. HTML describes the structure of a
web page semantically and originally included cues for the appearance of the document.
HTML elements are the building blocks of HTML pages. With HTML constructs,
images and other objects such as interactive forms may be embedded into the rendered
page. HTML provides a means to create structured documents by denoting structural
semantics for text such as headings, paragraphs, lists, links, quotes and other items.

The most basic of HTML conventions is the inclusion of a document type


declaration at the beginning of the text file. This always comes first in the document,
because it is the piece that affirmatively informs a computer that this is an HTML file.
11
The document header typically looks like this: <!DOCTYPE html>. It should always be
written that way, without any content inside it or breaking it up. Any content that comes
before this declaration will not be recognized as HTML by a computer.

Doctypes are not just used for HTML, they can apply to the creation of any
document that uses SGML (Standard Generalized Markup Language). SGML is a
standard for specifying a specific markup language being used. HTML is one of several
markup languages that SGML and doctype declarations apply to.

The other critical requirement for creating an HTML file is saving it with a .html
file extension. Whereas the doctype declaration signals HTML to the computer from the
inside of the file, the file extension signals HTML to the computer from the outside of
the file. By having both, a computer can tell that it's an HTML file whether it's reading
the file or not. This becomes especially important when uploading the files to the web,
because the web server needs to know what to do with the files before it can send them
to a client computer for the inner contents to be read.

After writing the doctype and saving as an HTML file, a user can implement all
the other syntactic tools of HTML to customize a web page. Once finished, they will
likely have several HTML files corresponding to various pages of the website. It's
important that the user uploads these files in the same hierarchy that they saved them in,
as each page references the specific file paths of the other pages, enabling links between
them. Uploading them in a different order will cause links to break and pages to be lost,
because the specified file paths will not match the pages.

 CSS

12
Cascading Style Sheets (CSS) is a style sheet language used for describing the
presentation of a document written in a markup language like HTML. CSS is a
cornerstone technology of the World Wide Web, alongside HTML and JavaScript.

CSS is designed to enable the separation of presentation and content, including


layout, colours, and fonts. This separation can improve content accessibility, provide
more flexibility and control in the specification of presentation characteristics, enable
multiple web pages to share formatting by specifying the relevant CSS in a separate css
file, and reduce complexity and repetition in the structural content.

CSS is designed to enable the separation of content and presentation, including


layout, colors, and fonts. This separation can improve content accessibility;[further
explanation needed] provide more flexibility and control in the specification of
presentation characteristics; enable multiple web pages to share formatting by
specifying the relevant CSS in a separate .css file, which reduces complexity and
repetition in the structural content; and enable the .css file to be cached to improve the
page load speed between the pages that share the file and its formatting.

Separation of formatting and content also makes it feasible to present the same
markup page in different styles for different rendering methods, such as on-screen, in
print, by voice (via speech-based browser or screen reader), and on Braille-based tactile
devices. CSS also has rules for alternate formatting if the content is accessed on a
mobile device. The name cascading comes from the specified priority scheme to
determine which declaration applies if more than one declaration of a property match a
particular element. This cascading priority scheme is predictable.

The CSS specifications are maintained by the World Wide Web Consortium
(W3C). Internet media type (MIME type) text/css is registered for use with CSS by
RFC 2318 (March 1998). The W3C operates a free CSS validation service for CSS
documents.

13
 jQuery

jQuery is a popular JavaScript library designed to simplify HTML document traversal


and manipulation, event handling, animation, and AJAX interactions. It provides a
concise and efficient way to interact with the Document Object Model (DOM) of a web
page, making it easier to write dynamic and interactive web applications.

 XAMPP

XAMPP is a free and open source cross-platform web server solution stack
package developed by Apache Friends, consisting mainly of the Apache HTTP Server,
MariaDB database, and interpreters for scripts written in the PHP and Perl programming
languages. XAMPP stands for Cross-Platform (X), Apache (A), MariaDB (M), PHP (P)
and Perl (P). It is a simple, lightweight Apache distribution that makes it extremely easy
for developers to create a local web server for testing and deployment purposes.
Everything needed to set up a web server – server application (Apache), database
(MariaDB), and scripting language (PHP) – is included in an extractable file. XAMPP is
also cross-platform, which means it works equally well on Linux, Mac and Windows.
Since most actual web server deployments use the same components as XAMPP, it
makes transitioning from a local test server to a live server extremely easy as well.

XAMPP, which stands for Cross-Platform, Apache, MySQL, PHP, and Perl, is a
free platform that allows developers to test their code locally on their own computers.
This platform provides the experience of having your own mini web server at home,
compatible with both Windows (WAMP) and Linux (LAMP) environments. It is a safe
space to experiment and perfect code before it goes live.

XAMPP also works with Bitnami, a software installer, allowing you to easily
add web applications like OpenSSL, WordPress, and Joomla to your local server. If
you're aiming to become or you are a web developer, XAMPP is a useful tool to help
you practice and enhance your coding skills.

14
XAMPP is simply a local host or server.

This local server runs on your personal computer, whether it’s a desktop or a laptop.
It is used to test clients or websites before publishing them to a remote web server.
On a local computer, the XAMPP server software provides a suitable environment for
testing MYSQL, PHP, Apache, and Perl projects. Because most real-world web server
deployments share the same components as XAMPP, moving from a local test server to
a live server is straightforward.

 My SQL

MySQL is currently the most popular database management system software used for
managing the relational database. It is open-source database software, which is
supported by Oracle Company. It is fast, scalable and easy to use database management
system in comparison with Microsoft SQL Server and Oracle Database. It is commonly
used in conjunction with PHP scripts for creating powerful and dynamic server-side or
web-based enterprise applications.

A relational database stores data in separate tables rather than putting all the data
in one big storeroom. The database structure is organized into physical files optimized
for speed. The logical data model, with objects such as data tables, views, rows, and
columns, offers a flexible programming environment. You set up rules governing the
relationships between different data fields, such as one to one, one to many, unique,
required, or optional, and “pointers” between different tables. The database enforces
these rules so that with a well-designed database your application never sees data that’s
inconsistent, duplicated, orphaned, out of date, or missing.

The “SQL” part of “MySQL” stands for “Structured Query Language.” SQL is
the most common standardized language used to access databases. Depending on your
programming environment, you might enter SQL directly (for example, to generate

15
reports), embed SQL statements into code written in another language, or use a
language-specific API that hides the SQL syntax.
Structured Query Language (SQL) is a specialized programming language
used for managing and manipulating relational databases. Developed in the 1970s, SQL
has become the standard language for interacting with and managing data in relational
database management systems (RDBMS). Its primary functions include querying and
updating data, defining and modifying the structure of databases, and controlling access
to data.

• Key features and aspects of SQL include:

Data Querying: SQL allows users to retrieve specific data from a database using
queries. The SELECT statement is fundamental for this purpose, enabling the retrieval
of data based on specified conditions.

Data Modification: SQL provides commands like INSERT, UPDATE, and


DELETE to add, modify, or delete data in a database. These commands are crucial for
maintaining the integrity and accuracy of the data.

Data Definition: SQL is used to define and modify the structure of a database.
Commands like CREATE TABLE, ALTER TABLE, and DROP TABLE are employed
to create, modify, or delete tables, respectively.
Data Integrity: SQL includes mechanisms for enforcing data integrity through
constraints such as primary keys, foreign keys, unique constraints, and check
constraints. These ensure the accuracy and consistency of the data stored in a database.

Transaction Control: SQL supports transactions, allowing a series of database


operations to be treated as a single, atomic unit. Transactions ensure data consistency
and integrity by either committing all changes or rolling back to the state before the
transaction started.

16
Data Security: SQL provides features for controlling access to databases and their
objects. This includes granting or revoking privileges on tables, views, and other
database elements.

Normalization: SQL supports the principles of database normalization, a design


technique aimed at minimizing data redundancy and dependency, thereby improving
data integrity.

Popular relational database management systems that implement SQL include


MySQL, PostgreSQL, Microsoft SQL Server, Oracle Database, and SQLite. While the
basic SQL syntax is standardized, different database systems may have variations and
proprietary extensions. SQL is a powerful tool for managing and extracting valuable
insights from large datasets, making it a fundamental skill for database administrators,
developers, and data analysts.

 Vs code

VS Code, short for Visual Studio Code, is a powerful and popular code editor
developed by Microsoft. It's known for its versatility, ease of use, and extensive
customization options.

17
CHAPTER 2 : PROPOSED SYSTEM

2.1 Proposed System

 Improved operational efficiency:


o The system's automated features and centralized data management will help to
streamline operations and reduce paperwork.

 Reduced costs:
o The system will help to identify areas where costs can be reduced.

 Increased customer satisfaction:


o The system's online booking and account management features will provide customers
with a convenient and easy-to-use rental experience.

 Increased revenue:
o The system's upselling and pricing optimization features will help to increase revenue.

 User Authentication and Authorization:

o Users (admins, owners, customers, tenants) can register and log in securely.
o Access permissions are granted based on user roles.

 Property Management:

o Owners can list their properties for rent, including details like location, size, amenities,
and rental price.
o Admins can review and approve property listings.
o Properties can be categorized and filtered for easier search.

18
 Booking and Reservation System:

o Customers can browse available properties and make booking requests.


o Owners receive booking requests and can accept or reject them.
o Customers receive confirmation upon successful booking.
o Calendar integration to manage property availability.
o
 Tenant Management:

o Tenants can sign rental agreements electronically.


o Access to tenant portals for rent payment, maintenance requests, and communication
with owners or property managers.
o Tracking of lease terms, rent payments, and security deposits.

 Rating and Feedback System:

o Customers and tenants can leave reviews and ratings for properties.
o Owners can respond to reviews and address concerns.
o Ratings and reviews contribute to property reputation and trustworthiness.

 Admin Dashboard and Settings:

o Centralized dashboard for admins to manage users, properties, bookings, and system
configurations.
o Settings for customizing features, notifications, and permissions

19
2.2 Modules Specification (Scope)

 Owner Module:

o Profile management for property owners.


o Ability to list and manage properties for rent.
o Viewing rental income, occupancy rates, and other relevant statistics.
o Communication tools for interacting with tenants and customers.
o Financial management features such as tracking expenses and profits.

 Customer Module:

o Registration and profile management for potential renters.


o Search and filter functionality to find rental properties based on preferences.
o Viewing property details, including images, descriptions, amenities, and pricing.
o Communication tools to contact property owners or managers.
o Booking functionality to reserve properties.

 Tenant Module:

o Profile management for current tenants.


o Viewing lease agreements, payment history, and maintenance requests.
o Communication tools for contacting landlords or property managers.
o Option to submit maintenance requests or report issues.
o Payment processing for rent and utilities.

20
 Admin Module:

o Dashboard for overall system management.


o User management, including adding/removing users and assigning roles.
o Property management tools for adding, editing, or removing listings.
o Reporting and analytics for tracking rental performance.
o System configuration and settings.

 Booking Module:

o Calendar-based booking system for managing property availability.


o Reservation management, including confirming, modifying, or cancelling bookings.
o Integration with payment processing for booking fees or deposits.
o Automated notifications for booking confirmations, reminders, and cancellations.

 Rating Module:

o Rating and review system for both properties and tenants.


o Feedback collection from customers and tenants.
o Displaying average ratings for properties.
o Moderation tools for managing reviews and resolving disputes.

 Houses Module:

o Database of rental properties with detailed information.


o Property categorization based on location, type, size, and amenities.
o Image galleries and virtual tours for showcasing properties.
o Pricing management for different rental periods and seasons.

21
o Integration with mapping services for location visualization.

2.3 Objectives of System

 Efficient Property Management :

o Centralize property information, including details such as addresses, rental prices, lease
agreements, and maintenance records.
o Enable property owners/managers to easily add, edit, and delete property listings, as
well as track property availability.

 Effective Tenant Management :

o Simplify tenant on boarding processes, including recording tenant details, lease


agreements, and contact information.
o Facilitate communication between property owners/managers and tenants for rent
payments, maintenance requests, and lease renewals.

 Improved Communication and Collaboration :

o Facilitate communication between property owners/managers, tenants, and maintenance


staff through internal messaging and notifications.
o Ensure timely responses to tenant inquiries, maintenance requests, and other
communication channels to enhance tenant satisfaction.

 Compliance with Regulations:

o Ensure the rental house management system complies with relevant laws and
regulations, including data privacy laws and landlord-tenant regulations.
o Maintain accurate records of lease agreements, tenant information, and financial
transactions to meet legal requirements.

22
 Enhanced Security and Data Protection:

o Implement robust security measures to protect sensitive data, such as tenant


information, financial records, and payment details.
o Encrypt data both in transit and at rest, implement secure authentication mechanisms,
and restrict access based on user roles and permissions.

 Scalability and Adaptability:

o Design the system to accommodate the growth of rental properties, tenants, and
transactions over time.
o Ensure scalability and adaptability to integrate new features, technologies, and third-
party services as needed to meet evolving business requirements.

 Improved Efficiency and Productivity:

o Reduce manual tasks and paperwork associated with property management, tenant
communication, and financial administration.
o Increase operational efficiency and productivity for property owners/managers by
automating repetitive tasks and optimizing workflow processes.

23
CHAPTER 3 : ANALYSIS & DESIGN

3.1 Use Case Diagram

 System

24
 Admin

25
 Tenants:

26
 Customer:

27
 Booking:

28
 Rating:

29
3.2 Activity Diagram:

30
3.3 Sequence Diagram

31
3.4 Class Diagram

32
3.5 Modular Hierarchy Diagram:

33
3.3 Table Specification (Data Design)

 Admin: Admin structure table this stores and manage data

34
 Booking: Booking structure table this stores the data of booking

35
 Owner: Owner structure table this stores the data of Owners

36
 Tenant: Tenant structure table this stores the data of tenants

37
 Customer: Customer structure table this stores the data of customers

38
 Rating: Rating structure table this stores the details of ratings

39
CHAPTER 4 : USER MANUAL

4.1 User Interface Screens (Input)

 Index Page:

40
41
 Admin Login:

42
 Sign-in:

43
 Sign-Up:

44
 Home Page

45
 Admin Panel

46
 Add Admin

47
 Manager Owner:

48
 Manage Tenants:

49
 Manage Customer:

50
 Houses:

51
 Booking:

52
 Owner Table

53
 Tenant Table

54
 Ratings:

55
4.3 Test Case:

56
57
4.4 Sample Code :

 Index:

 <?php
 include('includes/[Link]');
 include('includes/[Link]');
 ?>

 <!-- Begin Page Content -->
 <div class="container-fluid">

 <!-- Page Heading -->
 <div class="d-sm-flex align-items-center justify-content-between
mb-4">
 <h1 class="h3 mb-0 text-gray-800">Dashboard</h1>
 <!-- <a href="#" class="d-none d-sm-inline-block btn btn-sm
btn-primary shadow-sm"><i
 class="fas fa-download fa-sm text-white-50"></i> Generate
Report</a> -->
 </div>

 <!-- Content Row -->
 <div class="row">

 <!-- Earnings (Monthly) Card Example -->
 <div class="col-xl-3 col-md-6 mb-4">
 <div class="card border-left-primary shadow h-100 py-2">
 <div class="card-body">
 <div class="row no-gutters align-items-center">
 <div class="col mr-2">
 <div class="text-xs font-weight-bold text-primary
text-uppercase mb-1">Total Registered Admin</div>
 <div class="h5 mb-0 font-weight-bold text-gray-800">

 <h4>Total Admin: *</h4>
 <?php

 require ('[Link]');

 $query = "SELECT id FROM admin ORDER BY id";
 $query_run = mysqli_query($connection,$query);

58

 $row = mysqli_num_rows($query_run);

 echo '<h1>'.$row.'</h1>';

 ?>

 </div>
 </div>
 <div class="col-auto">
 <i class="fas fa-calendar fa-2x text-gray-300"></i>
 </div>
 </div>
 </div>
 </div>
 </div>

 <!-- Earnings (Monthly) Card Example -->
 <div class="col-xl-3 col-md-6 mb-4">
 <div class="card border-left-success shadow h-100 py-2">
 <div class="card-body">
 <div class="row no-gutters align-items-center">
 <div class="col mr-2">
 <div class="text-xs font-weight-bold text-success
text-uppercase mb-1">Total Owner Registered</div>
 <div class="h5 mb-0 font-weight-bold text-gray-800">

 <?php

 require ('[Link]');

 $query = "SELECT id FROM owner ORDER BY o_id";
 $query_run = mysqli_query($connection,$query);

 $row = mysqli_num_rows($query_run);

 echo '<h1>'.$row.'</h1>';

 ?>

 </div>
 </div>
 <div class="col-auto">
 <i class="fas fa-dollar-sign fa-2x text-gray-
300"></i>

59
 </div>
 </div>
 </div>
 </div>
 </div>

 <!-- Earnings (Monthly) Card Example -->
 <div class="col-xl-3 col-md-6 mb-4">
 <div class="card border-left-info shadow h-100 py-2">
 <div class="card-body">
 <div class="row no-gutters align-items-center">
 <div class="col mr-2">
 <div class="text-xs font-weight-bold text-info text-
uppercase mb-1">Existing Tenants</div>
 <div class="row no-gutters align-items-center">
 <div class="col-auto">
 <div class="h5 mb-0 mr-3 font-weight-bold text-
gray-800">

 <?php

 require ('[Link]');

 $query = "SELECT * FROM tenant WHERE id ='$t_id' ";
 $query_run = mysqli_query($connection,$query);

 $row = mysqli_num_rows($query_run);

 echo '<h1>'.$row.'</h1>';

 ?>
 </div>
 </div>
 <div class="col">
 <div class="progress progress-sm mr-2">
 <div class="progress-bar bg-info"
role="progressbar" style="width: 50%" aria-valuenow="50"
 aria-valuemin="0" aria-valuemax="100"></div>
 </div>
 </div>
 </div>
 </div>
 <div class="col-auto">
 <i class="fas fa-clipboard-list fa-2x text-gray-
300"></i>

60
 </div>
 </div>
 </div>
 </div>
 </div>

 <!-- Pending Requests Card Example -->
 <div class="col-xl-3 col-md-6 mb-4">
 <div class="card border-left-warning shadow h-100 py-2">
 <div class="card-body">
 <div class="row no-gutters align-items-center">
 <div class="col mr-2">
 <div class="text-xs font-weight-bold text-warning
text-uppercase mb-1">Customers</div>
 <div class="h5 mb-0 font-weight-bold text-gray-800">

 <?php

 require ('[Link]');

 $query = "SELECT * FROM customer WHERE id ='$c_id' ";
 $query_run = mysqli_query($connection,$query);

 $row = mysqli_num_rows($query_run);

 echo '<h1>'.$row.'</h1>';

 ?>
 </div>
 </div>
 <div class="col-auto">
 <i class="fas fa-comments fa-2x text-gray-300"></i>
 </div>
 </div>
 </div>
 </div>
 </div>
 </div>

 <!-- Content Row -->

61
 <?php
 include('includes/[Link]');
 include('includes/[Link]');
 ?>

 Admin:

<?php
session_start();
include('includes/[Link]');
?>

<div class="container">

<!-- Outer Row -->


<div class="row justify-content-center">

<div class="col-xl-6 col-lg-6 col-md-6">

<div class="card o-hidden border-0 shadow-lg my-5">


<div class="card-body p-0">
<!-- Nested Row within Card Body -->
<div class="row">
<div class="col-lg-12">
<div class="p-5">
<div class="text-center">
<h1 class="h4 text-gray-900 mb-4">Login Here!</h1>
<?php

if(isset($_SESSION['status']) &&
$_SESSION['status'] !='')
{
echo '<h2 class="bg-danger text-white"> '.
$_SESSION['status'].' </h2>';
unset($_SESSION['status']);
}
?>
</div>

62
<form class="user" action="[Link]"
method="POST">

<div class="form-group">
<input type="email" name="emaill" class="form-
control form-control-user" placeholder="Enter Email Address...">
</div>
<div class="form-group">
<input type="password" name="passwordd"
class="form-control form-control-user" placeholder="Password">
</div>

<button type="submit" name="login_btn"


class="btn btn-primary btn-user btn-block" > Login </button>
<hr>
</form>

</div>
</div>
</div>
</div>
</div>

</div>

</div>

</div>

<?php
include('includes/[Link]');
?>

 Admin Dashboard:

<?php
include('includes/[Link]');
include('includes/[Link]');
?>

63
<!-- Begin Page Content -->
<div class="container-fluid">

<!-- Page Heading -->


<div class="d-sm-flex align-items-center justify-content-between mb-4">
<h1 class="h3 mb-0 text-gray-800">Dashboard</h1>
<!-- <a href="#" class="d-none d-sm-inline-block btn btn-sm btn-
primary shadow-sm"><i
class="fas fa-download fa-sm text-white-50"></i> Generate
Report</a> -->
</div>

<!-- Content Row -->


<div class="row">

<!-- Earnings (Monthly) Card Example -->


<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-primary shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-primary text-
uppercase mb-1">Total Admin Registered </div>
<div class="h5 mb-0 font-weight-bold text-gray-800">

<h4>Total Admin: *</h4>


<?php

require ('[Link]');

$query = "SELECT id FROM admin ORDER BY id";


$query_run = mysqli_query($connection,$query);

$row = mysqli_num_rows($query_run);

echo '<h1>'.$row.'</h1>';

?>

</div>
</div>
<div class="col-auto">
<i class="fas fa-calendar fa-2x text-gray-300"></i>
</div>

64
</div>
</div>
</div>
</div>

<!-- Earnings (Monthly) Card Example -->


<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-success shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-success text-
uppercase mb-1">Total Owner Registered</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">
<h4>Total Owner: *</h4>
<?php

require ('[Link]');

$query = "SELECT o_id FROM owner ORDER BY o_id";


$query_run = mysqli_query($connection,$query);

$row = mysqli_num_rows($query_run);

echo '<h1>'.$row.'</h1>';

?>

</div>
</div>
<div class="col-auto">
<i class="fas fa-dollar-sign fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>

<!-- Earnings (Monthly) Card Example -->


<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-info shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">

65
<div class="text-xs font-weight-bold text-info text-
uppercase mb-1">Existing Tenants</div>
<div class="row no-gutters align-items-center">
<div class="col-auto">
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-
800">
<h4>Total Tenants: *</h4>
<?php

require ('[Link]');

$query = "SELECT t_id FROM tenant ORDER BY t_id";


$query_run = mysqli_query($connection,$query);

$row = mysqli_num_rows($query_run);

echo '<h1>'.$row.'</h1>';

?>

</div>
</div>
<div class="col">
<div class="progress progress-sm mr-2">
<div class="progress-bar bg-info" role="progressbar"
style="width: 50%" aria-valuenow="50"
aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
</div>
</div>
<div class="col-auto">
<i class="fas fa-clipboard-list fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>

<!-- Pending Requests Card Example -->


<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-warning shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">

66
<div class="text-xs font-weight-bold text-warning text-
uppercase mb-1">Customers</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">
<h4>Total Customers: *</h4>
<?php

require ('[Link]');

$query = "SELECT c_id FROM customer ORDER BY c_id";


$query_run = mysqli_query($connection,$query);

$row = mysqli_num_rows($query_run);

echo '<h1>'.$row.'</h1>';

?>

</div>
</div>
<div class="col-auto">
<i class="fas fa-comments fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
</div>

<!-- Content Row -->

<?php
include('includes/[Link]');
include('includes/[Link]');
?>

67
 Admin Login :

<?php
session_start();
include('includes/[Link]');
?>

<div class="container">

<!-- Outer Row -->


<div class="row justify-content-center">

<div class="col-xl-6 col-lg-6 col-md-6">

<div class="card o-hidden border-0 shadow-lg my-5">


<div class="card-body p-0">
<!-- Nested Row within Card Body -->
<div class="row">
<div class="col-lg-12">
<div class="p-5">
<div class="text-center">
<h1 class="h4 text-gray-900 mb-4">Login Here!</h1>
<?php

if(isset($_SESSION['status']) &&
$_SESSION['status'] !='')
{
echo '<h2 class="bg-danger text-white"> '.
$_SESSION['status'].' </h2>';
unset($_SESSION['status']);
}
?>
</div>

<form class="user" action="[Link]" method="POST">

68
<div class="form-group">
<input type="email" name="emaill" class="form-control
form-control-user" placeholder="Enter Email Address...">
</div>
<div class="form-group">
<input type="password" name="passwordd" class="form-
control form-control-user" placeholder="Password">
</div>

<button type="submit" name="login_btn" class="btn


btn-primary btn-user btn-block" > Login </button>
<hr>
</form>

</div>
</div>
</div>
</div>
</div>

</div>

</div>

</div>

<?php
include('includes/[Link]');
?>

69
 Connection :

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "house_rental";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);

// Check connection
if (!$conn) {
die("Connection failed: ". mysqli_connect_error());
}
echo "Connected successfully";
?>

 Booking:

<?php
session_start();
include("[Link]");
$tenantid=$_GET['t'];
$customerid=$_GET['c'];
$houseid=$_GET['h'];
$booking_date=$_GET['b'];
$period=$_GET['p'];
$price=$_GET['pr'];
$agreement=$_GET['a'];

if($_GET['submit'])
{
if($tenantid!="" && $houseid!="" && $booking_date!="" &&
$agreement!="" && $price!="")
{
$query="insert into
booking(t_id,h_id,booking_date,period,price,agreement)
values('$tenantid','$houseid','$booking_date','$period','$price','$
agreement')";
$data=mysqli_query($conn,$query);
if($data)

70
{
echo "<script
type='text/javascript'>alert('Tenant's House Booked Added
successfully')
[Link]='[Link]';
</script>";
}
else
{
echo "<script
type='text/javascript'>alert('Unsuccessfull Booking for Tenant')
[Link]='[Link]';
</script>";
}
}
else
{
$query="insert into
booking(c_id,h_id,booking_date,period,price,agreement)
values('$customerid','$houseid','$booking_date','$period','$price',
'$agreement')";
$data=mysqli_query($conn,$query);
if($data)

{
echo "<script
type='text/javascript'>alert('Customer's House Booked Added
successfully')
[Link]='[Link]';
</script>";
}
else
{
echo "<script
type='text/javascript'>alert('Unsuccessfull Booking for Customer')
[Link]='[Link]';
</script>";
}
}
}
?>

71
 Add Customer:

<?php
session_start();
include("[Link]");
$customerid=$_GET['c'];
$fname=$_GET['f'];
$email=$_GET['e'];
$pwd=$_GET['p'];
$mobile=$_GET['m'];
$occ=$_GET['o'];

if($_GET['submit'])
{
if($customerid!="" && $fname!="")
{
$query="insert into customer
values('$fname','$email','$pwd','$mob','$occ')";
$data=mysqli_query($conn,$query);
if($data)

{
echo "<script type='text/javascript'>alert('Added
successfully')
[Link]='[Link]';
</script>";
}
else
{
echo "<script
type='text/javascript'>alert('Unsuccessfull')
[Link]='[Link]';
</script>";
}
}
}
?>

72
 Add Owner:

<?php
session_start();
include("[Link]");
$name=$_GET['f'];
$email=$_GET['e'];
$pwd=$_GET['p'];
$mob=$_GET['m'];
$occ=$_GET['o'];
$nhouse=$_GET['n'];
$country=$_GET['c'];
$state=$_GET['s'];
$city=$_GET['ci'];
$add=$_GET['a'];

if($_GET['submit'])
{
if($name!="" && $email!="" && $pwd!="" && $mob!="")
{
$query="insert into
owner(name,email,pwd,mobile_no,occupation,no_of_houses,country,stat
e,city,address)
values('$name','$email','$pwd','$mob','$occ','$nhouse','$country','
$state','$city','$add')";
$data=mysqli_query($conn,$query);
if($data)

{
$_SESSION['uname']=$name;
header('location:[Link]');
}
else
{
echo "<script type='text/javascript'>alert('Sign up
unsuccessfull')
[Link]='[Link]';
</script>";
}
}

73
}
?>

 Add Tenants:

<!DOCTYPE html>
<html lang="en">
<head>
<title>House Rental Management System</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="[Link]">
<meta name="viewport" content="width=device-width, initial-
scale=1">
<link rel="stylesheet"
href="[Link]
.[Link]">
<script
src="[Link]
js"></script>
<script
src="[Link]
[Link]"></script>
</head>
<body>

<nav class="navbar navbar-inverse">


<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-
toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">House Rental Management
System</a>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<li class="active"><a href="[Link]">Home</a></li>
<li class="dropdown">

74
<a class="dropdown-toggle" data-toggle="dropdown"
href="#">Houses <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="[Link]">Houses</a></li>
<li><a href="[Link]">Rating</a></li>
</ul>
</li>

<li><a href="[Link]">Owners</a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown"
href="#">Tenants<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="[Link]">Tenants</a></li>
<li><a href="[Link]">Customers</a></li>
</ul></li>
<li><a href="[Link]">Booking</a></li>

</ul>
<ul class="nav navbar-nav navbar-right">

<li><a href="#"><span class="glyphicon glyphicon-


user"></span>Hi <?php session_start();echo $_SESSION['uname'];?
></a>
</li>
<li><a href="[Link]"><span class="glyphicon glyphicon-
user"></span> Sign Out</a></li>
</ul>
</div>
</div>
</nav>

<div class="container">
<!--<a href="[Link]" class='btn btn-primary'>Show
Customers</a>-->
<?php
if($_SESSION['ltype']=="tenant")
{
//echo "<a href='[Link]' class='btn btn-primary'>Add
Customer</a> ";

echo "<a href='[Link]' class='btn btn-primary'>Add Ratings


to houses</a><br><br>";
}

75
?>
<table border="1" id="customer">
<br><br>
<tr>
<th>Tenant ID</th>
<th>Full Name</th>
<th>Email</th>
<th>Mobile No</th>
<th>Occupation</th>
</tr>
<?php
include("[Link]");
$query="select * from tenant";
$data=mysqli_query($conn,$query);
while($result=mysqli_fetch_assoc($data))
{
echo "<tr><td>".$result['t_id']."</td><td>".
$result['fname']."</td><td>".$result['email']."</td><td>".
$result['mobile_no']."</td><td>".$result['occupation']."</td></
tr>";
}
echo "</table>";
?>
</div>
</body>
</html>

 Add Rating:

<?php
session_start();
include("[Link]");
$houseid=$_GET['h'];
$tenantid=$_GET['t'];
$rating=$_GET['r'];
$comment=$_GET['c'];

if($_GET['submit'])
{
if($houseid!="" && $tenantid!="" && $rating!="")
{
$query="insert into rating(id,t_id,rating,comment)
values('$houseid','$tenantid','$rating','$comment')";

76
$data=mysqli_query($conn,$query);
if($data)

{
echo "<script type='text/javascript'>alert('Added
successfully')
[Link]='[Link]';
</script>";
}
else
{
echo "<script
type='text/javascript'>alert('Unsuccessfull')
[Link]='[Link]';
</script>";
}
}
}
?>

 Add House:

<?php
session_start();
include("[Link]");
$ownerid=$_GET["o"];
$nrooms=$_GET['n'];
$rate=$_GET['ra'];
$pics=$_GET['u'];
$country=$_GET['c'];
$state=$_GET['s'];
$city=$_GET['city'];
$add=$_GET['a'];
$desc=$_GET['de'];
/*$folder="house/";
$_FILES["p"];
$pics= "images/".basename($_FILES['p']['name']);*/

if($_GET['submit'])
{
if($ownerid!="" && $nrooms!="" && $desc!="")
{
// $pics = addslashes(file_get_contents($_FILES["p"]
["tmp_name"]));
/*

77
//you keep your column name setting for insertion. I keep image
type Blob.
$query = "INSERT INTO products (id,image) VALUES('','$image')";
$qry = mysqli_query($conn, $query);*/

//$image = addslashes(file_GET_contents($_FILES['$pics']));

$query="insert into
house(owner_id,no_of_rooms,rate,pics,country,state,city,address,des
cription)
values('$ownerid','$nrooms','$rate','{$pics}','$country','$state','
$city','$add','$desc')";
$data=mysqli_query($conn,$query);

if($data)

{
echo "<script type='text/javascript'>alert('Added
successfully')
[Link]='[Link]';
</script>";
}
else
{
echo "<script
type='text/javascript'>alert('Unsuccessfull')
[Link]='[Link]';
</script>";
}
}
}
?>

78
4.6 Limitations and Bibliography

 Accessibility: Web-based systems are limited to a specific location or computer. Users


can only access the system from the computer where it is installed, making it less
convenient for accessing data remotely or on the go.

 Software updates and maintenance: Updating and maintaining web-based software


often involves manual processes, such as downloading and installing updates on
individual computers. It can be time-consuming and may lead to version control issues
if users are not using the same software version.

 Limited mobility: Users cannot access a desktop-based system from mobile devices,
limiting the ability to manage rental operations on the go or in remote locations.

 Dependency on Internet Connectivity : Users may experience difficulties accessing


the system or performing tasks if they have poor internet connectivity, especially in
areas with limited or unstable internet access.

 Integration Issues: Integrating the rental management system with other software
applications, such as accounting software or property management tools, may encounter
compatibility issues or require custom development, leading to delays or additional
costs.

79
 Scalability Challenges: As the number of properties, users, and transactions increases,
the system's scalability may become a limiting factor, causing performance degradation
or requiring costly infrastructure upgrades.

 Tenant and Owner Disputes: Disputes between tenants and property owners, such as
disagreements over lease terms, maintenance issues, or rental payments, may arise and
need to be addressed through manual intervention or legal proceedings.

 Cost Considerations: The initial investment and ongoing maintenance costs associated
with implementing and operating the rental management system, including software
licensing fees, hardware expenses, and IT support, may pose budgetary constraints for
small businesses or individual property owners

80
 Bibliography
 References
 For PHP
1. [Link]
2. [Link]
3. [Link]
4. [Link]
 For MYSQL
1. [Link]
2. [Link]
 Book
1. The complete reference book of java
2. PHP programming for Rental house management system - john smith

81

You might also like