T Last Implimentation Signed
T Last Implimentation Signed
T Last Implimentation Signed
Group Member
Name Id
1. Amanuel Kassahun……………….….0373/13
2. Abel Tesfaye………………………….0149/13
3. Danawit Abiy………….….…….…….0776/13
4. Osama Zerihun…………………......…2255/13
May,8, 2024
Prepared by:
Name ID
1. AMANUEL KASSAHUN………………….….0373/13
2. ABEL TESFAYE……………………….……....0149/13
3. DANAWIT ABIY……………..……….…..…...0776/13
4. OSAMA ZERIHUN………………....….............2255/13
May,8, 2024
CERTIFICATE OF APPROVAL
We hereby certify that we have read and evaluated this Industrial Project I entitled the Intelligent
Web Based-Broker System prepared under our guidance by the following students. We
recommend that it be submitted as fulfilling the Industrial Project I requirement.
Prepared By:
Name ID
1. AMANUEL KASSAHUN………………….…..0373/13
2. ABEL TESFAYE……………………….……....0149/13
3. DANAWIT ABIY……………..……….…..…...0776/13
4. OSAMA ZERIHN…………………..….............2255/13
Kedir M. Advisor
Examiner 1
Examiner 2
Examiner 3
II
DECLARATION
We, the undersigned, declare that this project is our original work and has not been presented for
a degree in any other university, and that all sources of materials for the industrial project I have
Name Sign
May, 2024
This project has been submitted for examination with my approval as an advisor.
______________
Mr. KEDIR M.
May, 2024
III
ACKNOWLEDGMENT
First, foremost and above all we would like to thank our lord the almighty for helping us
accomplish this work, and then we would like to express our sincere gratitude to our advisor Mr.
Kedir M. for investing their precious time on providing guidance, comments and suggestions
through the end of this document.
IV
Table of Contents
DECLARATION......................................................................................................................... III
ACKNOWLEDGMENT ............................................................................................................ IV
LIST OF ABBREVIATION....................................................................................................... XI
V
1.9. Management Issue ........................................................................................................ 16
4. OVERVIEW......................................................................................................................... 68
References .................................................................................................................................... 90
APPENDIX .................................................................................................................................. 92
VIII
LIST OF FIGURES
IX
Figure 26: Component Diagram ................................................................................................... 66
LIST OF TABLES
X
LIST OF ABBREVIATION
XI
ABSTRACT
This final year project is done on an intelligent broker system that helps in the trade market,
automotive and real estate market. An intelligent broker system is a software system developed to
help users find the most suitable services for their needs. The system uses a knowledge-based
approach to overcome the drawbacks of manually operating systems and currently existing online
systems. In this paper, we tried to provide solutions for the cause of trust issues and lack of
transparency that happens very frequently on the current systems. Using IBS buyers can evaluate
the price of what they are buying in comparison with other properties in the market, search for
specific types of homes, automotives in ultra-specific locations, and input desired square footage
of indoor and outdoor spaces, type of cars they want to buy and then get immediate alerts when
something hits the market. The trouble in existing system is an onerous process to go to local
offices and obtain all the information. Not anymore. IBS can now go through thousands of
documents in seconds, looking through property values, debt levels, home renovations, and even
some of the owner’s personal information. This paper describes how broker system operates and
how it can be applied to the real world to make everyday life easier for both the broker and
customers.
XII
CHAPTER 1: INTRODUCTION
The project is a groundbreaking initiative aimed at revolutionizing the trade market in the
automotive and real estate industries. By providing a comprehensive platform for brokers, the IBS
seeks to streamline operations, enhance client experience, and foster unprecedented growth. This
project is expected to have a significant impact on the trade market automotive and real estate
industries. By streamlining operations, enhancing client experience, and providing data-driven
insights, the IBS will empower brokers to achieve new levels of efficiency, growth, and client
satisfaction. The "intelligent web-based broker system" emerges as a response to the evolving
needs of users in the digital age, aiming to redefine the benchmarks of online brokerage services.
The evolution of the internet has revolutionized how financial transactions are conducted,
propelling the financial industry into an era heavily reliant on web-based systems. Amid this
transformation, the integration of intelligence into these platforms has emerged as a cornerstone
for efficiency, security, and user-centric services. The focus of this project is the development of
"web-based broker system" poised to redefine the landscape of online financial transactions.
The trade market automotive and real estate industries are characterized by complex and time-
consuming processes, often involving property listing management, client communication,
document handling, and transaction coordination. Manual processes and fragmented systems
hinder productivity and limit the potential for growth. The IBS addresses these challenges head-
on by providing a centralized, platform that streamlines these operations and provides a seamless
experience for brokers and their clients. The development of the project is driven by the need for
a transformative solution that can address the shortcomings of traditional methods and fragmented
systems. In the bustling world of trade, automotive, and real estate, efficiency and seamless
operations are paramount to success. However, traditional methods and fragmented systems often
hinder productivity and limit growth. To address these challenges, Web Based-Broker
Management System has emerged as a groundbreaking solution, for helping brokers streamline
their operations, enhance client experience, and achieve remarkable growth.
1
This innovative platform seamlessly integrates property listing management, client
communication, document handling, and transaction coordination, eliminating the complexities
and inefficiencies that plague the industry. Brokers can now manage their entire portfolio with
ease, from listing properties and attracting potential clients to handling negotiations and closing
deals. For clients, the platform offers a user-friendly interface that simplifies the search for
properties, facilitates seamless communication with brokers, and provides access to valuable
information and resources. Streamlined transaction processes, secure payment options, and
transparent communication ensure a positive and trustworthy experience.
The project aims to revolutionize the way brokers operate, providing them with the tools and
insights they need to achieve remarkable success. Web Based Broker Management System is not
just a technological advancement it is also a catalyst for transformation. The IBS project is being
developed using React, a leading JavaScript library for building user interfaces. The use of a
detailed declarative programming paradigm and a component-based approach are ideal choices for
developing complex and scalable web applications. By streamlining operations, enhancing client
experience, and providing data-driven insights, the system empowers brokers to revolutionize the
trade market automotive and real estate industries, setting new standards for efficiency, growth,
and client satisfaction.
The core motivation behind the development of the Intelligent Web-Based Broker System lies in
addressing the complexities and inefficiencies present in the trade market, automotive industry,
and real estate sector. There are also several motivations for this project:
1. To have a positive impact on the lives of brokers and clients: this project has the
potential to significantly improve the lives of brokers and clients by streamlining
operations, enhancing communication, and providing valuable insights. This could lead to
increased productivity, profitability, and satisfaction for all parties involved.
2
2. To revolutionize the trade market: The IBS project has the potential to transform the
way brokers operate and interact with clients. This could lead to a more efficient,
transparent, and customer-centric industry.
3. To create a legacy of innovation and excellence: The IBS project is a cutting-edge
solution that has the potential to set new standards for broker management systems. By
developing this project, we can create a legacy of innovation and excellence that will
benefit the industry for years to come.
4. To contribute to the growth and development of the local economy: The IBS project
could have a positive impact on the local economy by creating new jobs, generating
revenue, and attracting new businesses to the area.
Statement of the Problem Addressing Challenges in Ethiopia's Trade Market Automotive and Real
Estate Industries with an Intelligent Broker System (IBS). The trade markets of the automotive
and real estate industries in Ethiopia face significant challenges that hinder their growth and
efficiency. These challenges include the Following:
1. Inefficient and fragmented systems: The current systems used by brokers and clients are
fragmented and inefficient, leading to delays, miscommunication, and a lack of
transparency.
2. Limited access to market information: Brokers and clients lack access to comprehensive
and up-to-date market information, making it difficult for them to make informed
decisions.
3. Manual processes and paperwork: Brokers spend a significant amount of time on manual
processes and paperwork, reducing their productivity and efficiency.
4. Lack of Trust and Security: The lack of a secure and transparent platform raises concerns
about trust and security, deterring potential clients from engaging in transactions.
3
1.4. Objective of the project
1.4.2. General Objective
The main objective of this project is to create an intelligent web-based broker system that
automates the automotive and real estate industries' markets, streamlined operations and enhanced
customer experience.
The specific objective of developing web-based broker management system is mentioned below:
4
1.5. Methodology of the Project
1.5.1. System Development Methodology
Waterfall is that it has a fixed timeline because the project goals are specific and delineated from
the start. Once the goal of the project is established, the Waterfall methodology does not involve
frequent feedback or collaboration from the client, apart from established milestones or
deliverables for each phase. This makes it easier for project managers to plan and communicate
with stakeholders or business partners. It is also referred to as a linear-sequential life cycle model.
It is very simple to understand and use. in a waterfall model, each phase must be completed fully
before the next phase can begin. This type of software development model is basically used for
the for the project which is small and there are no uncertain requirements. [2]
5
3. Implementation: Once the design is finalized and approved, it’s time to implement. The
source code is written as per requirements specifications designated in the prior phases.
Typically, the system is coded in smaller components, or units, before being put together.
4. Testing: After the system is built, it goes through rigorous testing to ensure that it meets
all the requirements and functions as intended. When quality assurance, unit, system tests
identify issues that must be resolved. This may cause a forced repeat of the coding stage
for debugging. If the system passes integration and testing, the waterfall continues forward.
5. Deployment. Once the System is successfully tested, it is deployed to the production
environment and made available to users also making it accessible for brokers and clients.
It marks the transition from development to active usage.
6. Maintenance: The final phase is maintenance, which involves fixing bugs, adding new
features, and making other updates as needed. This could include releasing patch updates
and new versions.
6
1.5.2. Data Collection Methodology
In the context of developing an IBS project, various data collection approaches can be
implemented to gather the necessary information and insights. The following are several key data
collection approaches:
System development tools offer structured approaches to transforming ideas into functional
systems. The development of the Broker System will involve several essential system development
tools to ensure, test, and maintain software systems. Each of these tools plays a vital role in
different facets of the system development life cycle, contributing to the creation of a
comprehensive and intelligent broker management system. The system development tools that we
plan to use for developing the system are as follow:
7
1. Front-end Development Programming Tools (React.js, HTML, JavaScript, CSS): The
front-end development of the Broker System is powered by a robust stack comprising
React.js, HTML, JavaScript, and CSS. React.js, a popular JavaScript library, facilitates the
creation of dynamic user interfaces with efficient component-based architecture. HTML
and CSS ensure the structural and visual elements of the web application, while JavaScript
enhances interactivity, creating a seamless and responsive user experience.
2. Back-end Development Programming Tools (Node.js): Node.js serves as the backend
development framework for the Broker System. Leveraging the power of JavaScript on the
server side, Node.js enables scalable and high-performance backend operations. Its non-
blocking, event-driven architecture ensures efficient handling of concurrent requests,
making it suitable for real-time applications such as broker systems.
3. Documentation Tools (Microsoft Word 2021): Microsoft Word 2021 is employed as the
primary documentation tool for the project. It provides a user-friendly interface for
creating, editing, and organizing project documentation. With features for collaborative
editing and a variety of formatting options, Microsoft Word ensures the clarity and
professionalism of the project’s documentation, supporting effective communication
among team members and stakeholders.
4. Designing (UML Diagrams) Tool (Draw.io): Draw.io serves as the design tool for
creating unified modeling language (UML) diagrams for the Intelligent Broker System.
UML diagrams, including use case diagrams, class diagrams, and sequence diagrams, are
crucial for visualizing and communicating the system’s architecture, design, and
interactions. The Draw.io intuitive interface and versatility of this approach make it an
effective tool for translating design concepts into visual representations.
5. Machine Learning Development Tool (Python): Python, a versatile and widely used
programming language, is employed for developing the machine learning components of
the Intelligent Broker System. With extensive libraries such as scikit-learn and
TensorFlow, Python facilitates the implementation of machine learning algorithms,
enabling intelligent features such as Automated property suggestion, within the system.
8
1.6. Scop and Delimitation of the Project
1.6.1. Scope of the Project
The IBS project encompasses the design, development, and implementation of an intelligent web-
based broker management system aimed at streamlining operations, enhancing client interactions,
and fostering growth in the Trade Market, Automotive, and Real Estate industries. The project will
focus on delivering innovative solutions that address the unique challenges and opportunities faced
by brokers in these dynamic sectors. Key Components:
9
1.6.2. Delimitation of the Project
While the project aims to deliver an innovative and intelligent broker management system, certain
delimitations are recognized to maintain focus and feasibility:
10
✓ Improved User Experience: At its core, the project prioritizes the development of a user-
friendly interface to increase the experience for both brokers and clients. This entails the
creation of intuitive property searches, transparent transactions, and real-time updates,
fostering a heightened level of satisfaction and engagement.
✓ Security and Trust in Financial Transactions: Robust security measures form a
cornerstone of the project, instilling confidence in both clients and brokers. The
implementation ensures the confidentiality and integrity of sensitive data, fostering trust in
financial transactions and aligning with stringent industry regulations.
✓ Scalability for Industry Growth: Designed with scalability in mind, the project supports
sustainable growth within the Trade Market, Automotive, and Real Estate industries. This
strategic approach enables brokers to expand services seamlessly and adapt to the dynamic
needs of their respective industries.
✓ Technological Innovation and Industry Leadership: Positioned at the forefront of
technological innovation, the project offers early adopters a competitive edge. By
embracing intelligent solutions, driving innovation and setting new standards.
✓ Reduction of Time-consuming Processes: An inherent benefit of the project lies in the
automation of time-consuming processes. By mitigating operational bottlenecks, the
project not only enhances efficiency but also symbolizes a significant leap forward in
redefining industry standards and embracing technological advancements.
A thorough feasibility assessment is essential for the successful execution of the IBS project. The
assessment encompasses economic, technical, operational, and schedule feasibility considerations.
1. Economic Feasibility
The economic feasibility aspect of the project centers around its financial viability and the
justification for the investment, aligning with the main objective of creating web-based broker
system. In evaluating economic feasibility, the project employs a cost-benefit analysis to weigh
the anticipated costs of development against the expected benefits and returns. This analysis serves
11
as a critical component, ensuring that the investment in the system aligns with the overarching
goal of enhancing efficiency, growth, and customer satisfaction in the trade market, automotive,
and real estate industries. Efficient budget allocation is a key consideration within economic
feasibility, emphasizing the need to allocate financial resources judiciously to maximize outcomes
and achieve the project’s objectives. Here is total budget allocation for IBS project:
2. Technical Feasibility
The technical feasibility aspect of the project is integral to evaluating its viability from a
technological standpoint, aligning with the primary objective of developing web-based broker
system. This assessment ensures that the project is technically feasible by utilizing available
hardware, software, and computer technology in the market. A critical consideration within
12
technical feasibility involves evaluating the technology infrastructure, ensuring compatibility and
availability for the development of the system. The project emphasizes the need for a skilled and
knowledgeable team, ensuring that the project team possesses the necessary expertise to effectively
implement the planned technologies. Furthermore, the assessment encompasses exploring
integration possibilities, examining the feasibility of seamlessly integrating the Intelligent Broker
Management System with existing systems and technologies. This technical feasibility aligns with
the project's overarching goal of leveraging technology to streamline operations, enhance user
experiences, and bring innovation to the trade market, automotive, and real estate industries
3. Operational Feasibility
4. Schedule Feasibility
Schedule feasibility stands as a critical evaluation of the timeline’s practicality to complete the
broker management system project within defined timeframes, aligning with the overarching
project objectives. A comprehensive assessment of the project timeline encompasses key
developmental phases, testing procedures, and deployment strategies. The project places
significant emphasis on adhering to a structured timeline to ensure efficient progress through each
stage, ultimately contributing to the realization of project goals. Additionally, the project
recognizes the importance of resource availability, both human and technical, to align with the
13
outlined timeline. Ensuring that the necessary resources are accessible and appropriately allocated
further reinforces the commitment to timely and successful project completion. Broker
Management System project strategically intertwines schedule feasibility with its primary
objective of delivering a transformative and efficient platform for brokers in the trade market,
automotive, and real estate industries. Here is clear schedule design table and Gantt chart for our
project:
14
• Implement client communication features
• Develop document handling and transaction
coordination
• Integrate user feedback and rating system
• Build admin dashboard functionality
15
Figure 2: Project schedule Gantt chart
1. Team Roles and Responsibilities: Clearly define the roles and responsibilities of each team
member involved in the development of the “Intelligent Web-Based Broker Management
System.” Roles may include Team Leader and Software Developer, Market Research Analyst,
and User Experience (UX) Designer.
16
Table 3: Team role assignment
2. Skills and Expertise: Assess the skills and expertise of team members to ensure that the
project team has the necessary competencies to successfully develop and implement the
system. Identify any skills gaps and plan for training or recruitment as needed.
3. Project timeline: Develop a project timeline that outlines key milestones, deadlines, and
deliverables. Project timelines are clearly communicated team members to ensure alignment
and accountability.
17
4. Conflict Resolution Mechanism: Implement a conflict resolution mechanism to address any
disagreements or issues that may arise within the team. A process for resolving conflicts is
defined in a constructive and timely manner to maintain a positive team dynamic.
18
1.10. Organization of this Work
The organization of this work is structured into three chapters to provide a comprehensive
understanding of the project. Chapter One serves as the foundational framework for the entire
document, providing a comprehensive overview of the project. It begins by introducing the project
background, setting the stage for understanding its context. The motivation behind the project is
then articulated, followed by a clear identification of the problems the project aims to address. The
objectives, both general and specific, are outlined to establish a clear direction for the research or
initiative. The methodology section briefly describes the approach taken for the project, offering
insights into the research design or implementation strategy. The scope of the project help defines
its boundaries, while the significance of the project highlights its potential impact or contributions.
Chapter two beginning with review the existing systems prevalent in the trade market, automotive,
and real estate industries, the chapter sheds light on the limitations of current manual processes,
establishing the necessity for a more streamlined approach. Subsequently, it introduces the
proposed system, outlining its visionary features and emphasizing how it addresses the
inefficiencies of the current systems. The chapter delves into the system requirement specification
(SRS) and Analysis Modeling, providing a detailed breakdown of requirements and the chosen
modeling methods. Further, it elucidates Functional Requirements, class responsibility
collaborator (CRC) details, and Supplementary Specifications, encompassing Business Rules and
Nonfunctional Requirements.
Chapter Tree, is a pivotal section in the project, delving into the architectural intricacies that govern
its design. The chapter systematically unfolds the layers that constitute the system’s architecture,
commencing with the user-interface layer, where a user-friendly and intuitive interface is crafted.
Moving to the controller/process layer, it elucidates how this layer orchestrates the system’s
processes. The domain layer is explored next, encapsulating the system’s core functionalities,
followed by the Persistence Layer, which manages data storage. The chapter seamlessly transitions
into class modeling, discussing key techniques like inheritance, association, dependency,
aggregation, and composition. It then emphasizes the importance of systematic modeling methods
during design, incorporating attributes modeling and the integration of interfaces.
19
CHAPTER TWO
Currently, the Ethiopian trade, automotive, and real estate markets are primarily conducted
manually and online trade markets. Even though online marketing exists the need of manual work
is still mandatory. This has led to increased costs, limitations, and inefficiencies in various aspects
of the processes. The lack of security in these online markets has also been a concern. For instance,
AddisMercato is an online marketplace that connects buyers and sellers in Ethiopia. It offers a
wide range of products and services, including electronics, fashion, and real estate. Another
example is Mekina.net, which is an online platform for buying and selling cars in Ethiopia. It
provides a way for people to buy and sell cars.
Jiji.com.et is an online marketplace in Ethiopia that provides a platform for buying and selling
goods and services. Although Jiji.com.et is an excellent example of online marketing, there are
ways in which it can improve customer satisfaction and security. It lacks detailed descriptions of
the items being sold. This can affect buyers in making decisions about what they are purchasing
and increase the likelihood of returns or disputes. Due to large number of customers messages and
calls from clients are not answered in time. This has become one of the reasons for trust issues and
decreases the likelihood of successful transactions.
Even though there are several online real estate marketplaces in Ethiopia that operate as brokers
most of the work is heavily reliant on traditional, paper-based methods, which can be time-
consuming and error-prone. One such example is Ethiobetoch.com. It is an online marketplace
that connects buyers and sellers of properties in Ethiopia. It offers a wide range of properties for
sale or rent, including houses, apartments, and commercial properties. The website provides
detailed information about each property, including photos, location, and price. You can also
contact the broker directly through the website to schedule a viewing or ask any questions you
may have.
20
Another example is ZeGebeya.com, which is another popular online real estate marketplace in
Ethiopia. It offers a wide range of properties for sale or rent, including houses, apartments, and
commercial properties. The website provides detailed information about each property, including
photos, location, and price. You can also contact the broker directly through the website to
schedule a viewing or ask any questions you may have. However, one of the limitations of the
current online real estate marketplaces in Ethiopia is that they are not very user-friendly. For
instance, the search functionality on some of these websites can be quite limited, making it difficult
to find the right property. Additionally, some of these websites may not have up-to-date
information about the properties they list, which can be frustrating for buyers and sellers alike.
Finally, there is also a lack of transparency in some of these online marketplaces, which can make
it difficult to trust the information provided.
Similarly, within the automotive industry, the absence of a secure and trustworthy online market
exacerbates operational challenges within the automotive industry. For example, Megebeya.com
is an online marketplace that connects buyers and sellers of cars in Ethiopia. According to reviews
on their Face book page, Megebeya has a high rating with 73,063 likes and 107 talking about it.
However, there are some limitations to the current online system for the automotive market in
Ethiopia. For instance, the absence of an online market exacerbates operational challenges within
the automotive industry. Vehicle sales, purchases, and related transactions are predominantly
conducted through manual methods, contributing to extend processing times and increased
administrative costs. The limitations imposed by manual operations impede the potential for
growth and innovation within the automotive market, hindering the sector from fully embracing
technological advancements that could enhance user experience and streamline processed.
As for our broker system, it will be better than the existing systems in several ways. This could
help buyers make better investment decisions and maximize user’s profits. Additionally, it will
provide personalized recommendations based on the customer preferences. This will save the
customers time and effort by eliminating the need to search through multiple listings. It will offer
a more secure and transparent platform for buying and selling goods and services. This will help
21
build trust between buyers and sellers and reduce the risk of fraud. Overall, we are aiming to make
our broker game-changer for the Ethiopian trade, automotive, and real estate markets by providing
a more efficient, secure, and personalized experience for buyers and sellers.
Our proposed system has a big goal when it comes to real estate broker system. To do this, it will
access a large database of real estate information, including information about the location, size,
and condition of the properties. It will also be able to analyze other factors that could affect the
price of a property, such as local economic conditions, zoning laws, and school district ratings.
Finally, it will be able to provide personalized recommendations based on users’ preferences,
which will help save them time and effort by eliminating the need to search through multiple
listings. By meeting these requirements, our system will help revolutionize the real estate market
in Ethiopia and provide a more efficient and secure platform for buyers and sellers alike.
Our broker system will improve trading market by improving titles, taking better pictures, and
describing our product as detailed as possible. The broker system will monitor how other sellers
do it, as competitor analysis will always bring ideas on how to make higher sales. Our system
provides a direct messaging feature that allows customers to negotiate a price with the buyer. You
can also upload clear and detailed photos of goods and write a clear description of product to attract
potential buyers.
While online automotive marketplaces like Megebeya.com are a step in the right direction, there
is still room for improvement. Our broker will be able to make those improvements through
Implementing a rating system that allows buyers and sellers to rate each other based on their
experiences. This can help build trust between buyers and sellers and reduce the risk of fraud and
provide a more user-friendly interface that is easy to navigate and understand. This can help users
find the products and services they are looking for more quickly and easily. It also offers better
quality control by using machine learning algorithms to analyze product listings and ensure that
they meet certain standards. This can help reduce the risk of fraud and improve the overall quality
of the list.
22
2.3. System Requirement Specification (SRS) and Analysis modeling
23
5. Client Communication: Effective communication tools, including messaging,
notifications, and real-time updates, will be integrated to facilitate seamless interactions
between brokers and clients throughout the entire process.
6. Document Handling: The system incorporates a secure document management
feature to handle critical paperwork related to automotive sales detail description, and
broker certifications, ensuring confidentiality and compliance.
7. User Feedback: To enhance service quality, users can provide feedback on broker
services, fostering a culture of continuous improvement and transparency within the
platform.
8. Admin Dashboard: System administrators will benefit from a feature-rich
administrative dashboard, providing comprehensive management capabilities,
overseeing user activities, transactions, and generating insightful reports.
✓ Use case diagrams: Use case diagrams visually represent high-level interactions,
showcasing the relationships and dependencies between system actors and the Intelligent
Broker System.
✓ Activity diagrams: Activity diagrams provide a visual representation of the flow of
activities within specific processes, elucidating the intricate steps involved in property
listing, transaction coordination, etc.
✓ Class diagrams: Class diagrams define the data entities within the system, illustrating their
relationships and attributes, and forming the basis for a well-structured database.
✓ Sequence diagrams: Sequence diagrams chronologically depict the interactions between
system components during key scenarios, such as client registration and property purchase.
✓ Entity-Relationship Diagram (ERD): ERD models the intricate relationships between
various data entities, aiding in the design and implementation of a robust and efficient
database structure.
24
2.4. Class Responsibility Collaboration (CRC)
Class responsibility collaborator (CRCs) are tools used in object-oriented design to identify and
define the classes in a system, their responsibilities, and how they collaborate with each other. [3]
Each card typically represents a class and contains information about its responsibilities and
collaborations. Class Responsibility Collaboration (CRC) cards are brainstorming tools used in the
design of object-oriented software. They are typically used when first determining which classes
are needed and how they will interact. A CRC model is a collection of standard index cards that
are divided into three sections. Here, is a simplified example of an Intelligent Web-Based Broker
System:
25
Figure 3: CRC Diagram for the Actor Class
Provide feedback
Searches properties
Seller
26
Figure 4: CRC diagram for business class
Transaction
Feedback<< Business>>
Buyer
27
2.5. Supplementary Specifications
2.5.1. Business Rules
The IBS adheres to a set of comprehensive business rules to govern its operation and ensure a
secure, transparent, and efficient experience for users. These business rules serve as guiding
principles for the operation, interaction, and integrity of the Intelligent Broker System, ensuring a
smooth and reliable experience for all users. Here are the business rules for the IBS:
BR 01: User registration: Users must complete a registration process, providing accurate and
verifiable information.
BR 03: Exclusive broker listing authority: Only authorized brokers possess the privilege and
responsibility to edit, remove, and list properties and automotive inventories within the system.
This business rule safeguards data integrity, ensuring that listing activities are performed by
designated and authenticated broker entities.
BR 04: Properties listing: Brokers are responsible for accurately listing properties and automotive
inventories, including detailed descriptions, images, and specifications.
BR 5: Comprehensive Listing Validation: Each property and automotive listing within the
system must undergo a comprehensive validation process to ensure accuracy and completeness.
This includes verification of property details, images, specifications, and any additional
information provided by the broker. The validation process aims to maintain a high standard of
data quality, enhancing the reliability of the listings for clients and users.
28
BR 06: Communication
The system should provide a secure and reliable communication channel for brokers to interact
with clients effectively. Communication channels must be user-friendly and accessible, facilitating
clear and concise messaging.
To ensure the reliability and integrity of the system, all collected and stored data must be accurate,
complete, and up-to-date. Sensitive data, such as payment information and personal details, must
be stored securely, with access restricted to authorized personnel only.
In addition to the functional requirements that define the specific features and functionalities of
the Broker System, there are also nonfunctional requirements that outline the qualities and
characteristics of the system. The nonfunctional requirements and constraints of the Broker System
are crucial aspects that define the system's behavior, performance, and limitations. The
nonfunctional requirements are as follows:
1. Performance
✓ The system must be able to handle a high volume of concurrent users and
transactions without any performance degradation.
✓ The database queries should be optimized to ensure quick retrieval of information.
✓ The system must be able to process and display property listings and transaction
information quickly and efficiently.
✓ The system must be able to generate automated suggestions and notifications in
real-time.
2. Security
✓ The system must protect user data from unauthorized access, modification, or
destruction.
29
✓ The system must employ industry-standard security protocols and practices to
protect against cyberattacks.
✓ The system must comply with all applicable data privacy regulations and industry
standards.
3. Usability
✓ The user interface must be intuitive and user-friendly, requiring minimal training
for brokers and clients.
✓ Accessibility standards should be followed to ensure inclusivity for users with
disabilities.
✓ The system must have a modern and intuitive interface.
✓ The system must provide clear and concise information to users.
4. Scalability
✓ The system should be designed to scale horizontally to accommodate a growing
user base and increased data volume.
✓ Scalability testing must be conducted to validate the system's performance under
varying loads.
✓ The system must be able to handle the addition of new features and functionalities
without compromising performance.
✓ The system must be able to integrate seamlessly with other systems and
applications.
5. Reliability
✓ The system must be highly reliable and available to users 24/7.
✓ The system must have robust backup and recovery mechanisms in place to ensure
data integrity in the event of failures.
✓ The system must be able to handle and recover from errors gradually.
6. Compatibility
✓ The system should be compatible with commonly used web browsers (Chrome,
Firefox, Safari) to ensure a consistent user experience.
✓ Mobile responsiveness is required to enable access from various devices.
30
These nonfunctional requirements guide the development and implementation of the Intelligent
Web-Based Broker System, ensuring that it meets high standards of performance, security, and
user experience while operating within defined technological and regulatory boundaries.
A use-case model is a model of how different types of users interact with a system to solve a
problem. As such, it describes the goals of the users, the interactions between the users and the
system, and the required behavior of the system in satisfying these goals. A use case diagram is a
visual representation of the interactions between a system and its actors. Actors are users or
external systems that interact with the system being modeled, while use cases represent the specific
actions or tasks that these actors perform with the system. The diagram shows the relationships
between actors and use cases, as well as any dependencies or relationships between use cases.
Essential Use Case Modeling is a streamlined approach to modeling the interactions between
actors (users) and a system to achieve specific goals or functionalities. It focuses on capturing the
essential, high-level features and key interactions without delving into intricate details. This
modeling technique emphasizes simplicity and clarity, providing a quick and efficient way to
communicate the core functionalities of a system. Essential Use Case Modeling typically involves
identifying primary actors, defining their goals, and outlining the main interactions required to
accomplish those goals. It serves as a valuable tool for stakeholders to gain a quick understanding
of the system's primary functionalities without getting bogged down in extensive documentation,
making it particularly useful in the early stages of project communication and planning.
31
Figure 6: Essential Use Case Modeling
System Use Case Modeling is a detailed method within software engineering that involves the
identification, specification, and documentation of various interactions between external entities,
known as actors, and a system to accomplish specific functionalities or goals. This modeling
technique provides a comprehensive view of how users or external systems will interact with the
system under various scenarios. System use cases are defined to capture individual functionalities,
outlining the sequence of events and the system's response to each user action. Each use case
typically represents a specific action or task that a user can perform, offering a detailed
32
understanding of the system's behavior. System Use Case Modeling is instrumental in creating a
blueprint for system development, guiding the design and implementation processes while
ensuring alignment with user requirements and expectations.
System Use Case Descriptions provide detailed narratives for each identified use case in the
system, outlining the sequence of interactions between actors and the system to achieve specific
goals. Each description typically includes the following components:
10. The system provides an error message recommend enter valid Email message
34
11. The use case resumes to step 4
Postcondition ✓ The actor is successfully Creating account for the system and
access systems feature
1. The actor enters their username and password in the login form.
5. The system validates the entered credentials [BR02]
6. If the credentials are valid, the system logs the actor into their respective account.
3. The system provides an error message and signup user Interface that let the user register
to the system.
4. The use case resumes to step 1
35
Postcondition ✓ The actor is successfully logged into their account and gains
access to the corresponding features and functionalities based
on their role.
Actors Admin
Description This use case describes admin login in to the System and responsible for
Approve or Accept Broker Request Broker from the system.
Preconditions The admin must have a logged in to the System Admin Dashboard.
Main Flow
Postcondition ✓ The admin logged into the System and Approve new accounts of
the Broke
36
Use case Name Upload Property
Actors Broker
Description This use case describes Broker Start Creating the post and Upload for
selling with each property Detail Description.
Main Flow
37
Use case Name Contact Broker
Description This use case describes seller, buyer Contact with broker for different
purpose.
Main Flow
Postcondition ✓ Buyer or seller contact with broker for selling or buying property
Prototyping is an experimental process in which design teams implement ideas in tangible forms
from paper to digital. Teams build prototypes of varying degrees of fidelity to capture design
concepts and test on users. With prototypes, you can refine and validate your designs so your brand
can release the right products. This diagram is important because it show the simple flow of the
application function. The boxes represent major user interface elements, modeled would
instances/objects and the arrows represent the possible flow between them, modeled as you would
transition inactivity diagrams.
38
Figure 8: User Interface Prototyping
39
CHAPTER THREE: SYSTEM DESIGN
3.1. Introduction
System design, as a pivotal phase in the software development life cycle, plays a crucial role in
translating the requirements gathered during the earlier stages into a comprehensive and structured
blueprint. This phase encompasses the architectural and functional specifications that guide the
actual implementation of the Intelligent Web-Based Broker System. System design involves
defining the system's overall architecture, including the arrangement and interaction of its
components, to ensure the efficient realization of desired functionalities. It also delves into data
design, addressing how information is stored, accessed, and managed within the system.
Furthermore, system design lays the groundwork for user interface development, detailing the
visual and interactive elements that will facilitate seamless user experiences.
The class type architecture organizes software applications by layering classes and objects based
on their responsibilities. class type Architecture is an architectural design paradigm that organizes
a software system into distinct layers, each with specific responsibilities, to enhance modularity,
maintainability, and scalability. In this architecture, the system is divided into layers such as the
user-interface layer, controller/process layer, business/domain layer, and persistence layer. Each
layer encapsulates related functionalities, allowing for a clear separation of concerns and
promoting a structured development approach.
The User-Interface Layer in Class Type Architecture is the topmost layer responsible for handling
the presentation and interaction aspects of a software system. This layer focuses on creating a user-
friendly interface that allows users to interact seamlessly with the system. Tasks in the User-
Interface Layer include designing and developing graphical user interfaces (GUIs), implementing
features for user input and navigation, and ensuring an intuitive and visually appealing user
40
experience. It acts as the entry point for users, facilitating communication between the system and
its end-users. Additionally, the User-Interface Layer may include interactive dashboards and visual
elements to enhance the overall usability of the system. By concentrating on the user interface, this
layer aims to provide a positive and engaging experience for both brokers and clients, contributing
to the overall success and adoption of the software system.
The controller/process layer, situated in class type architecture, serves as the intermediate layer
between the User-Interface Layer and the underlying business logic. This layer is responsible for
managing user inputs, processing requests, and orchestrating the flow of data and control
throughout the system. This includes the implementation of controllers that handle user
interactions, interpret input from the user interface, and initiate the necessary processes. The
controller/process layer plays a pivotal role in coordinating various tasks, such as transaction
processing, authentication, and overall system control. This ensures that the user's requests are
properly directed to the appropriate components within the business/domain Layer while
maintaining separation between the user interface and the underlying logic.
The business/domain layer, a crucial component in class type architecture, encapsulates the core
business logic and rules that drive the functionality of a software system. Positioned between the
controller/process layer and the persistence layer, this layer focuses on implementing the essential
processes and operations specific to the domain or industry of the software application. In the
context of the Intelligent Web-Based Broker System, the business/domain layer would handle
tasks such as property listing, client communication, and intelligent decision-making by using and
managing user feedback and ratings. It represents the heart of the application, where the primary
functionalities and rules that govern the system are implemented. By isolating the business logic
in this layer, the architecture promotes a modular and maintainable design, enabling developers to
make changes to the logic without affecting other layers. This separation also supports the reuse
of business logic across different parts of the system, enhancing efficiency and code organization.
41
3.2.4. Persistence Layer
The Persistence Layer, situated at the bottom of Class Type Architecture, is responsible for
managing the storage and retrieval of data within a software system. This layer addresses the
interaction between the application and the underlying database or data storage mechanisms. In
the context of Broker System, the Persistence Layer involves tasks such as designing and
implementing database schemas for storing information related to properties, automotive
inventories, user profiles. This includes the development of data access objects (DAOs) that
facilitate communication with the database, ensuring efficient retrieval and storage of data. By
separating data management concerns from the rest of the application, the persistence layer
promotes scalability, maintainability, and the ability to adapt to changes in data storage
technologies without affecting other layers of the system.
Class modeling is a crucial aspect of object-oriented analysis, design and serves as a foundation
for developing software systems. In class modeling, classes are used to represent objects, that
encapsulate data and behavior, forming the building blocks of a software application. Classes
define the essential attributes (data) and methods (behavior) that characterize objects within a
system. These classes are organized into a class diagram, a visual representation that illustrates the
structure and relationships between classes in a software system. Class modeling enables
developers to visualize and design the structure of a software system, fostering a clear
understanding of how objects interact and collaborate. It helps in identifying and defining classes,
their relationships, and the overall architecture of the system.
✓ Single inheritance: A subclass inherits from only one superclass. This is a simple form of
inheritance, and it is easy to understand. However, this approach limit flexibility in certain
cases.
✓ Multiple Inheritance: A subclass can be inherited from more than one superclass. While
this allows for greater flexibility, it can lead to complexities and the "diamond problem,"
where conflicts arise when two super classes have a common ancestor.
✓ Multilevel Inheritance: A class inherits from another class, and then a third class inherits
from the second class. This creates a hierarchy or a chain of inheritance.
✓ Hierarchical Inheritance: Multiple classes inherited from a single superclass. This forms
a tree-like structure in which a single superclass has multiple subclasses.
43
✓ Hybrid Inheritance: A combination of two or more types of inheritance mentioned above.
For example, a combination of single and multiple inheritance can occur.
Association and dependency are two important relationships in object-oriented programming that
define how classes interact with each other. Associations are often represented by lines connecting
classes in a class diagram, accompanied by multiple indicators to denote the cardinality of the
relationship. Dependencies, on the other hand, are typically represented with dashed lines. Both
association and dependency relationships play crucial roles in designing flexible and modular
systems. Properly understanding and modeling these relationships contributes to creating robust
and maintainable object-oriented software.
Techniques:
Techniques:
44
✓ Run-Time Dependency: A class depends on another class during runtime,
for example, when an object of one class is passed as a parameter to a
method of another class.
✓ Temporary Dependency: A class depends on another class for a short
duration, and the dependency is temporary.
Aggregation and composition are two forms of association in object-oriented programming that
describe how classes or objects are related. Both aggregation and composition represent
relationships between classes, but composition implies a stronger connection where the part is a
fundamental component of the whole and cannot exist independently. Aggregation, on the other
hand, signifies a looser connection, allowing the part to be shared among multiple wholes and have
an independent lifecycle. The choice between aggregation and composition depends on the nature
of the relationship and the desired behavior in the software design.
45
3.3.4. Modeling Methods During Design
During the design phase of a software project, various modeling methods are employed to create
visual representations of the system's architecture, structure, and behavior. The unified modeling
language (UML) serves as a standardized language for creating diagrams such as class diagrams,
sequence diagrams, and activity diagrams to depict classes, interactions, and dynamic processes.
Data modeling is utilized to design databases and represent the structure of data using entity-
relationship diagrams (ERDs). Architectural modeling provides high-level views of the system's
components and their interactions, while behavioral modeling illustrates dynamic aspects through
sequence diagrams and activity diagrams. Use case modeling captures interactions between the
system and external actors, and entity-relationship modeling focuses on entities, attributes, and
relationships. These diverse modeling methods collectively aid in communicating, refining, and
documenting the design before implementation, catering to specific aspects of the system's
architecture, data, behavior, and interactions.
Modeling attributes during the design phase involves specifying and visualizing the characteristics
or properties of entities within a system. Attributes provide essential details about the elements in
a design, such as classes, objects, or components. The modeling process helps ensure a clear
understanding of the data and properties associated with different elements. In the context of
object-oriented design, attributes are typically associated with classes.
Class diagrams in unified modeling language (UML) are commonly used to represent these
attributes. Each class in the diagram includes a list of attributes, specifying the data that instances
of the class will hold. These attributes may include data types, visibility levels, and other
properties. During the modeling process, attributes are carefully defined, considering their data
types, constraints, and relationships with other classes. The accurate representation of attributes in
the design phase lays the foundation for data integrity and ensures that the system can effectively
manage and utilize the associated information during the implementation phase.
46
3.3.6. Introducing Interfaces into Your Model
Introducing interfaces into your model during the design phase enhances the flexibility and
extensibility of your system by defining a contract for classes to implement. Interfaces act as a set
of method signatures that classes agreeing to the interface must provide, promoting a standardized
way for different components to interact. The introduction of interfaces helps in achieving
abstraction and decoupling, allowing for the interchangeability of components without affecting
the overall system functionality. Integrating interfaces into your model fosters a modular and
scalable design, supporting future changes and adaptations. It also facilitates a clearer
understanding of the interactions between components and promotes a more maintainable and
extensible codebase during the implementation phase.
A sequence diagram is a type of Unified Modeling Language (UML) diagram that illustrates the
interactions and flow of messages between different components or objects within a system over
time. It presents a dynamic view of a scenario, showcasing the order in which interactions occur
and the messages exchanged between various entities. In a sequence diagram, participants (objects
or components) are represented as vertical lines, and the timeline progresses from top to bottom.
Horizontal arrows represent messages passed between participants, demonstrating the
chronological sequence of events during a specific use case or scenario.
49
Figure 14: Sequence Diagram for Search Item
50
Figure 15: Sequence diagram for registration
Activity diagrams show the workflow from a start point to the finish point detailing the many
decision paths that exist in the progression of events contained in the activity. They may be used
to detail situations where parallel processing may occur in the execution of some activities.
Activity diagrams, a fundamental component of Unified Modeling Language (UML), offer a
graphical representation of the dynamic aspects of a system's behavior by illustrating the sequence
and flow of activities within a specific process or use case. Employing rounded rectangles to depict
51
activities, arrows to showcase the order of execution, and decision points represented by diamond-
shaped nodes, activity diagrams capture the intricate steps, decisions, and parallel processes
involved in a workflow.
52
Figure 17: Activity Diagram for Access Property
53
Figure 18: Registration activity diagram
54
3.7. State Chart Diagram
A state diagram is the graphical representation of a state machine and one of the UML diagram
types for software and systems. A state chart diagram describes a state machine. A state machine
can be defined as a machine that defines different states of an object and these states are controlled
by external or internal events. A state chart diagram describes the flow of control from one state
to another state. States are defined as a condition in which an object exists and it changes when an
event is triggered. The most important purpose of state chart diagram is to model the lifetime of
an object from creation to termination. [5] UML state chart diagrams depict the various states that
an object may be in and the transitions between those states. [6]
55
Figure 20: Contact Broker State Chart Diagram
Entity:
✓ Corresponds to entire table, not row
✓ Represented by rectangle
Attributes:
✓ Represents the property used to describe an entity or a relationship
✓ Represented by Oval
Relationships:
✓ Represents the associations that exist between entities
✓ Represented by Diamond
56
Figure 21: Entity Relationships Modeling (ERM)
Normalization is a process used to convert complex data structures into simple, stable data
structures, that do not have data redundancies and do not update anomalies which include insertion
anomalies, deletion anomalies, modification anomalies. There are ultimately two goals of the
normalization process to eliminate redundant data, to ensure that data dependencies make sense
by having only related data stored in the same table. Normalization is a database design technique
that reduces data redundancy and eliminates undesirable characteristics such as insertion, update
and deletion anomalies.
57
Normalization rules divide larger tables into smaller tables and link them using relationships. The
purpose of normalization in SQL is to eliminate redundant (repetitive) data and ensure that the
data are stored logically. [7] There are different normal forms first, second and third and there is
higher normal form fourth and fifth normal form but they are not always used in practice.
If the table is not in the first normal form, we can solve it by:
Admin Table
AdminID First_Name Last_Name Username Password Email City Phone_No.
Buyer Table
BuyerID First_Name Last_Name Username Password Email City Phone_No. Region
Seller Table
SellerID First_Name Last_Name Username Password Email City Phone_No. Region
58
Table 8: Broker first normal form table
Broker Table
BrokerID First_Name Last_Name Username Password Email City Phone_No. Region
Property Table
Pro_ID Name Category Region City Kebele License Price
If the table is not in the second normal form, we can solve it by:
Admin Table
AdminID First_Name Last_Name Username Password
Admin Table
Email City Phone_No. AdminID
59
Table 11: Second Normal Form for Buyer table
BuyerTable
BuyerID First_Name Last_Name Username Password
BuyerTable
Email City Phone_No. Region BuyerID
SellerTable
BuyerID First_Name Last_Name Username Password
SellerTable
Email City Phone_No. Region SellerID
Broker Table
BrokerID First_Name Last_Name Username Password
BrokerTable
Email City Phone_No. Region BrokerID
The project's tables are currently not in the third normal form, reason for that is there is no table
that needs third normal form, which necessitates addressing the existing normalization concerns.
In achieving the third normal form, it is imperative to resolve any transitive dependencies among
non-key attributes. This involves the creation of separate tables for non-primary key attributes that
are dependent on each other, establishing a structured relationship through Foreign Key
connections to the main table.
Relational Persistent Modeling refers to the approach of designing and representing data structures
in a way that aligns with relational database principles, emphasizing the persistence of data across
different states of an application. In this modeling approach, entities and their relationships are
structured in a manner consistent with relational databases, utilizing tables, keys, and associations.
The goal is to establish a clear and maintainable representation of the application's data, ensuring
its integrity and persistence over time. This modeling technique is often employed when
developing applications that require data storage in relational databases, enabling efficient
retrieval, updating, and querying of information while maintaining the structural coherence of the
underlying data model.
61
Table 14: Relational Persistent Modeling
62
Password Varchar (25)
63
6 Seller Seller ID Integer (06) Seller ID
Many of the steps needed to build a machine learning model are reiterated and modified until data
scientists are satisfied with the model performance. This process requires a great deal of data
exploration, visualization and experimentation as each step must be explored, modified and
audited independently. [8] In Machine Learning, the performance evaluation metrics are used to
calculate the performance of your trained machine learning models. This helps in finding how
better your machine learning model can perform on a dataset that it has never seen before.
In the intelligent broker system (IBS), We implement new feature that is an Automated Suggestion
or Recommendation this feature relies on Content-based filtering method. Content-based filtering
64
uses item features to recommend other items similar to what the user likes, based on their previous
actions or explicit feedback. The recommender system stores previous user data like clicks, ratings,
and likes to create a user profile. The more a customer engages, the more accurate future
recommendations are. The more they have access to our purchasing history and patterns, the more
accurate the recommendations are. Recommender systems play a crucial role in our online lives.
Popular media and service platforms like Netflix, YouTube, Amazon, Facebook, etc., spend a
significant percentage of revenue to deliver quality and personalized adverts and recommendations
to drive sales and engagement. Users and customers benefit as well as they can buy products suited
to their tastes and discover new, relevant ones. [9]
Within the Intelligent System (IBS), the automated property suggestion feature employs Content-
based Filtering, a sophisticated recommendation technique. This method centers on analyzing
individual user profiles, focusing on their interactions and preferences, particularly in property
listings. Content-Based Filtering assesses the attributes and characteristics of listed properties,
mapping them to users' past choices to generate personalized suggestions. By understanding the
unique preferences of each user, the system identifies patterns and recommends properties that
align with individual tastes and requirements. This tailored approach significantly enhances user
experience, contributing to the IBS's overarching goal of transforming the trade market in the
automotive and real estate industries.
The Unified Modeling Language (UML) includes a component diagram that can be used to both
analyze and design component-based software. [6] A component diagram is a type of unified
modeling language (UML) diagram that provides a visual representation of the high-level structure
and organization of a system's components and their interactions. In this diagram, components are
depicted as rectangles, each representing a modular, replaceable, and independent part of the
system. The connections between components illustrate the relationships and dependencies among
them, showcasing how they collaborate to fulfill specific functionalities. Component diagrams are
particularly useful for system architects and developers to comprehend the architecture's modular
design, facilitating the identification of key components, their interfaces, and the overall
65
organization of the system. Component diagrams are essentially class diagrams that focus on a
system's components and are often used to model the static implementation view of a system. [10]
A UML deployment diagram depicts a static view of the runtime configuration of processing nodes
and the components that run on those nodes. In other words, deployment diagrams show the
hardware for your system, the software that is installed on that hardware, and the middleware used
to connect the disparate machines to one another. One can create a deployment model for
applications that are deployed on several machines. [11]
66
Figure 23: Deployment diagram
67
CHAPTER FOUR: IMPLEMENTATION
4. OVERVIEW
The project implementation overview offers a comprehensive outline of the key steps, activities,
and considerations integral to the successful execution of online platform catering to the
automotive and real estate markets, providing seamless brokerage services for clients involved in
buying, selling, or Rent vehicles and properties. The system aims to streamline and facilitate
market analysis, and enhance communication between buyers, sellers, and brokers within the
automotive and real estate industries.
The implementation process encompasses the development and deployment of a multifaceted web-
based application tailored to the unique requirements of the automotive and real estate sectors.
Key aspects of the implementation include designing intuitive user interfaces, integrating
specialized features for Automotive and Real-estate listings, leveraging external data sources for
market insights, ensuring data privacy and security, and conducting rigorous testing to ensure
platform reliability.
The implementation of the web-based broker system adopts an iterative and collaborative
approach, drawing upon waterfall methodologies to respond effectively to market dynamics and
stakeholder feedback. Cross-functional teams comprising developers, designers, domain experts,
and quality assurance professionals collaborate closely to deliver incremental updates and
continuously improve the platform's functionality and usability.
68
2. Core Features: Development efforts focus on implementing core features tailored to the
automotive and real estate industries, including robust search and filtering capabilities for
properties, interactive listing pages with detailed specifications and media galleries,
communication tools for connecting buyers and sellers, management functionalities.
3. Integration: Integration with external APIs and data providers is essential to enrich the
platform with up-to-date market information, including vehicle specifications, real estate
listings, pricing trends, and geographic data.
4. Security Measures: Stringent security measures are implemented to protect sensitive user
data, this includes encryption protocols, secure authentication mechanisms, role-based
access control, and compliance with industry standards. Regular security audits and
vulnerability assessments are conducted to maintain the platform's integrity.
The development of web-based broker system leverages a combination of tools and technologies
inherent to the MERN (MongoDB, Express.js, React.js, Node.js) stack, along with supplementary
tools for enhancing productivity, collaboration, and code quality. In addition to the core
components of the MERN stack and supplementary development tools, the broker web system
utilizes Firebase for certain functionalities and Insomnia as an API testing tool. Here's a detailed
overview of the key components and their integration within the project:
1. MongoDB
MongoDB serves as the primary database management system for the broker web system, storing
and managing structured and unstructured data related to user profiles, listings, transactions, and
system configurations. MongoDB is seamlessly integrated with the Node.js backend using the
Mongoose ODM (Object-Document Mapping) library. Mongoose provides a schema-based
solution for modeling application data and defining relationships between different entities. It
simplifies data validation, querying, and manipulation operations, allowing developers to interact
with MongoDB collections using JavaScript-like syntax.
69
2. Express.js
Express.js forms the backend framework of the broker web system, providing a lightweight and
flexible environment for building RESTful APIs, handling HTTP requests, and implementing
middleware functions. Express.js is integrated with MongoDB using the Mongoose library to
define API routes and controllers that interact with the database. Middleware functions are
employed for implementing authentication, authorization, request validation, error handling, and
other cross-cutting concerns. Express.js middleware such as body-parser are utilized for parsing
request bodies and enabling cross-origin resource sharing.
3. React.js
React.js powers the frontend interface of the broker web system, enabling the creation of dynamic
and interactive user interfaces through reusable UI components. React.js components are
integrated with the Express.js backend through RESTful API endpoints for fetching and updating
data from the MongoDB database. React Router is used for client-side routing, enabling navigation
between different views and components within the single-page application. State management
solutions such as Redux or Context API are employed for managing application state and handling
data flow between components.
4. Node.js
Node.js serves as the runtime environment for the broker web system's backend, allowing
developers to write server-side JavaScript code using event-driven, non-blocking I/O model.
Node.js integrates seamlessly with Express.js to create a scalable and efficient server-side
application. Node.js modules are utilized to encapsulate reusable functionality and external
dependencies, promoting modularity and code organization. Package management tools such as
npm are used to install and manage project dependencies, ensuring consistency and reproducibility
across development environments.
70
5. Firebase
Firebase is a comprehensive platform for building web and mobile applications, offering a range
of services for backend functionality, authentication, data storage, and analytics. It provides real-
time database capabilities, authentication mechanisms, cloud storage, and hosting services, making
it a versatile solution for modern application development. Firebase is integrated into the broker
web system to handle specific functionalities such as real-time notifications, user authentication,
and cloud storage for media assets. Firebase Authentication is used to manage user authentication
and authorization, enabling secure access to application resources. Firebase Realtime Database or
Cloud Fire store may be utilized for storing and synchronizing real-time data updates between
clients and servers. Additionally, Firebase Cloud Messaging (FCM) may be employed for sending
push notifications to users based on relevant events or updates within the system.
6. Insomnia
Insomnia is a powerful API testing tool that enables developers to design, debug, and test APIs
with ease. It provides an intuitive interface for composing HTTP requests, inspecting server
responses, and managing API environments, making it an essential tool for API development and
testing. Insomnia is utilized during the development and testing phases of the broker web system
to interact with RESTful API endpoints exposed by the backend server. Developers use Insomnia
to create and execute HTTP requests for various CRUD (Create, Read, Update, Delete) operations,
validate request payloads and parameters, and analyze server responses. Insomnia's features such
as environment variables, request chaining, and response assertions streamline the process of API
testing and validation, ensuring API endpoints function as intended and adhere to specified
requirements.
71
import { useEffect, useState } from "react";
import "swiper/css/bundle";
SwiperCore.use([Navigation]);
console.log(offerListings);
useEffect(() => {
try {
setOfferListings(data);
fetchRentListings();
} catch (error) {
72
console.log(error);
};
try {
setRentListings(data);
fetchSaleListings();
} catch (error) {
console.log(error);
};
try {
setSaleListings(data);
} catch (error) {
log(error);
};
fetchOfferListings();
73
}, []);
e.preventDefault();
urlParams.set("searchTerm", searchTerm);
};
useEffect(() => {
if (searchTermFromUrl) {
setSearchTerm(searchTermFromUrl);
}, [location.search]);
return (
<>
<div className="pt-24">
<form
onSubmit={handleSubmit}
>
<input
type="text"
value={searchTerm}
/>
<div className="-mr-10">
</button>
</div>
</form>
</div>
<br />
</h1>
<br />
</div>
<Link
to={"/search"}
>
</Link>
</div>
<Swiper navigation>
{offerListings &&
offerListings.map((listing) => (
<SwiperSlide>
<div
style={{
backgroundSize: "cover",
}}
className="h-[500px]"
76
key={listing._id}
></div>
</SwiperSlide>
))}
</Swiper>
<div className="">
<div className="my-3">
Recent offers
</h2>
<Link
to={"/search?offer=true"}
>
</Link>
</div>
{offerListings.map((listing) => (
))}
</div>
77
</div>
)}
<div className="">
<div className="my-3">
</h2>
<Link
to={"/search?type=rent"}
>
</Link>
</div>
{rentListings.map((listing) => (
))}
</div>
</div>
)}
<div className="">
78
<div className="my-3">
</h2>
<Link
to={"/search?type=sale"}
>
</Link>
</div>
{saleListings.map((listing) => (
))}
</div>
</div>
)}
</div>
</div>
<Footer />
</>
);
79
4.4. Testing
Testing is an integral part of the development process to ensure the reliability, functionality, and
performance of the web-based broker system. Different types of testing are conducted at various
stages of development to identify and rectify any issues or discrepancies. The testing phase consists
of the following categories:
Unit testing focuses efforts on the smallest unit of software design, known as module testing. Each
module is tested separately during the programming stage itself to ensure its functionality aligns
with expectations. In our project, every form is thoroughly tested to ensure it performs as expected.
Unit testing refers to the testing of every small modular component of the system, keeping them
isolated from other modules. In this phase, each unit or function is tested immediately after
implementation. Errors are corrected, and modifications are made as needed. Each development
unit is tested independently, and each file is built separately.
Data Entry Modules: Each data entry module undergoes careful validation for errors. Modules
like product entry and supplier entry are checked both before and after runtime for any issues. Test
classes are created for each module and rigorously tested.
View Modules: View modules are examined to ensure accurate information viewing. The
relationship between newly added data and view grids is thoroughly inspected through code and
during runtime.
Unit testing plays a crucial role in ensuring the reliability and functionality of the system's
individual components. By thoroughly testing each module in isolation, we can identify and
address issues early in the development process, minimizing the risk of defects in the final product.
80
4.4.2. System Testing
System testing is a critical stage of implementation, verifying the accuracy and efficiency of the
system before live operation commences. It involves testing the entire system in the context of
functional requirement specifications (FRS), system requirement specifications (SRS), or both.
System testing assesses not only the design but also the behavior and expected outcomes from the
customer's perspective. It aims to validate the system's functionality and performance within and
beyond the boundaries defined in the software or hardware requirements specification.
During system testing, the integrated components of the system are evaluated to ensure they
function as expected and interact seamlessly with each other. This comprehensive testing approach
considers both functional and non-functional requirements, assessing the system's ability to handle
typical user interactions and workflows. By conducting system testing, we can identify any
discrepancies or deviations from expected behavior, allowing us to make necessary adjustments
and enhancements before the system is deployed for live operation. This ensures that the system
meets the desired criteria for functionality, interoperability, and compliance with requirements.
The main objective of acceptance testing is to ensure the developed application meets the
requirements of the customer and improves the quality of the application. User acceptance testing
of the system is scheduled to be executed. Acceptance Testing is the final phase of the software
testing process, where actual software users test the software to ensure it can handle necessary
tasks in real-world scenarios, according to specifications. It is performed by the end user or the
client to verify and accept the software system before moving the software application to the
production environment. It is one of the final and critical software project procedures that must
occur before launching a new software to the market.
81
evaluate the system's functionality, usability, and performance against predetermined criteria to
determine whether it meets their needs and objectives.
We've received valuable feedback from our clients regarding the implementation of the web-based
broker system. Here are some key highlights from their feedback:
User-Friendly Interface:
Clients have expressed satisfaction with the user-friendly interface of the broker system. They
appreciated its intuitive design, clear navigation, and overall ease of use. The system's interface
was found to be simple and well-organized, enabling users to navigate through the platform
without any confusion.
82
Seamless User Experience:
Clients praised the smooth and seamless user experience provided by the web-based system. They
highlighted the stability and reliability of the platform, which ensured uninterrupted usage and
minimized technical disruptions. Users reported no major issues during their interactions with the
system, resulting in a stress-free and efficient experience.
Clients appreciated the online nature of the broker system, which provided convenience and
accessibility to users. They noted that users could access the platform from any location with an
internet connection, eliminating the need for physical office visits. This flexibility allowed users
to conduct their brokerage activities at their preferred time and reduced logistical challenges.
Clients were impressed by the robust security measures implemented in the broker system. They
acknowledged the use of advanced authentication techniques, secure data encryption, and
safeguards against unauthorized access. These security measures instilled confidence in the
integrity and confidentiality of the brokerage process.
The feedback reflects a high level of satisfaction with the web-based broker system, highlighting
its user-friendly interface, seamless user experience, accessibility, security measures, efficient
transaction processing, and robust reporting capabilities. These insights will inform future
enhancements and improvements to further optimize the system for our clients' needs.
83
Figure 24: Admin login UI
84
Figure 26: Admin Show User Lising
85
4.6.2. Application User Interface Manual
86
Figure 30: User Profile Management
87
4.7. Conclusion and Recommendation
4.7.1. Conclusion
As the system nears completion, it is evident that our primary objective of streamlining operations
and enhancing customer experience has been realized. The Comprehensive Broker Management
System empowers brokers with real-time insights into market trends, client preferences, enabling
them to optimize strategies and maximize success.
4.7.2. Recommendation
88
updates and enhancements should be implemented to address any emerging needs or technological
advancements in the automotive and real estate industries.
Proactive engagement with users and stakeholders is essential to gather feedback and identify areas
for improvement. Incorporating user feedback into future iterations of the system will help enhance
its usability and effectiveness, ultimately leading to higher customer satisfaction and retention.
Considering the dynamic nature of the market, it is recommended to remain adaptable and agile in
response to changing industry trends and customer demands. Continual monitoring of market
dynamics and competition will enable the Comprehensive Broker Management System to stay
ahead of the curve and maintain a competitive edge in the brokerage industry.
89
References
90
[11] S. W. Ambler, "The Object Primer 2nd Edition," in The Object Primer:, A Ronin
International White Paper, June 22, 2001, p. 18.
[12] "https://www.bing.com/," Bing, 2023. [Online]. Available: https://www.bing.com/.
[Accessed 18 12 2023].
91
APPENDIX
✓ Project Familiarity
✓ Have you had previous experience using online brokerage platforms or systems?
✓ What aspects of traditional brokerage services do you find challenging or
inefficient?
✓ Automated Suggestion Feature
✓ How comfortable are you with automated suggestion features, especially in the
context of property recommendations?
✓ What expectations or concerns do you have regarding the system's ability to
provide relevant suggestions?
✓ User Interaction and Experience
✓ In your opinion, what elements contribute to a positive user experience in an
online brokerage system?
✓ How important is intuitive navigation and clear communication in a brokerage
platform?
✓ Technological Adoption
✓ How familiar are you with technologies and how receptive are you to their
integration into brokerage services?
✓ Do you perceive technological advancements as valuable in improving the
efficiency of brokerage operations?
✓ Feedback and Improvement
✓ How comfortable are you with providing feedback on the system, and in what
ways do you prefer to share your thoughts?
✓ Can you recall an instance where user feedback positively influenced your
experience with a digital platform?
92