Professional Documents
Culture Documents
******** ********
PEACE – WORK-FATHERLAND PAIX –TRAVAIL-PATRIE
******** ********
MINISTRY OF HIGHER EDUCA- MINISTERE DE L’ ENSEIGNE-
TION MENT SUPERIEURE
******** ********
BACHELOR OF TECHNOLOGY
Speciality: SOFTWARE ENGINEERING
Written by:
ACADEMIC SUPERVISOR
MEGOZE MATHIEU HILAIRE
CERTIFICATE
We hereby declare that the project entitled “Developing a real estate booking system
using smart contract” submitted by us to the School of Engineering and Applied Science,
La Cote University Institute, Douala towards the partial fulfillment of the requirements
for the award of the degree of Bachelor of Technology in Software Engineering is a
record of bonafide work of NGOUNOU MAGA SUZELLE and OUOCHE DORIS
MAJOIE. We further declare that the work reported in this project has not been
submitted and will not be submitted, either in part or in full, for the award of any other
degree or diploma of this institute or of any other institute or university.
Supervisor
Signature : Date :
Head of Department :
Signature : Date :
DEDICACE
AKNOWLEDGEMENT
The accomplishment of this work required the assistance of some people. Failing to
quote them individually here, they receive my most sincere thanks. I am particularly grateful
to:
Mr. GUIMEZAP Paul, Founder and President of IUC, for the establishment of this structure
for the purpose of training students.
Mr. KENOU Willy Chance, the Director of SEAS, for his sense of management, listening,
and accompaniment.
Mr. DONGMO Boris, my Head of Department, for his guidance and available support.
Mr. MEKOZE HILAIRE, my supervisor, who has been a source of inspiration and
motivation for me. Always guiding me and giving me advice on how to do things throughout
my work.
A big hand goes to my lecturers who assisted me in class and even out of the school premises,
who made me understand the science in my field of studies. And also, to all my friends who
contributed to the development of this work.
I am very grateful to my beloved family most especially my Parents for their persistent moral
advice and financial support in every aspect of my education. Their love has been a major
support both physically and spiritually in my life.
Above all, I would like to thank the ALMIGHTY GOD who gave me good health, strength,
wisdom, and countless other good things for the accomplishment of this work.
TABLE OF CONTENT
Table des matières
CERTIFICATE.........................................................................................................................1
DEDICACE...............................................................................................................................2
AKNOWLEDGEMENT...........................................................................................................3
ABSTRACT...............................................................................................................................9
RESUME.................................................................................................................................10
GENERAL INTRODUCTION..............................................................................................11
1. General objectives.................................................................................................11
2. Specific objectives.................................................................................................11
V. SCOPE OF THE PROJECT...................................................................................13
CHAPTER I: STUDY OF EXISTING SOLUTIONS.........................................................14
1. General presenntation..........................................................................................14
2. Fonctionning diagram..........................................................................................15
3. Advantages and disadvantages............................................................................15
1. General presentation............................................................................................16
2. Fonctionning diagram..........................................................................................17
3. Advantages and disadvantages............................................................................17
III. COMPARAISON BETWEEN EXISTING SOLUTIONS...................................18
CHAPTER 2 : SYSTEM ANALYSIS..........................................Erreur ! Signet non défini.
CHAPTER III:SYTEM ANALYSIS.....................................................................................19
II. PROPOSED SYSTEM.............................................................................................20
1. Architecture of the system...................................................................................20
2. Methodology..........................................................................................................22
3. Advantage of using the proposed solutions........................................................27
1. List of requirements.............................................................................................28
2. Data dictionaries...................................................................................................29
1. Hardware Requirement..............................................................................................31
CHAPTER 3: SYSTEM DESIGN.........................................................................................33
I. SYSTEM MODELING...............................................................................................33
1. Use case diagram..................................................................................................33
a. Representation of the use case diagram..............................................................33
b. Textual description of the use cases....................................................................34
2. Sequence diagram.................................................................................................36
3. Class diagram........................................................................................................39
CHAPTER 4: IMPLEMENTATION....................................................................................41
WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 4
DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT
1. Schedule feasibility...............................................................................................42
Front end technologies....................................................................................................43
Back End technologies....................................................................................................44
WEBOGRAPHY......................................................................................................................49
LIST OF ABREVIATIONS
CSS/
LIST OF FIGURES
LIST OF TABLES
ABSTRACT
We are living in the age of decentralization and the removal of middlemen. The digital era is
slowly transforming and replacing traditional methods. The benefit of this new technology is
that it aims toward the decentralization and removal of third parties. It enables payments to be
sent directly between parties without the need for a financial institution, such as a bank, to act
as a middleman. Our project allows users to book a property and make secure payments with
the help of Smart Contracts.Our Real-Estate booking System using Smart Contract and the
blockchain technology could be applied to real estate transactions and minimize the need for
third-party involvement. Blockchain technology could contribute to more efficient and
transparent systems compared to traditional centralized solutions. In this system, the admin
has the authority to manage real estate and user details. The list of registered real estate and
users will be displayed. From the list, they can view, approve, block and delete real estate and
users. Feedback and ratings from real estate to users and user’s feedback to real estate can be
viewed by the admin.The real estate will need to register first for uploading property details
and add its details to get a suitable use for it. They can view, add, update and delete the
property details. They can also create, confirm and terminate the contract of token or partial
payment of the flat. The real estate can view all the user details. All the previous transactions
can be viewed as well as the rating and feedback from the user.
RESUME
GENERAL
INTRODUCTION
1. General objectives
The main purpose of our system is to permit users to find easily a property that correspond to
their needs and preferences, to offers a platform for sellers to rent and sell their properties
and to permit a rapid, easy and safe transaction of money between the seller and the client.
2. Specific objectives
The purpose of this project is to develop a unique online system, which enables users to
book, transfer and make payment of rooms anywhere they are and generate house or room
invoices immediately.
provide an interface to advertise the apartments and rooms
Ease the research of a property
minimize paper works by generating softcopy reports of house invoices, house
or apartment records and the respective bookings
Enable customers and individuals to book rooms online after registration
WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 11
DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT
GANTT DIAGRAM
CHAPTER I: STUDY OF
EXISTING SOLUTIONS
I. SOLUTION 1: ZILLOW
1. General presentation
Zillow, founded in 2004 by two former Microsoft executives, is one of the leading apps in
the real estate market. In fact, according to its site, Zillow is the most-visited real estate
website in the United States.
It is noted for keeping up to date with fast-paced real estate markets. Zillow is free for
buyers and sellers because its primary revenue source comes from advertising and lead
generation costs from realtors.
The main functionalities of Zillow are:
Buy a home
sell a home
rent a home
find an agent
looking for real estate agents
looking for a home builder
looking for a real estate agent
offer a services as an agent
Agent advertising
real estate business plan
2. Functioning diagram
Figure 3 : the data flow diagram illustrating how Zillow works
3. Advantages and disadvantages
Advantages :
Access to over 135 million homes
Unlock Zillow-owned properties through the app
Detailed search and filter criteria
Personal rental profiles
Disadvantages :
Estimate algorithm not always accurate
Difficult to identify listing agent
Search filters can be inaccurate
1. General presentation
Booking.com is one of the oldest online travel agencies, having originally been founded in
1996.The company is headquartered in Amsterdam, the Netherlands, and the website has
listings that cover nearly 200 different countries around the world.
Like many OTAs on the market, Booking.com offers users the option to book:
flights and hotels
motels
holiday homes
and other similar types of accommodation
while also functioning as a travel fare aggregation service.
2. Functioning diagram
Figure 4 : the data flow diagram illustrating how Booking.com works
Advantages:
The flexibility this offers is useful for many reasons, but particularly if you’re making
a last minute booking
Very good customer service team
Over 93 Million Reviews
The prices displayed are the prices you pay
It’s really nicely designed, really easy to use and it’s updated very frequently.
Disadvantages:
Booking.com is mainly a place for big hotel chains
WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 17
DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT
The booking is instant. You may not cancel a request without a cancellation fee
You may need to get a special credit card reader for accepting payments.
Request a tour
I. DEVELOPMENT METHODOLOGY
In order to meet the business needs and optimize the time-to-market, the development of
software solutions such as mobile applications requires a well-defined and agreed sequence of
steps that ensure its quality, maintainability, and upgradability. This set of sequential steps is
known as Software development life cycle (SDLC) or software development methodology.
For this project we chose the Waterfall Model.
The waterfall model is a classical model used in the system development life cycle to create a
system with a linear and sequential approach. It is termed a waterfall because the model
develops systematically from one phase to another in a downward fashion. The waterfall
approach does not define the process to go back to the previous phase to handle changes in
requirements. The waterfall approach is the earliest approach that was used for software
development.
Waterfall is the most conventional software development methodology. In fact, it has been
one of the most popular approaches for web development projects for several decades due to
its plan-driven approach.
The Waterfall approach requires a lot of structure and documentation. The process is divided
into several stages that form a sequence:
1.Requirements; Potential requirements, deadlines and guidelines for the project are
analyzed and placed into a formal requirements document, also called a functional
specification. This stage of development defines and plans the project without mentioning
specific processes.
2.Analysis. The system specifications are analyzed to generate product models
and business logic to guide production. This is also when financial and technical resources
are audited for feasibility.
3.Design. A design specification document is created to outline technical design
requirements, such as the programming language, hardware, data sources, architecture and
services.
4.Coding and implementation. The source code is developed using the models, logic
and requirement specifications designated in the prior phases. Typically, the system is
coded in smaller components, or units, before being put together.
5.Testing. This is when quality assurance, unit, system and beta 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.
6.Operation and deployment. The product or application is deemed fully functional and
is deployed to a live environment.
7.Maintenance. Corrective, adaptive and perfective maintenance is carried out
indefinitely to improve, update and enhance the product and its functionality. This could
include releasing patch updates and new versions.
The architecture consists of a front end (interface accessible via a web browser) which will
interact with our smart contract. The smart contract will be stored on the Ethereum blockchain
and the decentralized properties and the high level of security of the blockchain technology
will guarantee the safety of our users' funds. In addition, the application is protected by a
connection system with an encrypted password which protects the account of our users and
guarantees the integrity of their personal data.
2. Methodology
A. The user :
The user is the one who interact with the system and perform actions. The system has two
type of users : the real estae agent and the client.
The real estate agent has the main functons to represent the owner of the properties,
he is an intermedite between the client and the seller. The seller trust him to manage
his property on the plateform. Only legal companies can be register on the platform
and they are responsible of the veracity of the properties that they upload on the web
site.
The client is the one who is looking for a property to book.His presence keeps the
system alive.
B. The interface
The interface is the bridge between the user and the system. It is also call the front-end and
permit the user to interact with the system and performs action like book a property. The
front-end is store on a web-server which will be accessed with a browser, so the front-end is
mainly developed with web technologies like javascript, html, css etc.
C. The Blockchain
The blockchain is a distributed ledger technology (DLT). A DLT is defined as a register, i.e. a
virtual transaction file, synchronized simultaneously on a network of participants in peer-to-
peer (abbreviated as “P2P”) without central administrator.
These data structures are used to list transactions performed by users. Transactions are
grouped into blocks chained together and blocks are added to the chain over time. This
register is shared between the members of the network which makes it a distributed system.
Before a block is added to the chain, it is first verified and then sealed with a key.
This process takes place with each new transaction.A block is created each time the previous
one is filled information, and then validated.
Proof-of-work (PoW)
The set of mining nodes that are part of the network the minors pursues a common objective:
that of calculating the as quickly as possible the hash of a block by adding a nonce, i.e. a
series of digits 0, before the hash obtained satisfying a certain property. The first miner to find
is rewarded with a certain number of tokens. The way to get this result is to test multiple
nonces, until you find the one that matches. By requiring a certain number of 0 at the
beginning of the hash, the probability of finding the correct nonce can drop very quickly until
it becomes tiny. The number of calculations to have the chance to find the solution is very
high, it takes a lot of time and above all a lot of energy, which is why each block must
imperatively have a mining difficulty lower than the hash.
These characteristics are primarily used to verify that the document is complete and not
falsified. This also makes it possible to perform signatures without revealing the contents of
the document and to be able to repeat it automatically as an algorithm. Mining allows you to
perform thousands of calculations to find the hash until validation and obtaining the rule
emitted at the time of encryption.
The nodes
Each computer connected to a P2P network is called a "node", each of these nodes being able
to transmit or receive information from the entire network. Nodes are represented by
participants in the blockchain, each of which maintains a copy. Usually a very large number
of nodes contributes to the blockchain, which ensures its robustness and integrity.
There are several types of node, the main ones being:
• full nodes: their function is to verify the integrity of the blockchain and to check whether
each of the blocks corresponds to the rules established by the consensus;
• listening nodes: these nodes can be likened to a relay between other nodes;
• mining nodes: these are complete nodes used by miners for verification
transactions.
WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 24
DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT
The Validators
A validator is a blockchain user who is responsible for confirming transactions. When the
validator determines the correctness of a transaction, it adds it to the ledger. Because of this,
the validity of the blockchain and, therefore, its normally transparent operation is preserved.
In the proof-of-work protocol validators are called miners and in the proof of stake protocol
they are called forgers.
Scenario
The scenario is the set of specific conditions that must be met for the contract to run.The
scenario can be divided into two events
The conditions not met: the receiver recovers the money and the seller keeps his
property and the contract is canceled
The conditions are met: the receiver gets the title and the seller receives the money
and the contract verifies that both parties have indeed received their goods, then the
contract is executed
To calculate the cost of a transaction, the gas price is multiplied by the amount of the gas
used. It is represented by the formulae: Transaction Fee = Gas Used * Gas Price
network. Therefore, neither party can force the release of other people's funds or data,
because all other blockchain participants would know andmark such an attempt as
invalid
Record keeping: all contractual transactions are stored in chronological order of their
execution in the blockchain.
Profitability: the reduction of intermediaries removes costs, thus allowing companies
and their customers to interact and transact directly with reduced or zero transaction
fees
Table 4 : Summary table of the advantage of smart contracts over traditional contracts
Traditional contracts Smart contracts
1 to 3 days Minutes
Manual payment Automated payment
Requires a trusted third party No need for a trusted third party
Significant costs Low costs
Face-to-face signing Signature digitale
2. Data dictionaries
Table 6 : Data dictionary of user collection
COLUMN DATA TYPE DESCRIPTION
Client
Id_user Int User’s primary key
First_name String User first name
Last_name String User’s last name
Num_cni String CNI number
Email String Email of the user
Password String Password of the user
Img_profil String Photo of the user
V. SYSTEM REQIREMENT
1. Hardware Requirement
Laptop or PC
2. Software Requirement
Table 10 : Software requirement
Software Description
Visual Studio Code Visual Studio Code is a multi-platform code,
open source and free user editor that supports
ten languages. It can be used with variety of
programming language.
CHAPTER 3: SYSTEM
DESIGN
I. SYSTEM MODELING
As part of our project, after many thoughts, we opted for the uml modeling diagram
The Unified Modeling Language , is a graphic modeling modeling patternogravy designed as
a standardized display method in the fields of software development and object-oriented
design.
UML is a standardized modeling language. It help Software Developers Visualize, Construct,
and Document New Software Systems and Blueprints.
2. Sequence diagram
A sequence diagram is a UML diagram that represents the sequence of messages passed
between objects during an interaction. They can also represent control structures between
objects.
3. Class diagram
CHAPTER 4:
IMPLEMENTATION
I. Feasibility study
The main objective of the feasibility study is to test the Technical, Operational and
Economical feasibility for adding new modules and debugging old running system. All
system is feasible if they are unlimited resources and infinite time. There are aspects in
the feasibility study portion of the preliminary investigation:
Technical Feasibility
Operational Feasibility
Economical Feasibility
1. Technical feasibility
The technical issue usually raised during the feasibility stage of the investigation
includes the following:
Does the necessary technology exist to do what is suggested?
Do the proposed equipment’s have the technical capacity to hold the data
required ?
Will the proposed system provide adequate response to inquiries, regardless of
the number or location of users?
Can the system be upgraded if developed?
Are there technical guarantees of accuracy, reliability, ease of access and data
security?
The current system developed is technically feasible. It is a web based user interface
that provides an easy access to the users. The database’s purpose is to create, establish
and maintain a workflow among various entities in order to facilitate all concerned
users in their various capacities or roles. Permission to the users would be granted
based on the roles specified.
Therefore, it provides the technical guarantee of accuracy, reliability and security. The
software and hard requirements for the development of this project are not many and
are already available as free as open source. The work for the project is done with the
current equipment and existing software technology. Necessary bandwidth exists for
providing a fast feedback to the users irrespective of the number of users using the
system.
2. Operational feasibility
Proposed projects are beneficial only if they can be turned out into information
system. That will meet the system requirements. Operational feasibility aspects of the
project are to be taken as an important part of the project implementation. Some of the
important issues raised are to test the operational feasibility of a project includes the
following:
Will the system be used and work properly if it is being developed and
implemented?
WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 41
DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT
Will there be any resistance from the user that will undermine the possible
application benefits?
This system is targeted to be in accordance with the above-mentioned issues.
Beforehand, the management issues and user requirements have been taken into
consideration. So there is no question of resistance from the users that can undermine
the possible application benefits. The well-planned design would ensure the optimal
utilization of the computer resources and would help in the improvement of
performance status.
3. Economical feasibility
In the economical feasibility, the development cost in creating the system is evaluated.
Financial benefits must equal or exceed the costs. The system is economically
feasible.
The cost of the development of this project was reduced by using some free software and
available technologies, such as Adobe XD (for the UI prototypes) and Visual Studio Code
(code editor). Some others aren’t, and their cost is estimated as shown in the table below:
Hosting of the web server 13 100 (20€ per month) Not acquired
1. Schedule feasibility
APPENDIX
Conclusion
This paper has presented an overview of the blockchain technology as a disruptive technology
for real estate industry. This study was designed to determine the effect of smart contract
with the various components for the implementation. Real estate development should
assess whether and when blockchain can be used as a technology in their organization. For
the adoption of blockchain into the organization, it is important to meet certain
requirements in order to improve the efficiency of the current processes.
WEBOGRAPHY
https://cointelegraph.com/learn/what-are-smart-contracts-a-beginners-guide-to-automated-
agreements/amp
https://www.investopedia.com/financial-edge/0810/7-must-have-real-estate-contract-
conditions.aspx
https://www.web3.university/tracks/create-a-smart-contract/deploy-your-first-smart-contract