You are on page 1of 50

REPUBLIC OF CAMEROON REPUBLIQUE DU CAMEROUN

******** ********
PEACE – WORK-FATHERLAND PAIX –TRAVAIL-PATRIE
******** ********
MINISTRY OF HIGHER EDUCA- MINISTERE DE L’ ENSEIGNE-
TION MENT SUPERIEURE
******** ********

BACHELOR OF TECHNOLOGY
Speciality: SOFTWARE ENGINEERING

BACHELOR OF TECHNOLOGY PROJECT

DEVELOPING A REAL ESTATE BOOKING


SYSTEM USING SMART CONTRAT

Written by:

NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE

ACADEMIC SUPERVISOR
MEGOZE MATHIEU HILAIRE

Academic year 2022/2023


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

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

MR. MEGOZE HILAIRE MATHIEU

Signature : Date :

Head of Department :

MR. DOGMO BORIS

Signature : Date :

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 1


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

DEDICACE

TO OUR LOVELY FAMILY

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 2


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

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. FONKOU Lester Confiance, the coordinator of the BTECH program.

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.

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 3


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

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

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 5


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

LIST OF ABREVIATIONS

EVM; Ethereum Virtual Machine

UML: Unified Modeling Language

HTML; Hypertext markup Language

CSS/

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 6


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

LIST OF FIGURES

Figure 1 : Gantt diagram.......................................................................................................13


Figure 2 : Zillow home interface..............................................................................................14
Figure 3 : the data flow diagram illustrating how Zillow works..............................................15
Figure 4 : the data flow diagram illustrating how Booking.com works...................................17
Figure 5 : Waterfall model phase..............................................................................................19
Figure 6 : Architecture of the system........................................................................................21
Figure 7 : Transaction in blockchain.........................................................................................23
Figure 8: Organisation of a block.............................................................................................23
Figure 9 : Operation of the smart contract................................................................................26
Figure 10 :Use case diagram of the system..............................................................................33
Figure 11 : Sequence diagram of connection............................................................................36
Figure 12 : Sequence diagram of make transaction..................................................................38
Figure 13 : Class diagram of the system...................................................................................39

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 7


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

LIST OF TABLES

Table 1 : Schedule of the work.................................................................................................12


Table 2 : Comparaison of existing solutions.............................................................................18
Table 3 : Ether, gwei and wei price comparaison.....................................................................27
Table 4 : Summary table of the advantage of smart contracts over traditional contracts.........28
Table 5 : Functionality of the application.................................................................................29
Table 6 : Data dictionary of user collection..............................................................................29
Table 7 : Data dictionary of the property collection.................................................................30
Table 8 : Data dictionary of Ethereum external owner account collection...............................30
Table 9 : Data dictionary of room collection............................................................................31
Table 10 : Software requirement...............................................................................................32
Table 11 : Textual description of use case ‘Create property’....................................................34
Table 12 : Textual description of use case ‘Book property’......................................................34
Table 13 : Textual description of use case ‘Make transaction’.................................................35
Table 14 : Textual description of use case ‘Create account’.....................................................35
Table 15 : Sequence diagram description ‘connection’............................................................37
Table 16 : Sequence diagram description.................................................................................39

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 8


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

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.

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 9


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

RESUME

Nous vivons à l'ère de la décentralisation et de la suppression des intermédiaires. L'ère


numérique transforme et remplace lentement les méthodes traditionnelles. L'avantage de cette
nouvelle technologie est qu'elle vise la décentralisation et la suppression des tiers. Il permet
d'envoyer des paiements directement entre les parties sans qu'il soit nécessaire qu'une
institution financière, telle qu'une banque, agisse comme intermédiaire. Notre projet permet
aux utilisateurs de réserver une propriété et d'effectuer des paiements sécurisés à l'aide de
contrats intelligents. Notre système de réservation immobilière utilisant des Contrats
intelligent et la technologie blockchain pourrait être appliqué aux transactions immobilières et
minimiser le besoin d'intervention de tiers. La technologie blockchain pourrait contribuer à
des systèmes plus efficaces et transparents par rapport aux solutions centralisées
traditionnelles. Dans ce système, l'administrateur a le pouvoir de gérer les détails de
l'immobilier et des utilisateurs. La liste des biens immobiliers enregistrés et des utilisateurs
s'affichera. À partir de la liste, ils peuvent afficher, approuver, bloquer et supprimer des biens
immobiliers et des utilisateurs. Les commentaires et les évaluations de l'immobilier aux
utilisateurs et les commentaires des utilisateurs sur l'immobilier peuvent être consultés par
l'administrateur. L'immobilier devra d'abord s'inscrire pour télécharger les détails de la
propriété et ajouter ses détails pour en obtenir une utilisation appropriée. Ils peuvent afficher,
ajouter, mettre à jour et supprimer les détails de la propriété. Ils peuvent également créer,
confirmer et résilier le contrat de paiement symbolique ou partiel de l'appartement.
L'immobilier peut voir tous les détails de l'utilisateur. Toutes les transactions précédentes
peuvent être consultées ainsi que la note et les commentaires de l'utilisateur.

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 10


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

GENERAL
INTRODUCTION

I. BACKGROUND AND CONTEXT


During the last holiday, i spent hours walking through the neighborhood with my friend to
find a new flat for her. In the age of decentralisation and numerisation of services, those
situation can be avoid. On average more than 80% of dwellers in cosmopolitan cities in Africa
are tenants, especially in Cameroon where getting properties is on the top of comunity needs.
The benefit of new technologies is that you can do anything at a distance without spending
your time and energy, 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.

II. PROBLEM STATEMENT


Since the beginning of human time, the need for home has been fundamental in the
hierachy of needs. People will consistently need a place to live. Buying a house or an
apartment can hardly be called a mundane purchase. It is not even a thin case and envolves a
long administrative procedure. People are trying to find solutions on internet to ease the
research and the payement process but the risk of scamming is still there and even a small-
scale transaction may involve substantial sums of money. It inevitably makes buyers and
sellers sense a certain amount of suspicion.
Our Real-Estate booking System using Smart Contract 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.

III. GENERAL AND SPECIFIC OBJECTIVES

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

IV. ORGANISATION OF THE REPORT

CLASSIFICATION TASKS BEGINNING END DATE DURATION PROGRESS


DATE
Background 20-02-2023 24-02-2023 6 days 90%
General Introduction Problem statement 24-02-2023 26-02-2023 3 days 70%
General and specific 26-02-2023 28-02-2023 3 days 60%
objectives
Scope of the project 01-03-2023 04-03-2023 4 days 60%
Functional requirement 05-03-2023 08-03-2023 4 days 100%
System requirement Resources 08-03-2023 12-03-2023 5 Days 100%
Actors of the project 12-03-2023 13-03-2023 2 days 50%
Cost of the project 13-03-2023 14-03-2023 2 days 75%
Schedule of feasibility 14-03-2023 16-03-2023 3 days 65%
Technologies used 16-03-2023 17-03-2023 2 days 100%
Study of existing Existing solutions 17-03-2023 18-03-2023 2 days 70%
system Concurrency solutions 18-03-2023 20-03-2023 3 days 55%
System analysis System modeling 20-03-2023 26-03-2023 7 days 10%
System architecture 27-03-2023 04-04-2023 9 days 5%
Implementation Presentation of each 05-04-2023 22-04-2023 18 days 0%
module(Coding)
Test 24-04-2023 09-05-2023 16 days 0%
Deployment of the 10-05-2023 22-05-2023 13 days 0%
system environment

Table 1 : Schedule of the work

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 12


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

GANTT DIAGRAM

Figure 1 : Gantt diagram

V. SCOPE OF THE PROJECT


The proposed system is a web base application. It will address to all citizens who are
searching or renting an accommodation. The system will allow customers to register and
book rooms of their own comfort anywhere and at any point in time not forgetting to print
the house invoices.

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 13


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

CHAPTER I: STUDY OF
EXISTING SOLUTIONS

I. SOLUTION 1: ZILLOW

Figure 2 : Zillow home interface

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

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 14


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

 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

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 15


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

II. SOLUTION 2: BOOKING.COM

Figure  : Booking.com home interface

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.

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 16


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

2. Functioning diagram

Figure 4 : the data flow diagram illustrating how Booking.com works

3. Advantages and disadvantages

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.

III. COMPARISON BETWEEN EXISTING SOLUTIONS

Table 2 : Comparison of existing solutions


Application Characteristics Geographi Main features Drawbacks Solutions
c space
handle
Booking.com Web-based 200 country Search room near The payment is Automized the
applications and handle your neighborhood doing on site payment system
mobile (France,
Book room You cannot Permit users to
application Spain,
cancel your cancel their booking
Netherlands
booking after at any moment
and some
you have
African
complete all
countries
the booking
like
step
Cameroon
Book air travelling
Provide travel offer
Add your business
Dispute settlement
Zillow Web-based USA Buy a homme When you Make the transaction
application apply for a fast and effective
room you wait
the call back
of the seller so
the transaction
is long
Sell a home
Rent a home
Find an agent
Offer services as an
agent
Search home by
price, lot size,
home type etc..

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 18


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

Request a tour

CHAPTER II: SYTEM


ANALYSIS

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:

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 19


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

Figure 5 : Waterfall model phase

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.

II. PROPOSED SYSTEM


1. Architecture of the system

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.

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 20


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

Figure  : Architecture of the system

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 21


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

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.

How transaction Works in Blockchain


When a trasaction takes place, the blockchain verifies that you have the necessary funds. The
date and time of the transaction, the amount, the address of the receiver and the issuer are
entered in the transaction. Transactions are recorded in a block which is locked with a key
using a hash function
To verify the authenticity of the issuer, a digital signature consisting of a private key and a
public key is used. When the sender sends to the receiver, he sends his public address linked
to his private key. To prove its authenticity, the sender identifies himself with his private key.
The private key must remain confidential and cannot be shared.
To make it simpler, here is the process of a transaction within a blockchain :
Let's take a simple example of a transaction made between Alice and Bob.
1. This transaction is requested on the network.
2. It is initialized on a timestamped block.
3. It is confirmed and validated by “the consensus”: the information of the transaction from
Alice to obB undergoes an initial updated and allows all nodes to verify the accuracy of the
transaction to determine whether Alice had well the possibility of transferring to Bob and if
everything is in order.
4. The block is registered on the blockchain, according to the date and the time of its creation,
and can no longer be modified.
5. The network is updated with the information that B is indeed the new owner.
WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 22
DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

This process takes place with each new transaction.A block is created each time the previous
one is filled information, and then validated.

Figure  : Transaction in blockchain

THE HASHING ALGORITHM


Hashing is a complex principle underlying blockchain security. In this technology, it is the
result of a mathematical function coupled to a hierarchy by Merkle tree. To simplify, this
function takes data and converts it into a string of numbers and letters, call hash of almost
fixed size/weight 256 bit (32 byte) single file. Blockchain data is therefore included in a
hexadecimal hash (base 16). The number of characters and the shape of the hash are always
specific to the starting data unless a modification is made and it is impossible to find the
starting data with the hash. The hashes are used in the signature of the transaction.
Each block is a transaction set containing the hash of the block and the hash of the previous
block. The first block in the Blockchain is a parentless block called; Genesis block in the case
of bitcoin the Genesis block contains a single transaction of 50 BTC and a previous block
hash value equal to 0.
Ethereum uses the keccak-256 algorithm and its fingerprints are called Ethereum hashes.

Figure 6: Organisation of a block


WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 23
DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

The concensus method


When nodes start sharing and exchanging data through a platform Blockchain form, they
neither have a centralized party to settle and resolve disputes or protect against security
breaches, nor any mechanism to track the flow of funds and ensure an unassailable exchange
and avoid fraud, such as double spend attacks.
All nodes should agree on a common protocol for updating the contents of the registry to keep
it in a consistent state. Blocks should only not simply be accepted as part of the Blockchain,
without the consent of the majority, this is called a consensus mechanism by which blocks are
created and added to the existing ledger for future use.
Both bitcoin and ethereum use the proof-of-work method to reach a global consensus of all
transactions. but since then may Ethereum moved to proof of stake but some miners in the
community continue to use the old method and mine Ethereum classic

 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.

 Proof of stake (PoS)


The consensus mechanism based on the Proof of Stake (PoS), “proof of stake or stake”, is
very different from PoW. In this configuration, each of the network nodes must be able to
prove that he has a sum (token). This sum is put into play with each attempt to validating;
either the information is correct and the bet is returned, or it disappears.
The PoS protocol is based on the choice of a random node. A particular rule is based on
detention, i.e. it is the knot that holds the most tokens, for the longest time, who will be
elected blacksmith (in PoS, we are not talking about mining but forging, which directly refers
to a stock of steel).

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.

D. The Smart Contract


A smart contract is a set of functions that it is executed in a certain conditions and store on a
blockchain. Smart contracts are also computer protocols that facilitate, verify, and enforce the
negotiation or performance of a contract, or render a contract term useless. it usually have a
user interface and emulate the logic of contract terms. The main purpose of a smart contract is
to automate the execution of an agreement without intermediaries, ensuring that all parties can
confirm the conclusion instantly. Once all the conditions specified in the code of the smart
contract are met and the required actions are performed the contract is considered executed.

Anatomy of the smart contract


Smart contracts are programs that run at an address on Ethereum. They are made up of data
and functions that can run when a transaction is received.
 Data: All data relating to a contract must be assigned to a location: either storage or
memory. It is expensive to change storage in a smart contract.
 Storage : Persistent data is called storage and is represented by state variables. These
values are permanently stored on the blockchain. The type must declare to be so that
the contract can keep track of the amount of storage needed on the blockchain when it
compiles.
 Memory : Values that are only stored for the duration of the execution of a contract
function are called memory variables. These are not stored permanently on the
blockchain, so they are cheaper to use.
 Functions : Simply put, functions can get or set information in response to incoming
transactions
There are two types of function :
 Internal functions and state variables can only be accessed internally (i.e. from the
current contract or contracts derived from it)
 External functions are part of the contract interface, which means that they can be
called from other contracts and through transactions.
NB : Events and logs allow us to communicate with the smart contract from the front end or
other applications. When a transaction is mined, smart contracts can emit events and write
logs to the blockchain, which the interface can then process.

Working principle of the smart contract


A Smart contract has an address, an account balance, a private memory and an executable
code. The contract status includes storage and contract balance. The state is stored on the
Blockchain and it is updated each time the contract is invoked. Figure.II.2 illustrates the smart
contract system [BBSCSM]. Each contract will be assigned a unique 20 byte address. Once
the contract deployed in the Blockchain, the contract code cannot be modified. To run a
contract, users can simply send a transaction to the address of the contract.. This transaction
will then be executed by all consensus nodes (called miners) of the network in order to reach a
consensus on its output. The status of the contract will then be updated, accordingly the
contract may based on of the transaction, receive, read/write to its private storage, store
money in his account, send/receive messages or money from users/others.
WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 25
DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

Figure  : Operation of the smart contract

Rules and agreement


There are rules and conditions that the both side must satisfy to make the contract feasible.
 Conditions of the contract : A tenant want to book and rent a house or any property
 Terms of the agreement
 The rent : Landlord shall provide the House as soon as possible, and Tenant's
obligation to pay rent shall abate during such period. Tenant shall not be entitled
to any other remedy for any delay in providing the House.
 The security : In the event of damage to the House caused by Tenant or Tenant's
family, agents or visitors, Property owner may use funds from the deposit to repair,
but is not limited to this fund and Tenant remains liable.
 Quiet enjoyment : Property owner agrees that if Tenant timely pays the rent and
performs the other obligations in this Lease, Landlord will not interfere with
Tenant's peaceful use and enjoyment of the House.
 Alterations and improvements: Tenant shall make no alterations to the House or
construct any building or make other improvements without the prior written
consent of Landlord.
 Insurance: Tenant acknowledges that Landlord will not provide insurance coverage
for Tenant's property, nor shall Landlord be responsible for any loss of Tenant's
property, whether by theft, fire, acts of God, or otherwise.
 Etc….
 Consent: The property owners and the tenant must accept the terms of agreement. If
any part or parts of this Lease shall be held unenforceable for any reason, the
remainder of this Agreement shall continue in full force and effect.

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 26


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

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

E. Ethereum Virtual Machine


The Ethereum Virtual Machine (EVM) is the core of the Ethereum network. Each node has an
EVM which is used to execute smart contracts. The smart contracts source code is first
converted to bytecode which is then interpreted by the EVM.
Ethereum is a permission-less blockchain with its own native cryptocurrency, Ether. In
addition to being used for value exchange, Ethereum aims to give users more control over
their data and finances through decentralization and smart contracts
The EVM is a complete Turing machine, but limited by the amount of gas necessary to
execute any instruction. This means that infinite loops and denial of service attacks are not
possible due to gas requirements. EVM also supports exception handling, such as out of gas
or invalid instructions, in which case the machine stops immediately and returns the error to
the [IBMB] enforcement agent.
Ethereum gas prices are represented by gwei. Each gwei is equivalent to 10-9 ether. The table
bellow compares the different units of measurement, where wei is the smallest unit. Gas is
ultimately a measure of how much computation is done.

Table 3 : Ether, gwei and wei price comparaison


Unit Number of Ether (ETH)
Ether 1
Gwei 1,000,000,000
Wei 1,000,000,000,000,000,000

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

3. Advantage of using the proposed solutions


 Safety :All the activities and transactions are saved and publicly visible on the
Ethereum Network
 Know all the property details before applying : know the property you want to rent,
the amenities it offers, price, rules and more.
 Add property : Tell us about your property. Set your guide price, select amenities, add
a brief description and add beautiful pictures of it.
 Easy to use : real estate can easily create an account on the platform, manage and
advertise the properties of their client.
 A reduction in fraud: since the smart contracts are stored in a blockchain network
distributed, their signature and their execution are validated by all the members of this
WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 27
DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

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

III. FUNCTIONAL REQUIREMENTS


1. List of requirements
 Elaborate a booking space interface.
 Views rooms and its information.
 Show real-time information like emails, notifications and communications
 Elaborate a payment system
a. Structure of the application
The application has many interfaces:
 Home view: to enable renters to view rooms and homes they are about to rent.
 property view: This is where we add their properties and all necessary information
about it. These informations could be: images, prices, rules of the houses, services
offered etc….
 Booking view: The user will enter information about him and sent a message to the
seller.
 Transaction view: client and real estate agent have different interface and fulfill
different requirement.
b. Functionality of the application
 The user module
The user is subdivided into two unit: the client and the real estate agent. The client is the
default user of the application and if not specified the functionality that user has access are:
 Create an account with their first name and last name or company name, email
address and password
 View all information about the property
 Login an log out his account
 Book a property or cancel the booking
 Make a transaction
 Search property with different criteria like price, home type, rent duration
WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 28
DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

 The property module


After registering to his account , the real estate agent can have access to their seller space. He
can do many operation like:
 Create a property view section.
 Add media to describe the property like images and video.
 Add information about the property.
 Delete property and update information about it.
 View notifications.

To create an account a real estate agent should provide specific information :


 Create, update an delete a user
 Search user
 View transaction
Table 5 : Functionality of the application
User Features
Client/Real estate agent Registration will be based on the first and
last name, email address and password
Login will be based on the email address and
with the password
Book property
Cancel property
Make transaction
Search property
Real estate agent Register
Add property
Delete property
Receive money

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

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 29


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

Real Estate Agent


Id_user Int User’s primary key
company_name String Name of the company
Img_profil Sting company’s logo
Email String Email of the company
account
Password String Password of the company
account
Socio-Professional-Category String the category associated with
your sector of activity
Tel String Thelephone number
City String City name
Postal_code String Postal code
num_approval string Approval number

Table 7 : Data dictionary of the property collection


COLUMN DATA TYPE DESCRIPTION
Id_property Int property’s primary key
Description String Description of the property
Hometype String Category or type of the
property
Price Double Price of the property
Area Double Area of the whole property
Localization String Neighborhood of the property
Rent String Description of the condition
of payement (per day, per
mmonth, per year)
Num_room Int Number of room in the
property
Image String Image of the property
Availability Int To determine if the property is
already occupied (either 0 or
1)

Table 8 : Data dictionary of Ethereum external owner account collection


COLUMN DATA TYPE DESCRIPTION
Address String Account adress
address_key String Account key
Acct_blc ether Account balance

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 30


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

Table 9 : Data dictionary of room collection


COLUMN DATA TYPE DESCRIPTION
Id_room Int room’s primary key
Name String Room’s name
Image_R String Room’s image
Area_R Double Room’s area
Description_R String Room’s description

IV. NON-FUNCTIONAL REQUIREMENTS


Non-functional requirements or NFRs are a set of specifications that describe the system’s
operation capabilities and constraints and attempt to improve its functionality.
The non-functional requirement of this system are:
 Performance defines how fast a software system or a particular piece of it responds to
certain users’ actions under a certain workload.
 Scalability assesses the highest workloads under which the system will still meet the
performance requirements. 
 Portability determines how a system or its element can be launched within one
environment or another. It usually includes hardware, software, or other usage
platform specifications. Put simply, it establishes how well actions performed via one
platform are run on another.
 Availability describes how likely the system is accessible to a user at a given point in
time. 
 Usability: the user interface of this application should be as simple, concise, and
userfriendly as possible.
 Security is a non-functional requirement assuring all data inside the system or its part
will be protected against malware attacks or unauthorized access.

V. SYSTEM REQIREMENT
1. Hardware Requirement
 Laptop or PC

Processor Intel(R) Core(TM) i7-3632QM CPU @


2.20GHz 2.20 GHz
RAM 12,0 Go (11,9 Go usable)
Operating system Windows 10 Professional
Version 21H2

 A modem for Wi-Fi connection


 An external hard disk or an amovable disk to store data (flash drive)
WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 31
DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

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.

 Xampp Server Xampp is a set of software to set up a local


web server it does not require particular
knowledge and works more on the most
common operating systems. It allows you to
configure a local test server before the
implementation of a website.

 Visual Paradigm Visual Paradigm is a software application


designed for software development teams to
model business information systems and
manage development processes.

 Adobe XD Adobe XD is a vector based UI and UX


 design tool and it can be used to design
anything from smartwatch application to fully
fledged websites.

Remix IDE is a powerful toolset for


developing, deploying, debugging, and
testing Ethereum and EVM-compatible smart
contracts. It has a flexible, intuitive user
interface

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 32


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

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.

1. Use case diagram

a. Representation of the use case diagram

Figure 7 :Use case diagram of the system

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 33


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

b. Textual description of the use cases

Table 11 : Textual description of use case ‘Create property’


Use case name Create Property
Actor Real estate
Description Real estate has the privilege to digitalize his
property on the platform
Precondition the user logs into the system, he creates his
sell space (sell account)
Trigger The user want to sell his properties
Main success scenario The user registers his property by filling all
informations in the forms and save it
Alternative path the user will retry the registering if the fields
are poorly field or some fields required are
empty( he has only to correct bad and empty
answer)
Termination outcome The property is register in the database nd
will be displace on the user interface for
client

Table 12 : Textual description of use case ‘Book property’


Use case name Book property
Actor Client
Description When the user arrive on the platform he see
many room or house and he has the
possibility to book one of them or many that
he wants
Precondition The user must have been authenticated by the
system

Trigger He wants to rent a property


Main success scenario -the user fills in a reservation form with
information and essential data for the
contract, then he accepts the rules of the
properties that he choses
-And email is send to the real estate agent,
who will confirm the reservation applicant of
the client to enable the payement
Alternative path -If the user is not recognized by the
application, he is redirect to the sign in
interface
-if the property is not available, the button
“book” is disabled
Termination outcome The client can procede the payement and
sign the contract
WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 34
DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

Table 13 : Textual description of use case ‘Make transaction’


Use case name Make transaction
Actor Client, real estate agent
Description The client can send money on the wallet of the
property, the real estate send the lease
agreement
Precondition The client must first book a property, when the
real estate agent accept his booking.
Trigger The client wants to rent the properties
Main success scenario -The real estate agent create a new contract and
store the lease agreement in the smart contract.
-A notification which content the address of the
smart contract and information about the lease
agreement is send to the client
-The client open his wallet, enter the address of
the smart contract and the send money
Alternative path -If the amount of money of the client is not
enough, the money is returned to the client and
another contract must be created to a new
transaction, a message is send to the client
-If after 10 days the client doesn’t send the
money the contract is considered null
Termination outcome The transaction is signed by the both side

Table 14 : Textual description of use case ‘Create account’


Use case name Create account
Actor Real estate agent
Description The real estate agent arrives on the platform
to first and create his account
Precondition The user click on the button “sign in”
Trigger The real estate agent want to create his
professional account
Main success scenario The user fills the form with his information
(address, company name, city, phone number,
email, password etc….) and validates
Alternative path -If the password is not confirm the account
can not be save
- If the email is already used for another
account an error message is sent
Termination outcome The account is store on a web server

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 35


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

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.

a. Reprensentation of the sequence diagram

Figure 8 : Sequence diagram of connection

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 36


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

Table 15 : Sequence diagram description ‘connection’

OBJECTIF Login to connect to the application

NOMINAL SCENARIO - The user completes the login form


-A connection is created for the database
-The data is checked in the database
-Then they are transmitted to the system
-Then the dashboard is displayed on the
screen
-And the connection is closed

ALTERNATIVE SCENARIO - An error message is sent if the data is not


correct

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 37


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

Figure 9 : Sequence diagram of make transaction

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 38


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

Table 16 : Sequence diagram description

OBJECTIF Make transaction

NOMINAL SCENARIO -The client store his money on the smart


contract and the real estate agent store the
lease agreement
-If all the conditions are respected, the
contract is signed and the money is sent to
the real estate and the lease agreement is send
to the client

ALTERNATIVE SCENARIO If the conditions is not respected the money is


return to the client

3. Class diagram

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 39


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

Figure 10 : Class diagram of the system

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 40


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

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:

Table 17 :Cost evaluation


DESCRIPTION COST ESTIMATION STATUS
(FCFA)
Software environment Free Acquired
Internet connection 10 000 (per month) Acquired

Flash drive 3 000 Acquired

Laptop 300 000 Acquired

Rescue price for maintenance 30 000 Not acquired

Workforce free Acquired

Antivirus 50 000 Not acquired

Hosting of the web server 13 100 (20€ per month) Not acquired

1. Schedule feasibility

 A gantt chart is a diagrammatic representation of the different tasks evolution of a project .


Here,Name represents the different tasks that will occur  from the begining to the end of the
project.The above gantt chart dates are represented in the order Year /month /day.

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 42


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

II. Technologies used


To build our software, we have decided to use some technologies such as html, css,
JavaScript, php and solidity. These choices are important to build our real estate web-based
application using smart contract.
Table 18 : Technologies used
TECHNOLOGIES DESCRIPTION ADVANTAGES
Front end technologies
HTML 5 & CSS 3 HTML 5 is the latest standard the code HTML describes the
of Hypertext Markup structure, the content and
Language, HTML5 was presentation of web pages.
developed to solve
compatibility problems that
affect the current standard,
HTML4.
Cascading Style Sheets Level CSS is used in the styling and
3 (CSS3) is the iteration of formatting of web pages it
CSS standard. CSS3 also permits us to design
incorporates the CSS2 aesthetic animation
standard with some changes
and improvements.
Bootstrap Bootstrap is a free and open- It enables responsive
source front-end development development for any devices
framework for creation of
websites and web
applications. it provides a collection of
syntax for template design
it is easy to use and has a rich
documentation

JavaScript ES6 JavaScript ES6 (also known ES6 introduces us to many


as ECMAScript 2015 or great features like arrow
ECMAScript 6) is the newer functions, template strings,
version of JavaScript that was class destruction, modules
introduced in and more. It gives web pages
2015.ECMAScript is the interactive elements that
standard that JavaScript engage user.
programming language uses.

Vue js Vuejs is a front end Scalable framework


framework base on easy to use
JavaScript, used to build user
It is easy to integrate it with
WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 43
DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

interfaces and single-page others libraries or to a project


web application. that already exist
vue js permit us to develop
progressive web applications
Back End technologies
LARAVEL Is a php web application Laravel provides a set of tools
programming with expressive and resources to build modern
and elegant syntax and it is web application
free and open source It is easy to code with it
high security
robust deployment
Blockchain technology The blockchain is a database Security : the system doesn’t
mechanism that permit a allows non authorized
transparency during the transaction. Compared to the
sharing of data within a traditional databases, it is
company network. impossible to update data so
Blockchain is a decentralized the seller cannot deny that he
network, each node is has received money and the
localized in the computer of client cannot deny that has
each user such that if a property transfer has
modification appears in a effectively been done.
node, it will be reflected in Avoid judiciary problems
other node and a modification
cannot be execute without the No unique failure point, the
authorization of other users. system is robust
When a transaction is done, commercial transactions are
all data are store in a journal faster and effective
and when data are deployed
and register, no modification faster audit treatment
is possible
Solidity Is an object-oriented and high This language is statically
level language for typed and support complex
implementing smart contracts. programming features such as
The conception of solidity is inheritance and user-defined
influenced by C++, python data
and JavaScript the language implements
smart contracts on various
blockchain platforms like
Ethereum, Avalanche,
Polygon….
It is the most popular for
developing smart contract
Metamask Metamask is an extension for
internet browser that allows
easy handling its Ethereum
WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 44
DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

wallet. It allows the developer


to test their smart contract
before their official launch

II. Implementing the smart contract

APPENDIX

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 45


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 46


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 47


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

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.

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 48


DEVELOPING A REAL ESTATE BOOKING SYSTEM USING SMART CONTRAT

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

WRITTEN BY NGOUNOU MAGA SUZELLE & OUOCHE DORIS MAJOIE 49

You might also like