REport Final

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 38

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


Joining Certificate
Internship Continuous Certificate
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 ……………….


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

vii
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

viii
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
ix
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

x
Project ID: 405970 Overview of company

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 University 1 KITRC


Project ID: 405970 Overview of company

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 University 2 KITRC


Project ID: 405970 Planning & Action

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 University 3 KITRC


Project ID: 405970 Planning & Action

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 University 4 KITRC


Project ID: 405970 Planning & Action

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 University 5 KITRC


Project ID: 405970 Introduction

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 University 6 KITRC
Project ID: 405970 Introduction

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 University 7 KITRC


Project ID: 405970 System Analysis

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 University 8 KITRC


Project ID: 405970 System Analysis

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 University 9 KITRC


Project ID: 405970 System Analysis

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 University 10 KITRC


Project ID: 405970 System Analysis

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 University 11 KITRC


Project ID: 405970 System Design

Chapter 5 – System Design

5.1 Use Case Diagram :

5.1.1 User Diagram

5.1.2 Admin Diagram

Gujarat Technological University 12 KITRC


Project ID: 405970 System Design

5.2 User Activity Diagram :

5.2 User Activity Diagram

Gujarat Technological University 13 KITRC


Project ID: 405970 System Design

5.3 Admin Activity Diagram :

5.3 Admin Activity Diagram

Gujarat Technological University 14 KITRC


Project ID: 405970 System Design

5.3 Flowchart :

5.3 Flowchart

Gujarat Technological University 15 KITRC


Project ID: 405970 Implementation

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 University 16 KITRC


Project ID: 405970 Implementation

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 University 17 KITRC


Project ID: 405970 Implementation

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 University 18 KITRC


Project ID: 405970 Implementation

6.2 Login Page : -

6.3 Sign-Up Page :-

Gujarat Technological University 19 KITRC


Project ID: 405970 Implementation

6.4 Home Page :-

Gujarat Technological University 20 KITRC


Project ID: 405970 Implementation

6.5 Contacts Page :-

Gujarat Technological University 21 KITRC


Project ID: 405970 Implementation

6.6 About Page :-

6.7 Contact-us Page :-

Gujarat Technological University 22 KITRC


Project ID: 405970 Implementation

6.8 Category Page :-

6.9 Firebase Database (user) :-

Gujarat Technological University 23 KITRC


Project ID: 405970 Implementation

6.10 Firebase Database ( Feedback ) :-

Gujarat Technological University 24 KITRC


Project ID: 405970 Testing

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 University 25 KITRC


Project ID: 405970 Testing

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
displayed in user's user's profile
profile

9 Logout Account Redirected to login Redirected to login Passed


page after logout page after logout

Gujarat Technological University 26 KITRC


Project ID: 405970 Conclusion

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 University 27 KITRC


Project ID: 405970 Conclusion

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 University 28 KITRC

You might also like