Kalol Institute Technology and Research
Center Pratap Pura Village, Kalol, Gujarat
382721.
CERTIFICATE
This is to certify that the project report submitted along with the project
entitled“Next Home Finder” has been carried out by Panchal Tirth (210260107507)
under my guidance in partial fulfilment for the degree of Bachelor of Engineering in
Computer Engineering, 8th Semester of Gujarat Technological University,
Ahmedabad during the academic year 2024.
Sign: Sign:
Pro. Nidhi Joshi Pro. Shilpa Serasiya
Internal Guide Head of Department
i
Joining Certificate
ii
Internship Continuous Certificate
iii
Kalol Institute Technology and Research
Center Pratap Pura Village, Kalol, Gujarat
382721.
DECLARATION
We hereby declare that the Internship report submitted along with the
Internship entitled “Next Home Finder” submitted in partial fulfilment for the
degree of Bachelor of Engineering in Computer Engineering to Gujarat
Technological University, Ahmedabad, is a bonafide record of original project
work carried out by me at Enblitz Technologies. Under the supervision of
Pro.Rachna Dhatrak and that no part of this report has been directly copied from
any students’ reports or taken from any other source, without providing due
reference.
Name of Student Sign of Student
Panchal Tirth ……………….
iv
Acknowledgement
I would like to express my sincere gratitude to the following individuals and
organizations who have supported me in completing this project.
First and foremost, I would like to thank my Internal Guide, Prof. Nidhi Joshi, for their
guidance and encouragement throughout the research process. Theirvaluable insights and
suggestions have greatly contributed to the success of this project.
Lastly, I am grateful to Rachna Dhatrak (Sr. DevOps Consultant) for providing me
with the research materials and resources I needed to completethis project. Their
generosity and support have been invaluable.
Thank you all for your support and encouragement.
Yours Sincerely,
Tirth Panchal
(210260107507)
v
Abstract
The Next Home Finder project is dedicated to redefining the home search
process, offering individuals an unparalleled experience in discovering and
acquiring their dream homes. By harnessing cutting-edge technologies and
pioneering features, this platform introduces a new era of efficiency and
personalization. Through intuitive user interfaces and robust functionalities, users
are empowered to navigate the real estate landscape with ease, ensuring a seamless
journey towards finding their perfect home. Join us as we transform the way homes
are sought and secured, setting new standards for convenience and satisfaction in
the housing market.
The Next Home Finder project aims to revolutionize the way individuals
search for and secure their ideal homes by leveraging advanced technologies and
innovative features and user-friendly interfaces to provide a seamless and
personalized home-buying experience
vi
List of Figures
1.2 Organization Chart 2
5.1.1 Use Case Diagram (User) 12
5.1.2 Use Case Diagram(Admin) 12
5.2 User Activity Diagram 13
5.3 Admin Activity Diagram 14
5.4 Flowchart 15
6.2 Login Page 19
6.3 Sign-Up Page 19
6.4 Home Page 20
6.5 Contacts Page 21
6.6 About Page 22
6.7 Contact Us Page 22
6.8 Category Page 23
6.9 Firebase Database (User) 24
6.10 Firebase Database (Feedback) 25
List of Tables
7.2 Test Result and Analysis 26
vi
Index
Chapter - 1 Overview of Company 1
1.1 History / About Company 1
1.2 Organization Chart 2
1.3 Capacity of Plant 2
Chapter - 2 Planning and Action 3
2.1 Existing System 3
2.2 Proposed System 4
2.3 Development Plan and Action 5
Chapter - 3 Introduction 6
3.1 Project Overview 6
3.2 Key Features 6
3.3 Technology Stack 7
3.4 DevOps Workflow 7
3.5 Project Goals 7
Chapter - 4 System Analysis 8
4.1 Study of Current System 8
4.2 Problem and Weakness of Current System 8
4.3 System Feasibility 9
4.3.1 Technical Feasibility 9
4.3.2 Operational Feasibility 9
4.3.3 Economic Feasibility 9
4.4 List of Main Modules 10
4.5 Requirements 10
4.5.1 Hardware Requirements 10
4.5.2 Software Requirements 10
4.6 Constraints 11
Chapter - 5 System Design 12
5.1.1 Use Case Diagram (User) 12
5.1.2 Use Case Diagram (Admin) 12
5.2 User Activity Diagram 13
5.3 Admin Activity Diagram 14
5.4 Flowchart 15
vi
Chapter - 6 Implementation 16
6.1 Implementation Platform 16
6.1.1 VS Code 16
6.1.2 AWS EC2 16
6.1.3 Docker 17
6.1.4 Jenkins 17
6.1.5 Git and GitHub 18
6.1.6 Firebase 18
6.2 Login Page 19
6.3 Sign-Up Page 19
6.4 Home Page 20
6.5 Contacts Page 21
6.6 About Page 22
6.7 Contact-Us Page 22
6.8 Category Page 23
6.9 Firebase Database (User) 23
6.10 Firebase Database (Feedback) 24
Chapter - 7 Testing 25
7.1 Testing Plan / Strategy 25
7.1.1 React Frontend Testing 25
7.1.2 Docker Testing Strategies 25
7.1.3 Jenkins Testing Strategies 25
7.2 Test Result and Analysis 26
Chapter - 8 Conclusion 27
8.1 Conclusion 27
8.2 References 28
ix
Project ID: Overview of
Chapter 1 – Overview of company
1.1. History / About Company:
We make building companies easier by eliminating the hassle of building the DevOps Team.
Say goodbye to DevOps workload and say hello to Enblitz DevOps Team.
Agile DevOps Accelerator : Streamline collaboration, automate testing, and achieve faster
time- to-market with our Agile DevOps solutions.
Cloud Harmony Suite: Seamlessly transition to the cloud and optimize infrastructure for peak
performance with our comprehensive suite of cloud services.
We redefine the way businesses operate in the digital age. Our Agile DevOps Accelerator
propels your software development into the future, ensuring agility and efficiency. Meanwhile,
our Cloud Harmony Suite provides a strategic roadmap for seamless cloud adoption and
optimization. With us, embrace innovation and navigate the complexities of modern IT
landscapes with confidence. Empower Tomorrow, Today with CloudOps Solutions!
Different Products / Scope of Work : Enblitz Technologies offers a comprehensive suite of
DevOps solutions tailored to meet the diverse needs of modern businesses. Our key products and
services include:
Continuous Integration and Continuous Deployment (CI/CD) pipelines: Streamline software
delivery processes, enabling faster and more reliable releases.
Infrastructure as Code (IaC) implementation: Automate infrastructure provisioning and
management to improve scalability and reduce manual errors.
Gujarat Technological 1 KIT
Project ID: Overview of
1.2 Organization Chart
1.3 Capacity of plant
Enblitz Technologies operates state-of-the-art facilities equipped with cutting-edge
infrastructure to support our development, testing, and deployment operations. Our facilities
are designed to scale according to project requirements,ensuring that we can meet the needs of
our clients efficiently and effectively. Additionally, we continuously invest in upgrading our
plant capacity to stay aheadof technological advancements and accommodate future growth.
Gujarat Technological 2 KIT
Project ID: Planning &
Chapter 2 – Planning & Action
2.1 Existing System:
There are many existing websites and applications in the domain of home searching
99acers, Housing.com, Home Savvy, House Hunt Pro, etc.
Issues with Existing System:
Limited Search Options: Users face difficulty in filtering properties based on their
preferences.
Required Premium Account: Some of the existing applications like Zillow Pro,
Apartments.com Pro, etc. required premium accounts to find the best home for
customers, as it is paid its costlier and not affordable by all customer.
Outdated Interface & Approach : The current platform lacks modern features and
user-friendly design, resulting in a poor user experience as most of the websites and
application are made by php.net or Python- Django and the approach is also
outdated as they use Waterfall , Incremental or Agile Methodology.
Gujarat Technological 3 KIT
Project ID: Planning &
2.2 Proposed Systems:
Benefits of Proposed System:
Advanced search Options: Users can filter properties based on various criteria such
as location, price range, amenities, etc.
No Requirement of any Premium Account (Free Access): The Next- Home-Finder
Project prioritizes accessibility by offering all of its features without the
requirement of a premium account. Unlike some existing platforms like Zillow Pro
or Apartments.com Pro, which necessitate a paid subscription for enhanced
functionalities, Next-Home-Finder ensures that all customers have equal access to
its comprehensivehome search capabilities at no additional cost. This commitment
to free access makes the Next-Home-Finder Project more inclusive and affordable
for all users, regardless of their financial circumstances.
Modern Interface & Approach: The Next-Home-Finder project stands out with its
cutting-edge interface and innovative approach. Unlike manytraditional platforms
built using PHP or Python-Django, Next-Home- Finder utilizes React.js to deliver a
sleek and intuitive user interface. Moreover, the project adopts DevOps
methodology, ensuring continuousintegration and delivery for swift updates and
enhancements. By leveraging the latest technologies and methodologies, Next-
Home- Finder offers users a seamless and enjoyable home searching
experience,setting a new standard for efficiency and user satisfaction in the industry.
Our system excels over existing systems due to its utilization of cutting- edge
technologies and modern methodologies, ensuring a seamless user experience
unmatched by traditional platform.
Gujarat Technological 4 KIT
Project ID: Planning &
2.3 Development Plan & Actions:
Implement Header
Implement Navbar
Create Logo of website
Add some card of properties for checking Ui design
Implement Footer
Implement user login & signup functionality.
Work on About page
Work on Contact us page
Add Categories in Navbar
Create categories pages like flats, bungalows, villas, Pg.
Complete Detail Pages for each property
Work on contacts & like page
Connect React with firebase database
Work on user management
Work on feedback database
Work on DevOps tools
GitHub – Version Control System
Cloud – Ec2 instance
Docker – Containerization
Jenkins – CI/CD Pipeline
Gujarat Technological 5 KIT
Project ID: Introducti
Chapter 3 – Introduction
3.1 Project Overview :
The Next Home Finder project aims to revolutionize the way individuals search
for and secure their ideal homes by leveraging advancedtechnologies and innovative
features. This platform incorporates user- friendly interfaces to provide a seamless and
personalized home-buying experience.
In the ever-evolving landscape of real estate, finding the perfect homehas
become a complex and time-consuming task. The Next Home Finder project aims to
simplify and enhance the home search experience by leveraging the power of React.js
for a dynamic and responsive user interface, combined with efficient DevOps practices
to ensure seamless deployment and continuous improvement.
The Next Home Finder project aims to redefine the home search experience by
combining the strengths of React.js for a compelling front- end and DevOps practices
for a robust and scalable infrastructure. This project aligns with the vision of creating a
user- centric, technologically advanced platform that simplifies the process of finding
the next dream home
3.2 Key Features :
Advanced Search Functionality: Users can easily filter and search for
homesbased on various criteria such as location, price range, amenities, and
more.
Interactive Map Integration : Integration with maps for visual
representation of available homes, neighborhoods, and local amenities.
User Profiles and Saved Searches: Registered users can create profiles,save
their favorite listings, and set up personalized search alerts.
Responsive Design: Ensuring a seamless experience across variousdevices,
including desktops, tablets, and mobile phones.
Gujarat Technological 6 KIT
Project ID: Introducti
3.3 Technology Stack :
Frontend : React.js for building a dynamic and responsive user interface.
Backend : I used Firebase Database which stores the data on cloud and itrequires
Firebase configuration files.
DevOps : Utilizing CI/CD pipelines (Jenkins), containerization (Docker) for efficient
deployment and scalability.
3.4 DevOps Workflow :
Continuous Integration (CI): Automated testing and integration of new codechanges
to ensure code quality.
Continuous Deployment (CD): Automated deployment of the applicationto staging
and production environments after successful CI.
Containerization : Using Docker to package the application and itsdependencies
into containers for consistency across different environments.
3.5 Project Goals :
Provide users with a visually appealing and intuitive interface for propertysearc
Ensure fast and reliable performance through efficient use of React.js.
Implement robust DevOps practices for automated testing, deployment,and scalability.
Offer a personalized experience through user profiles and saved searches.
Gujarat Technological 7 KIT
Project ID: System
Chapter 4 – System Analysis
4.1 Study of Current System:
The current Next Home Finder system offers users the ability to search for
properties based on location, size, and price range, with basic functionalitiesfor viewing
property details and contacting sellers or landlords. However, it lacks advanced features
such as personalized recommendations, interactive property tours, and seamless transaction
management. Additionally, the system may face challenges related to data accuracy, user
experience optimization, andscalability as it grows to accommodate a larger user base and
property inventory.
4.2 Problem and Weakness of current system:
Lack of Advanced Features: The system lacks advanced features such as personalized
recommendations, interactive property tours, and seamless transaction management,
limiting user engagement and satisfaction.
Data Accuracy Challenges: There may be issues with data accuracy, including outdated
property listings or inaccurate information, leading to frustration and inefficiency for
users.
Scalability Concerns: As the user base and property inventory grow, the system may
face scalability challenges, leading to performance issues and degraded service quality.
Inefficiency in managing user profiles and booking data.
Gujarat Technological 8 KIT
Project ID: System
4.3 System Feasibility :
4.3.1 Technical Feasibility :
React : React is mature and widely used technologies with extensive community
support. Integration of these technologies isfeasible.
Firebase : It is Realtime Database is a cloud-hosted NoSQLdatabase provided by
Google as part of the Firebase platform. It allows developers to store and sync data in
real- time between connected clients and backend servers.
Docker : Docker Enables consistent development and deploymentenvironments across
different machines.
Jenkins : Jenkins is an open-source automation server widely used for implementing
continuous integration and continuous delivery (CI/CD) pipelines. It enables developers
to automate the building, testing, and deployment of software projects across various
environments. With its vast ecosystem of plugins and integrations, Jenkins offers
flexibility and scalability to stream line the software development lifecycle.
4.3.2 Operational Feasibility :
Ease of Use: React and Docker are well-documented and have resources available
online, ensuring ease of use for developers.
Scalability: The modular architecture allows for easy scalability to accommodate future
enhancements or increased user.
4.3.3 Economic Feasibility :
ReactJS: React is an open-source JavaScript library for building user interfaces, offering
cost-effective development and flexibility.
Firebase : Firebase is the Realtime Database is a cloud-hosted NoSQL database provided
by Google as part of the Firebase platform. It allows developers to store and sync data in
real-time between connected clients and backend servers.
Docker: Docker is an open-source containerization platform, offering cost-effective
deployment and management of applications in lightweight, portable containers.
Gujarat Technological 9 KIT
Project ID: System
4.4 List of Main Modules :
User Management Module
Authentication Module
House Management Module
Feedback Management Module
Filter Module
Containerization Module (Docker)
CI/CD Pipeline Module (Jenkins)
4.5 Requirements
4.5.1 Hardware Requirements
Minimum 1.18 GHz processor
Minimum 2GB of RAM
100GB free space in Hard Disk storage
AWS EC2 instances or any Virtual Machine for hosting theapplication.
Sufficient computing resources for Docker Containerization andJenkins CI/CD pipeline.
4.5.2 Software Requirements
Operating System: Linux (Ubuntu) for server hosting.
Frontend: React framework for UI development.
Database: Firebase for data storage.
Containerization : Docker.
CI/CD: Jenkins for automation, GitHub for version control.
Gujarat Technological 1 KIT
Project ID: System
4.6 Constraints :
No Payment Gateway: The system does not include a payment gatewayfeature due to
client requirements. Users are expected to arrange payment offline or through other
means.
Client Specifications: The project must adhere to specific client specifications regarding
features, technologies, and integrations.
Time Constraints: Development, testing, and deployment activitiesneed to be efficiently
managed within specified timelines.
Security: Implementing robust security measures to protect user data and system integrity.
Scalability: Ensuring the system can accommodate future growth and increased user
demand.
Gujarat Technological 1 KIT
Project ID: System
Chapter 5 – System Design
5.1 Use Case Diagram :
5.1.1 User Diagram
5.1.2 Admin Diagram
Gujarat Technological 1 KIT
Project ID: System
5.2 User Activity Diagram :
5.2 User Activity Diagram
Gujarat Technological 1 KIT
Project ID: System
5.3 Admin Activity Diagram :
5.3 Admin Activity Diagram
Gujarat Technological 1 KIT
Project ID: System
5.3 Flowchart :
5.3 Flowchart
Gujarat Technological 1 KIT
Project ID: Implementati
Chapter 6 – Implementation
6.1 Implementation Platform :
6.1.1 Vs Code :
Visual Studio Code, also commonly referred to as VS Code, is a source-code
editor made by Microsoft with the Electron Framework,for Windows, Linux and
macOS. Features include support for debugging, syntax highlighting, intelligent
code completion, snippets,code refactoring, and embedded Git , Working with
Git and other SCM providers has never been easier. Review diffs, stage files,
and make commits right from the editor. Push and pull from any hosted SCM
service.
Want even more features? Install extensions to add new languages, themes,
debuggers, and to connect to additional services. Extensions run in separate
processes, ensuring they won't slow down your editor.
Debug code right from the editor. Launch or attach to your running apps and
debug with break points, call stacks, and an interactive console.
Go beyond syntax highlighting and autocomplete with IntelliSense, which
provides smart completions based on variable types, function definitions, and
imported modules.
6.1.2 AWS EC2 :
Amazon Elastic Compute Cloud (EC2) is a web service that provides resizable
compute capacity in the cloud. It allows users to rent virtual servers (instances)
and run applications on them, accommodating varying workload demands.
Users can choose instance types based on CPU, memory, storage, and
networking requirements. EC2 instances can be launched, stopped, and
terminated as needed, offering flexibility and cost-effectiveness. Users have
control over operating systems, security settings, and networking
configurations. EC2 supports various operating systems and integrations with
other Amazon Web Services (AWS) products, facilitating scalable and reliable
computing resources for businesses and developers.
Gujarat Technological 1 KIT
Project ID: Implementati
6.1.3 Docker :
Docker is a platform for developing, shipping, and running applications in
containers, lightweight and portable environments. It enables developers to
package an application and its dependencies into a single unit, ensuring
consistency across different environments.Docker containers isolate applications
from their surroundings, making them easy to deploy and manage across
various systems, whether on-premises or in the cloud. This technology
streamlines the development process by simplifying deployment, scaling, and
management tasks. Additionally, Docker's flexibility allows for the creation of
microservices architectures, enabling applications to be broken down into
smaller, manageable components that can be developed and scaled
independently.
6.1.4 Jenkins :
Jenkins is an open-source automation server that enables continuous integration
and continuous delivery (CI/CD) of software projects. It facilitates the
automation of building, testing, and deploying applicationsacross various
platforms. Jenkins integrates with numerous tools and plugins to streamline the
software development process, allowing teams to automate repetitive tasks,
manage code changes efficiently, and accelerate the delivery of high-quality
software. Its flexible architecturesupports a wide range of project types, making
it a popular choice for development teams seeking to improve productivity,
collaboration, and the reliability of their software development pipelines.
Gujarat Technological 1 KIT
Project ID: Implementati
6.1.5 Git and GitHub :
An own Git server refers to a private server hosting Git repository, allowing
individuals or organizations to manage and collaborate on codeprojects securely
within their own infrastructure. It offers full control over access, permissions,
and customization, ideal for sensitive or proprietary projects. GitHub, on the
other hand, is a popular web-based platform for hosting Git repositories publicly
or privately. It provides extensive collaboration features, issue tracking, and
integration with various tools, fostering a vibrant developer community.
6.1.6 Firebase :
Firebase Cloud Database is a real-time, NoSQL database hosted on Google
Cloud Platform, offering seamless integration with web and mobile applications.
It provides a scalable solution for storing and syncing data across devices in real
time, facilitating efficient datamanagement and enabling collaborative features in
projects acrossvarious implementation platforms.
Gujarat Technological 1 KIT
Project ID: Implementati
6.2 Login Page : -
6.3 Sign-Up Page :-
Gujarat Technological 1 KIT
Project ID: Implementati
6.4 Home Page :-
Gujarat Technological 2 KIT
Project ID: Implementati
6.5 Contacts Page :-
Gujarat Technological 2 KIT
Project ID: Implementati
6.6 About Page :-
6.7 Contact-us Page :-
Gujarat Technological 2 KIT
Project ID: Implementati
6.8 Category Page :-
6.9 Firebase Database (user) :-
Gujarat Technological 2 KIT
Project ID: Implementati
6.10 Firebase Database ( Feedback ) :-
Gujarat Technological 2 KIT
Project ID: Testi
Chapter 7 – Testing
7.1 Testing Plan / Strategy :
7.1.1 React Frontend Testing:
Unit Testing: Use tools like Jest and React Testing Library to test individual React
components in isolation. Verify that each component renders correctly and
behaves as expected.
Integration Testing: Test the interaction between different components within the
React application. Ensure that components work together seamlessly and handle
data flow properly.
End-to-End Testing: Utilize tools like Cypress or Selenium to test the
application's functionality from the user's perspective. Automate browser
interactions to simulate user behavior and verify the overall application flow.
Snapshot Testing: Employ snapshot testing to capture the current state of React
components and detect unexpected changes in UI output.
7.1.2 Docker Testing Strategies :
Image Testing: Ensure Docker images are built correctly and contain all
necessary dependencies.
Container Testing: Validate that containers spin up properly and function as
expected in different environments.
Integration Testing: Test interactions between Docker containers and other
components of the system.
7.1.3 Jenkins Testing Strategies :
Pipeline Testing: Verify the integrity and functionality of Jenkins pipelines.
Integration Testing: Ensure Jenkins integrates seamlessly with other tools and
services in the DevOps toolchain.
Performance Testing: Assess Jenkins performance under various load
conditions to maintain efficiency.
Gujarat Technological 2 KIT
Project ID: Testi
7.2 Test Results and Analysis :-
Test Test Expected
ID Condition Output Actual Output Remark
1 User Sign Up Successful sign up Successful sign up Passed
message displayed message displayed
2 User Sign In Redirected to user Redirected to user Passed
profile page after profile page after
successful sign in successful sign in
3 Edit Profile Profile information Profile information Passed
updated successfully updated successfully
4 Search property Relevant Property Relevant Property Passed
displayed based on displayed based on
search query search query
5 Contact Contacting to owner Contacting owner Passed
properly
6 View details View details of View proper details of Passed
property property
7 Feedback Review submitted Review submitted Passed
successfully and successfully and
displayed on product displayed on product
page page
8 Liked Item added to liked and Item added to liked Passed
and displayed in user's
displayed in user's profile
profile
9 Logout Account Redirected to login Redirected to login Passed
page after logout page after logout
Gujarat Technological 2 KIT
Project ID: Conclusi
Chapter 8 – Conclusion
8.1 Conclusion
In conclusion, the Next Home Finder project represents a significant step
forward in revolutionizing the home searching experience. Through the
utilization of cutting-edge technologies, modern design principles, and
innovative methodologies, we have created a platform that addresses the
limitations of existing systems while setting new standards for efficiency,
usability, and user satisfaction.
By offering comprehensive search options, personalized recommendations, and
a sleek user interface, Next Home Finder empowers users to find their dream
homes with ease and confidence. The project's commitment to accessibility
ensures that all users, regardless of their financial circumstances, can benefit
from its features and functionalities.
Next Home Finder represents a leap forward in home searching technology,
offering advanced features, personalized recommendations, and a modern
interface. With a commitment to accessibility and continuous improvement
through DevOps methodology, our platform sets new standards for efficiency
and user satisfaction in the real estate industry.
Gujarat Technological 2 KIT
Project ID: Conclusi
8.2 References
GitHub https://github.com/
AWS https://aws.amazon.com/
Docker https://www.docker.com/
Jenkins https://www.jenkins.io/
React Js https://legacy.reactjs.org/docs/getting-started.html
React Bootstrap https://react-bootstrap.netlify.app/
Housing.com https://housing.com/
99acers https://www.99acres.com/
Gujarat Technological 2 KIT