Professional Documents
Culture Documents
INSTITUTE OF TECHNOLOGY
FACULTY OF ELECTRICAL ENGINEERING
DEPARTMENT OF ELECTRICAL AND COMPUTER
ENGINEERING
FINAL PROJECT OF DEGREE PROGRAM
TITLE: TOURISM AND HOTEL INFORMATION SYSTEM
Final Project Submitted to Department of Electrical and
Computer Engineering
Computer Stream
PREPARED BY ID NO
1. BIRUK BADEGE TECH/042210
2. METSNANAT HIGISO TECH/1514/11
3. SAMUEL TARIKU TECH/1510/10
Name:-Biruk Badege
Signature:- ________________
Date:- ________________
Name:-Metsnanat Higiso
Signature:- ________________
Date:- ________________
Name:-Samuel Tariku
Signature:- ________________
Date:- ________________
Advisor Name
Mr. Abeto Alemu (Msc.)
Signature:- ________________
Date:- __________________
Place: Hawassa
Date of Submission: ____________________
i|Page
ACKNOWLEDGMENT
First and foremost, we would like to thank the Almighty for everything that we achieved. We
would like to take this opportunity to express our deepest gratitude and appreciation to the
people who have given us their assistance throughout our studies and during the preparation of
this project. We would especially like to thank our advisor, Mr. Abeto Alemu for his continuous
encouragement and especially for his academic guidance.
ii | P a g e
ABSTRACT
Tourism is the major economic activity that help the development Of most countries. for some
countries like Maldives tourism contribute 38.92% of their overall GDP. In our country tourism
contribute a lot on our economy development. Tourism is also one of the economic pillars of the
country. Although tourism is one of basic economic factors, there are major’s problems related to
information about the tourist attraction areas and the hotel services provide around them. This
system is design to document to the Tourism and Hotel information system that help the tourist
to get information about the attraction sites and hotels around them. Tourism and Hotel
information system is a website that gives a detailed information on where about of the tourist
attraction area, description on what it is, a photo that show some part of the tour attraction area, a
hotel around the tourist attraction, description of the hotel and photo of rooms. This help to
provide good and well organized information for the users of the website. Overall this system
helps the tourism movement of our beloved country.
iii | P a g e
Table of Contents
Declaration........................................................................................................................................i
ACKNOWLEDGMENT.................................................................................................................ii
ABSTRACT...................................................................................................................................iii
List of Acronyms...........................................................................................................................vii
List of Tables................................................................................................................................viii
List of Figures.................................................................................................................................ix
CHAPTER ONE..............................................................................................................................1
INTRODUCTION...........................................................................................................................1
1.1 Introduction.......................................................................................................................1
1.3 Objective...........................................................................................................................5
General objective.....................................................................................................................5
Specific objectives...................................................................................................................5
Economic feasibility................................................................................................................6
Operational feasibility.............................................................................................................7
Technical feasibility.................................................................................................................7
Scheduling feasibility..............................................................................................................7
CHAPTER TWO.............................................................................................................................8
LITERATURE REVIEW................................................................................................................8
iv
CHAPTER THREE.......................................................................................................................12
3.1 Methodology........................................................................................................................12
3.3.1 React.js.....................................................................................................................13
3.3.4 Database........................................................................................................................14
3.3.4.1 MySQL......................................................................................................................15
3.4.3 Postman....................................................................................................................17
3.4.4 Laragon....................................................................................................................17
Hardware requirement...........................................................................................................19
Software requirement.............................................................................................................20
CHAPTER FOUR.........................................................................................................................21
2 SYSTEM DESIGN................................................................................................................21
2.1 Introduction.....................................................................................................................21
Functional requirement..........................................................................................................22
Non-Functional requirement..................................................................................................23
v|Page
Behavioral diagrams..............................................................................................................24
Structural diagrams................................................................................................................33
CHAPTER FIVE...........................................................................................................................37
3 IMPLIMENTATION.............................................................................................................37
3.1 Introduction.....................................................................................................................37
Scope......................................................................................................................................38
Test Strategy..........................................................................................................................39
CHAPTER SIX..............................................................................................................................42
4.1 Conclusion......................................................................................................................42
4.2 Recommendation............................................................................................................42
References......................................................................................................................................44
vi | P a g e
List of Acronyms
API – Application Programming Interface
AWS - Amazon Web Services
BPR - Business Process Re-engineering
CSS – Cascading Style Sheet
DOM – Document Object Model
ER - Entity Relationship
ERD - Entity Relationship Diagram
ETO – Ethiopian tourism organization
FR - Functional Requirement
GDP - growth and development program
GUI - Graphical User Interface
HTML – Hyper Text Mark-up Language
IDE - Integrated Development Environment
IAC – Infrastructure as Code
IoT - Internet of Things
JS - JavaScript
NPM – Node Package Manager
PRSP - Poverty Reduction Strategy Paper
RDBMS – Relational Data Base Management System
SDK – Software Development Ki
SEO – Search Engine Optimization
SRC - Sample Rate Conversion
SSD - System Sequence Diagram
UI – User Interface
UML - Unified Modelling Language
UNESCO – United Nations Educational, Scientific and Cultural Organization
UNWTO – United Nations World Tourism Organization
VB - Visual Basic
XML – Extensible Mark-up Language
vii | P a g e
XSLT – Extensible Style sheet Language Transformations
List of Tables
Table 4-1 actor- Admin.................................................................................................................34
Table 4-2 actor-Hotel Admin.........................................................................................................35
Table 4-3 actor-User......................................................................................................................35
Table 4-4 actor-Receptionist..........................................................................................................36
Table 5-1 Estimated Risk and Contingency Plan..........................................................................47
viii | P a g e
List of Figures
ix | P a g e
CHAPTER ONE
1 INTRODUCTION
1.1 Introduction
Although many of us have been “tourists” at some point in our lives, defining what tourism
actually is can be difficult. Tourism is the activities of people traveling to and staying in places
outside their usual environment for leisure, business or other purposes for not more than one
consecutive year. And also is a dynamic and competitive industry that requires the ability to
adapt constantly to customers’ changing needs and desires, as the customer’s satisfaction, safety
and enjoyment are particularly the focus of tourism businesses.
Tourism includes a travel for pleasure or business; also the theory and practice of touring, the
business of attracting, accommodating, and entertaining tourists, and the business of operating
tours. The World Tourism Organization defines tourism more generally, in terms which go
beyond the common perception of tourism as being limited to holiday activity only, as “people
traveling to and staying in places outside their usual environment for not more than one
consecutive year and not less than 24 hours for leisure, business and other purposes". Tourism
can be domestic (within the traveller’s own country) or international; and international tourism
has both incoming and outgoing implications on a country's balance of payments.
Tourism is vital for the success of many economies around the world. There are several benefits
of tourism on host destinations. Tourism boosts the revenue of the economy, creates thousands
of jobs, develops the infrastructures of a country, and plants a sense of cultural exchange
between foreigners and citizens. The number of jobs created by tourism in many different
areas is significant. These jobs are not only a part of the tourism sector but may also include the
agricultural sector, communication sector, health sector, and the educational sector. Many
tourists travel to experience the hosting destination’s culture, different traditions, and
gastronomy. This is very profitable to local restaurants, shopping Malls, and stores. Governments
that rely on tourism for a big percentage of their revenue invest a lot in the infrastructure of the
country. They want more and more tourists to visit their country which means that safe and
advanced facilities are necessary. This leads to new roads and highways, developed parks,
improved public spaces, new airports, and possibly better schools and hospitals. Safe and
1|Page
innovative infrastructures allow for a smooth flow of goods and services. Moreover, local people
experience an opportunity for economic and educational growth.
Tourism creates a cultural exchange between tourists and local citizens. Exhibitions,
conferences, and events usually attract foreigners. Organizing authorities usually gain profits
from registration fees, gift sales, exhibition spaces, and sales of media copyright. Furthermore,
foreign tourists bring diversity and cultural enrichment to the hosting country. Tourism is a great
opportunity for foreigners to learn about a new culture, but it also creates many opportunities
for local citizens. It allows young entrepreneurs to establish new products and services that
would not be sustainable on the local population of residents alone. Moreover, residents
experience the benefits that come with tourism occurring in their own country.
Between the second part of 2008 and the end of 2009, the tourism numbers fell due to a major
economic slowdown (the late-2000s recession) and the breakout of the 2009 H1N1 influenza
virus, but gradually rebounded until the COVID-19 pandemic put an end to the recovery.
According to the United Nations World Tourism Organization, global international tourist
arrivals could drop by 58 percent to 78 percent by 2020, resulting in a loss of USD $0.9 – $1.2
trillion in international tourism receipts. The COVID-19 pandemic has caused a 22% fall in
international tourist arrivals during the first quarter of 2020. According to the United Nations
specialized agency, the crisis could lead to an annual decline of between 60% and 80% when
compared with 2019 figures. This places millions of livelihoods at risk and threatens to roll back
progress made in advancing the Sustainable Development Goals (SDGs). UNWTO Secretary-
General Zurab Pololikashvili said: “The world is facing an unprecedented health and economic
crisis. Tourism has been hit hard, with millions of jobs at risk in one of the most labour-intensive
sectors of the economy”. [1]
Ethiopia is an ancient country whose unique cultural heritage, rich history and remarkable
biodiversity are reflected in a tally of nine UNESCO World Heritage Sites more than any other
country in Africa. Within its borders, you'll find the world's fourth-holiest Islamic city, along
with the oldest continuously-occupied town south of the Sahara. Compelling antiquities include
the medieval rock-hewn churches of Lalibela, palaces and temples dating back 3,000 years, the
magnificent 17th century castles of Gondar, the Borena’s democratic ruling system so called
GADA system along with the irrecha and Gada calendar, and the oldest human fossils unearthed
anywhere on the planet. Add to this the beautiful Simien and Bale Mountains, the spectacular
2|Page
volcanic landscapes of the Danakil Depression, and a wealth of mammals and birds found
nowhere else in the world, and it is little wonder that Ethiopia has become the most attractive and
popular emergent tourist destination in Africa.
Ethiopia has a lot of historical destinations with a natural tourism resource. The natural tourism
resources include unique landscape, lakes, water fall, mountains, and faunal and flora. Historical
tourism resources are man-made material and non-material things which can be used as means of
attracting tourists. Ethiopia is one of the countries that have enormous and diverse tourist
attractions. Ethiopia's collection of national parks (including semein mountain national park,
awash national park, nechisar national park and etc.), and historic sites, such as the cities of
Axum, Lalibela church, temple of fasil in Gondar, Harar Jugol walled city, a temple of abba jifar
and Sof Omar Caves etc.
The Growth and Transformation Plan 2010/11-2014/15 prepared and approved by the Federal
Government of Ethiopia considered tourism together with culture as cross cutting sectors and
set-up as strategic directions to enhance the role tourism and culture play in socio-economic and
political development initiatives. The new Growth and Transformation Plan for 2015/16-2019/20
has recognized tourism as one of the top five strategic economic sectors in Ethiopia. A new
framework to transform tourism in Ethiopia In 2013, the Government of Ethiopia proclaimed
Federal Regulation 294/2013, which established the Tourism Transformation Council, the
Ethiopian Tourism Organization (ETO) and the Tourism Board. The Tourism Transformation
Council is chaired by the Prime Minister. The mandate of the Ethiopian Tourism Organization is
to enhance the benefits of tourism in a sustainable and competitive manner by mobilizing and
providing leadership to the tourism sector and stakeholders towards tourism destination
development and marketing. The Tourism Board oversees the ETOs activities, provides
guidance, reviews and approves work programs and budgets and evaluates the performance of
the Organization. Its mission is to develop the country tourist destinations in collaboration with
various stakeholders, market and promote the destination at national and international level
through employing competitive marketing and promotional strategies having a vision of making
Ethiopia among the top five tourist destinations in Africa by 2025. [2]
Due to all the tourism resource in Ethiopia, many tourists from all over the world came and visit
this natural and historical heritages. Those tourist sites need to have variety of service providers
to serve the tourists that came to visit. There are many hotels and resort, a gas stations,
3|Page
supermarkets, car rentals and local tour guides around these tourist sites in Ethiopia. So in order
the tourists to access the facilities they need to have a detail information on where the facility is
located and what service is provided with its price.
Our tourism and hotel information website give detailed information on the attraction sites and
Hotels near those attraction sites. This website is relevant for our countries tourism industry,
because it provides a well-organized information about hotel, resorts and lounges around the
tourist attraction sites, so the tourist will know exactly what would be in that specific
environment of that tour site. It will allow the user to have an information about the attraction
sites and other tourism related topics, like a culture, religious festivals, linguistics, and give
detailed description on where about of the site with a map and pictures. In additional to this this
project relates the hotel service and those tourist attraction sites and give a description of that
specific hotel and allow the user to book a room.
4|Page
because of the short coming of that specific tour guidance company. It might not be able to see
other tour guidance services.
Also as we are under continues development, many tourists have a lack of information about
whether Ethiopian hotels are good enough for them, because the standardization might differ
from country to country. They may think that there are no 5-star hotels and good resorts in the
country, but the truth is different from this. So we need to inform the tourist about the hotel and
resort services around tourist sites in Ethiopia.
1.3 Objective
1.3.1 General objective
To build tourism and hotel information system.
1.3.2 Specific objectives
To make an impact on our countries tourism.
To make awareness about our countries tourism attraction sites
worldwide.
To make a tourists satisfied by the service provided by hotels.
To create a platform that allow hotels to communicate with tourism
industry part takers.
To grow to full stack web development.
To experience good group work.
To present good final year (thesis) project
1.4 Scope
The tourism and hotel information system that we developed can be accessed from anywhere
with the help of the internet. It’s a website that would be accessed with different roles. Over all
the user can see the attractions sites along with that would describe the where about of the
Attraction site. And see a Hotels around that attraction site. A user can see the information that is
posted by the web admin or by hotel admin, and can allocate or book a room.
Here are the specific scope of the project. Our project is a website that list, locates, describe
tourist attractions, and list hotels around tourist attraction sites, locates hotels around tourist
5|Page
attraction sites, provide description about hotels around tourist attraction sites and list the price
of rooms and recipes of the hotels along with list of types of rooms with booking of rooms.
The project have its own timing schedule, to develop. We were working on project for the most
of our time. By minimizing the scope of our project, discussing with our advisor, we were able to
complete it in the time we had left.
7|Page
8|Page
CHAPTER TWO
2 LITERATURE REVIEW
A literature review is a comprehensive summary of previous research on a topic. The literature
review surveys scholarly articles, books, and other sources relevant to a particular area of
research. The review should enumerate, describe, summarize, objectively evaluate and clarify
this previous research. Here are some literatures about our tourism and hotel information system.
(Santosh Birajdar) Feb 16, 2016 on his report the system called “Travel and Tourism
Management System” stated that Tourism Management System is a complete tourist fully
integrated tourism web site. The website covers all the areas required for an including tourism.
This project is developed to manage the tourist in the tourism management web site. The main
module in this project are login,tourist management, complaints and reports. Where this project
doesn’t include the hotel service on the website. Since tourism is mostly related to services
provide on the tourism areas this website doesn’t include that services. (Santosh Birajdar Date
uploadedon Feb 16, 2016).
(Ikram hussain) may 2015, by the system called” Tour and travel management system” specifies
most known travel destinations and specifies the futures of the destinations with regard to
different considerations. This system also considers different tour guides. This hotel doesn’t
specify the hotels around those travel destinations. (Ikkram Hussain DIT University, Dehradun
may 2015).
(Holloway) 1981 suggested that the main role of the tour guide is to serve as an ‘information
giver’ and a ‘mediator’. Later, Cohen (1985) emphasized that the tour guide’s roles included
acting as a ‘pathfinder’ and ‘mentor’. A pathfinder is a geo-graphic guide who helps navigate
through unfamiliar settings, whereas the role of the mentor involves giving interpretations of the
places visited. The label of ‘organizer’ has also been applied.
(Weiler and Yu) 2007 emphasized the role of the tour guide as a cultural broker through which
they mediate three tour-related issues: physical access, social encounters, and meaningful
understanding of the places visited. Another strand of research examined the influence of tour
9|Page
guides’ performance on tourists’ satisfaction with different aspects of their destination
experience. The results of such studies have been mixed. Some research found that tour guides’
performance impacted on tourists’ satisfaction with the tour, and subsequently, their loyalty in
terms of recommendations and return intentions.
(Alrawadieh et al., 2020; Dahles, 2002; Pond, 1993). A possible explanation for this is that a
tour guide functions as a meditator who stimulates relationships and understanding between
tourists, various service providers, and the local community in a host destination However, the
relationships between these parties might be in conflict or they may have divergent interests, as
for instance where the desire to delight a group may be frustrated by the interest of tour operators
and/or travel. (Hasselt, Belgium 2010) An Intelligent Wireless System to Improve Tourism,
using Semantic Web. According to the Semantic Web the next generation web is the version of
having background knowledge about the meaning of web sources stored in a machine process
able and interpretable way. The area of tourism is highly dynamic area that currently already
extensively uses the available Internet technologies. However, the shortcomings of the existing
technology are that information finding and extraction as well as the interpretation of the
information contained in the web sources is left to the human user. The management and
interoperation of semantically diverse tourism information system are facilitated by Semantic
Web Technology that provides methods and standards, which allow accurate access to
information as well as flexibility to comply with needs of tourism information system users and
administrators. [4]
(Elsevier Ltd), 2014 mobile and Web applications called “guide me” which provide
consultation, publication, and recommendation of touristic locations. Each user may consult
places of touristic interest, receive suggestions of previously unseen touristic places according to
other user s recommendations, and to perform its own recommendations. The recommendations
are carried out using the well-known Mahout library. As compared to previous recommender-
based tourist guides, the key novelties of GuideMe are its integration with social networks and
the unique set of options offered in the application. The usability and load tests performed to
evaluate the service, including its recommendation engine. Since this website provide variety of
services for the tourists it doesn’t include hotels around tourist attraction sites. [5]
10 | P a g e
(pooja D. Watkar), develop a mobile app called “Smart Travel Guide” the application aims to
detailed text, pictures, videos and other guidance information are provided, and so people can
better understand the tourist attractions and make decision objectively. It has selected for you the
best activities, hotels and restaurant in city. Flexible map display and control functions and
location support are provided in Android for mobile system design. User can search the nearby
attraction after he she configures the distance between the current location and the view spots.
When the users move out of the current location, the mobile phone will automatically send its
new position to the server side, and the corresponding attractions lists will be received by the
user. This system is well build and have a lot of futures but it doesn’t show hotel services based
on their located attraction site. [6]
(Gelila Ethiopa Tours), Gelila Ethiopia Tours provides personalized service to clients. Gelila, a
majestic mountain, is the source of inspiration for delivering the best possible experience for
touring Ethiopia that is possible. This company is committed to develop and promote Ethiopian
tourism to the local and worldwide. For that matter, they are traveling and attending at several
continental and international tourism trade fares held in different countries. At Gelila Ethiopia
tours, they will provide a travel experience. This company is fully run and owned by Ethiopians
so they know about the country. Their staff members have deep knowledgeable and can speak
multiple languages. The Company work with the best hotels and guesthouses all over Ethiopia to
guarantee you stay in a clean, comfortable and tourist standard accommodations. But the relation
is not based on web technology it’s more like experience related. They provide vehicles with
experienced and multi-lingual drivers. [7]
(A one Ethiopia Tours), A one Ethiopia Tours PLC is one of the best reliable tour agency based
in Addis Ababa, Ethiopia, this company is owned and managed by Ethiopian tourism
professional who have well experience on the sector before and after the company formation, the
company is equip with best camping materials and best vehicles, Also the other success that put
us on the top is we can operate all kind of tours in Ethiopia through our experience. The first
class services includes the following Omo valley cultural tours, Day trips to Debrelibanos and
Excursions from Addis Ababa, Historical sightseeing tour to North Ethiopia, Addis Ababa City
Tours, Semien mountains Trekking Tours, Bale Mountains Trekking Tours, Coffee farm tours,
11 | P a g e
Harar and Eastern Ethiopia Tours and so much more, they believe that our customer’s trip should
have to be truly unforgettable. [8]
(Ethio Travel and Tours, ETT), Ethiopia Travel and Tours, ETT, is an exclusive tour and travel
company based in Ethiopia that offers custom-made group and private tours to its leisure and
adventure travelers. Their tour packages encompass all the adventurous and eye-opening historic
sites in Ethiopia including Danakil Depression, Dallol, Erta-Alle, Simien Mountains, Lalibela,
Axum, Tigray Churches, Omo Valley and City tours to Addis Ababa. The unique value
proposition to our customers is to provide peerless customer experience, inclusive price and
safety at all customer touch points. [9]
(Aman Ethiopia Tours & Travel), Aman Ethiopia Tours is a privately owned tour Operator and
travel company based in Addis Ababa Ethiopia. Aman Ethiopia Tours has established by young
tourism professionals. They are specialized on arranging Omo Valley Tribes Tours, Danakil
Depression Tours, Northern Ethiopia Historical Routes Tours , Addis Ababa City Tours,
Excursion Or 2 Day Tours From Addis Ababa, Trekking Tours To Simen Mountain & Bale
Mountain National Park, Ethiopian Festival Tours Of Epiphanies & Meskel ,Photography
Expedition Tours To Suri Tribes. [10]
12 | P a g e
CHAPTER THREE
13 | P a g e
3.2 Implementation tools
The design tools we planned on have to be implemented, we consider to use a Waterfall model
system but we find the Waterfall model to be ideal so we finally decided to use the Agile model
system to implement our project. The meaning of Agile is swift or versatile. Agile process model
refers to a software development approach based on iterative development. Agile methods break
tasks into smaller iterations, or parts do not directly involve long term planning. The project
scope and requirements are laid down at the beginning of the development process. Plans
regarding the number of iterations, the duration and the scope of each iteration are clearly
defined in advance. Each iteration is considered as a short time "frame" in the Agile process
model, which typically lasts from one to four weeks. The division of the entire project into
smaller parts helps to minimize the project risk and to reduce the overall project delivery time
requirements. Each iteration involves a team working through a full software development life
cycle including planning, requirements analysis, design, coding, and testing before a working
product is demonstrated to the client.
14 | P a g e
3.3 Programming language
3.3.1 React.js
React (also known as React.js or React JS) is a free and open-source front-end JavaScript library
for building user interfaces based on UI components. React is only concerned with state
management and rendering that state to the DOM, so creating React applications usually requires
the use of additional libraries for routing, as well as certain client-side functionality.
React code is made of entities called components. These components are reusable and must be
formed in the SRC folder following the Pascal Case as its naming convention (capitalize camel
Case). When rendering a component, one can pass the values between components through
"props". [11]
Benefits of React JS over others could be summered up as, React is Simple to use, have
Reusable elements, Works well with SEO, great Performance, Handy support, Easier to create
interactive web apps and Access to developers.
3.3.2 Node JS
Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on
the V8 engine and executes JavaScript code outside a web browser. Node.js lets developers use
JavaScript to write command line tools and for server-side scripting—running scripts server-side
to produce dynamic web page content before the page is sent to the user's web browser.
Consequently, Node.js represents a "JavaScript everywhere" paradigm, unifying web-application
development around a single programming language, rather than different languages for server-
side and client-side scripts.
Node.js has an event-driven architecture capable of asynchronous input output. These design
choices aim to optimize throughput and scalability in web applications with many input/output
operations, as well as for real-time Web applications (e.g., real-time communication programs
and browser games).The Node.js distributed development project was previously governed by
the Node.js Foundation, and has now merged with the JS Foundation to form the Open JS
Foundation, which is facilitated by the Linux Foundation's Collaborative Projects program. [12]
Benefits of node JS is Language sharing across the stack, Rapid Development, The Node
Package Manager, Single-threaded event loop architecture is ideal for micro services And Native
support in AWS.
15 | P a g e
3.3.3 Database
A database is a structured collection of data. It may be anything from a simple shopping list to a
picture gallery or a place to hold the vast amounts of information in a corporate network. To add,
access, and process data stored in a computer database, you need a database management system
such as MySQL Server. Since computers are very good at handling large amounts of data,
database management systems play a central role in computing, as standalone utilities, or as parts
of other applications. In particular, a relational database is a digital store collecting data and
organizing it according to the relational model. In this model, tables consist of rows and
columns, and relationships between data elements all follow a strict logical structure. An
RDBMS is simply the set of software tools used to actually implement, manage, and query such
a database.
3.3.3.1 MySQL
MySQL is one of the most recognizable technologies in the modern big data ecosystem. Often
called the most popular database and currently enjoying widespread, effective use regardless of
industry, it’s clear that anyone involved with enterprise data or general IT should at least aim for
a basic familiarity of MySQL. With MySQL, even those who are new to relational database can
immediately build fast, powerful, and secure data storage systems. MySQL’s programmatic
syntax and interfaces are also perfect gateways into the wide world of other popular query
languages and structured data stores. Its open-source nature, stability, and rich feature set, paired
with ongoing development and support from Oracle, have meant that internet-critical
organizations such as Facebook, Flickr, Twitter, Wikipedia, and YouTube all employ MySQL
backend.
There are four major keys to understanding MySQL. It is widely compatible, its databases are
relational, it is open-source and it is easy to use.
16 | P a g e
use to edit, debug, and build code, and then publish an app. Over and above the standard editor
and debugger that most IDEs provide, visual studio includes compilers, code completion tools,
graphical designers, and many more feature to enhance the software development process.
Visual Studio is an IDE developed by Microsoft. It is not a language-specific IDE as you can use
this to write code in C#, C++, VB, Python, JavaScript, and many more languages. It provides
support for 36 different programming languages. It is available for Windows as well as for mac
OS.
Visual Studio is available for Windows and Mac. Visual Studio for Mac has many of the same
features as Visual Studio for Windows, and is optimized for developing cross-platform and
mobile apps. We used the Windows version of Visual Studio with the community edition.
17 | P a g e
Google Chrome have a V8 Engine. Chrome V8 engine is a JavaScript engine, which means that
it executes JavaScript code. Originally, JavaScript was written to be executed by web browsers.
Chrome V8, or just V8, can execute JavaScript code either within or outside of a browser, which
makes server-side scripting possible. Chrome V8 is fast and powerful. V8 translates JavaScript
code directly into machine code so that computers can actually understand it, then it executes the
translated, or compiled, code. V8 optimizes JavaScript execution as well.
3.4.3 Postman
Postman is an API development tool which helps to build, test and modify APIs. Almost any
functionality that could be needed by any developer is encapsulated in this tool. It has the
ability to make various types of HTTP requests (GET, POST, PUT, PATCH), saving
environments for later use, converting the API to code for various languages (like JavaScript,
Python). The longest middle input field that looks something like a search bar is where the URL
that we want to GET or POST or DELETE etc. is fed.
3.4.4 Laragon
Laragon is a local-host program for Windows machines. In fact, we can say that it is used for
website developments. It comes with terminal and heidiSql ready. Laragon provides a portable,
18 | P a g e
isolated, fast and powerful development environment for PHP, Node.js, Python, Java, Go, Ruby
for Windows computers. You can add a domain name and customize it as you wish. MySQL,
PostgreSql, MongoDB, Redis options are available as database. You have to use the terminal that
comes with Laragon. This is because this terminal provides your connection with the isolated
environment.
3.4.5 TablePlus
TablePlus is a modern, native app with a clean user interface that allows developers to
simultaneously manage databases in a very fast and secure way. TablePlus supports most of the
popular databases such as MySQL, Postgres, SQL Server, SQLite, Microsoft SQL Server, Redis,
Redshift, Oracle, and many more.
19 | P a g e
3.4.6 NPM
NPM or "Node Package Manager" is the default package manager for JavaScript's runtime
Node.js. NPM is the world's largest software registry. Open source developers from every
continent use NPM to share and borrow packages, and many organizations use NPM to manage
private development as well. NPM is two things: first and foremost, it is an online repository for
the publishing of open-source Node.js projects; second, it is a command-line utility for
interacting with said repository that aids in package installation, version management, and
dependency management. A plethora of Node.js libraries and applications are published on
NPM, and many more are added every day. These applications can be searched for
on https://www.npmjs.com/. Once you have a package you want to install, it can be installed
with a single command-line command.
Let's say you're hard at work one day, developing the Next Great Application. You come across
a problem, and you decide that it's time to use that cool library you keep hearing about.
Thankfully, NPM is very simple to use: only have to run NPM install a sync, and the specified
module will be installed in the current directory under /node modules/. Once installed to
your node modules folder, you'll be able to use require () on them just like they were built-ins.
The following are list of materials that are used in our system
Personal Computer (PC),
Internet connection,
Licensed software
SSD hard drive (optional- for better performance).
20 | P a g e
OS: Windows 7/8/10
CPU: Pentium III (700MHz) and above
Memory: 2GB and above
Capacity: 4GB of hard drive
Others: Network interface card, mouse, keyboard, and monitor.
21 | P a g e
CHAPTER FOUR
4 SYSTEM DESIGN
4.1 Introduction
This is the system design document to the Tour and Hotel information system that help the
tourist to get information about the attraction sites and hotels around them. The document
includes the work done and gives documentation for the design of the Tour and hotel information
website. The website is modelled in terms of objects and classes and their interactions with each
other. Explanation of the proposed system is done as well structure of the Entity Relationship
Diagram (ERD). Design of the User Interface is also discussed.
22 | P a g e
other services of that hotel. If some wanted to book a hotel room then it need to be registered or
if it already registered then it will to sign-in. Then it will book but no payment is transfer. The
booked room will expire after 24 hours.
The overall web admin need to logged-in first. Then he/she see a different buttons. Here the
admin can add and delete a hotel admin or add, edit and delete a hotel or an attraction site. This
admin see how many users have registers, see comments and update the website.
The hotel admin need to be added by the web Admin. Then after logged-in he/she can edit the
hotel information like a hotel price, description, and other packages along with adding and
managing the reception.
The reception needed to be added by the hotel manager. He /she can control the booking. This
means allocating the booked room and posting the availability of room.
23 | P a g e
Book rooms
Any user who have an account or register to the website can book rooms of the hotels specified
on the system.
Feedback
A user who have registered on the website can give feedback to the hotels about their service.
Time.
Add regions
The admin add regions in which the attraction sites are in the regions.
Add attraction sites
An admin add attractions sites in the regions
4.3.2 Non-Functional requirement
These are the constraint on the services or functions offered by the system that also in composes
time constraint on development process and standards. They are more critical than individual
requirement. So, to specify the following major emergent properties of Tourism and Hotel
information system website:-
Usability
The Website should be easy to use and understandable for the user. Since the Website is being
developed by considering all users, a user who have less knowledge about Ethiopian tourist
attraction site to users that have some experience of traveling in the country’s attractions site. It
must be easy to use and understandable, after all the website’s main job is to give a well
organised information.
Compatibility
The Website should have to be compatible: -Since this system is a website, it needs to be
compatible with different device, like android phones, iOS phones, window PCs and Macintosh
PCs.
Accessibility
The website should be accessible at every time of the day and every place of the world with the
connection of the Internet.
Performance
Performance requirements define acceptable response times for system functionality.
24 | P a g e
The load time for user interface screens shall take no longer than thirty-one seconds. (of
course it depends on the times connection rate)
The log-in information shall be verified within eight seconds.
Queries shall return results within eight seconds.
Maintainability
The Website should be maintainable. Because the interaction between subsystems will be loosely
couple, changes made on our Website such as adding other functionality shouldn’t affect the
existing functionality of the system.
Documentation
At the completion of the project, every activity of the entire development, design and other
process will be documented for future reference. Also, there will be a documentation of
implementation for maintenance during application failure. Furthermore, this will help for
further maintenance and reusability of our system.
Due to their simplistic nature, use case diagrams can be a good communication tool for
stakeholders. The drawings attempt to mimic the real world and provide a view for the
stakeholder to understand how the system is going to be designed. Our tourism and hotel
information system has four actors. Those actors are admin (overall admin), hotel admin,
receptionist and the tourist (user).
The use case diagrams of the four admins are listed below
25 | P a g e
The use case diagram for hotel admin
26 | P a g e
The use case diagram of admin
27 | P a g e
Figure 4-7 the use case diagram of use
28 | P a g e
Bellow there are four tables. Each tables have use case and description that describe the Actor.
Actors Use case description
Hotel Admin Manage room The hotel admin add ,edit the
room and room price of his
hotel
Hotel Admin Manage food The hotel admin add and edit
or delete food contents and
29 | P a g e
their price
Hotel Admin See booked rooms The hotel admin can see
booked rooms
User See attraction site The user can see the attraction
sites based on the region and
hotels around them
User See hotel service The user can access hotel
services or see the details of
the hotels like rooms and foods
User book The user can book the rooms
on hotels for some specific
time
User Give feedback The user can give feedback for
hotels based on their service
Table 4-3 actor-User
30 | P a g e
Receptionist Delete booking The receptionist can delete
booking process or delete an
users booked room
Table 4-4 actor-Receptionist
31 | P a g e
Figure 4-9 the sequence diagram of login page
32 | P a g e
The sequence diagram of registration
33 | P a g e
The sequence diagram of adding attraction site information
34 | P a g e
The middle compartment contains the attributes of the class. They are left-aligned and the
first letter is lowercase.
The bottom compartment contains the operations the class can execute. They are also
left-aligned and the first letter is lowercase.
In the design of a system, a number of classes are identified and grouped together in a class
diagram that helps to determine the static relations between them. In detailed modeling, the
classes of the conceptual design are often split into subclasses.
35 | P a g e
4.4.2.2 ER-Diagram
An entity–relationship model (or ER model) describes interrelated things of interest in a specific
domain of knowledge. A basic ER model is composed of entity types (which classify the things
of interest) and specifies relationships that can exist between entities (instances of those entity
types).
In software engineering, an ER model is commonly formed to represent things a business needs
to remember in order to perform business processes. Consequently, the ER model becomes an
abstract data model that defines a data or information structure which can be implemented in a
database, typically a relational database.
An ER model is usually the result of systematic analysis to define and describe what is important
to processes in an area of a business. It does not define the business processes; it only presents a
business data schema in graphical form. It is usually drawn in a graphical form as boxes
(entities) that are connected by lines (relationships) which express the associations and
dependencies between entities. An ER model can also be expressed in a verbal form, for
example: one building may be divided into zero or more apartments, but one apartment can only
be located in one building.
Entity relationship diagrams provide a visual starting point for database design that can also be
used to help determine information system requirements throughout an organization. After a
relational database is rolled out, an ERD can still serve as a reference point, should any
debugging or business process re-engineering be needed later.
36 | P a g e
ER-diagram of tourism and hotel information system
37 | P a g e
CHAPTER FIVE
5 IMPLIMENTATION
5.1 Introduction
Implementation is the process that turns strategies and plans into actions in order to accomplish
strategic objectives and goals. Implementing one’s strategic plan is as important. It involves
putting the project plan into action. Our project implements the functional and non-functional
requirements of the system. Generally, our implementation is the focus on whatever functions of
the developed system.
5.1.1 Tools and technologies utilized during system development
We used different tools and technologies to develop our system. These tools include client side
and server-side tools to develop the system. The client side tools include every tool that the
clients use to get an information about the attraction site or hotel, or to load information that are
stored in the database by the admin. And the server-side tools include the server side that give
response for the users’ request. The programming instrument we used to develop our system is
react.js and MySQL for database. The client and the server are communicate using the query
builder and eloquent we used.
5.1.2 Sample interface and description
38 | P a g e
Figure 5-16 login page
39 | P a g e
Ensuring
40 | P a g e
be tested. The techniques to be used and the criteria for knowing when the last testing is
completed are the main considerations for the test strategy.
5.2.3.1 Data and Database Integrity Testing
This section aims to ensure the Database access methods function properly and without data
corruption. It invokes each database access method seeding each with valid and invalid data (or
request for data). And it inspects the database to ensure the data has been populated as intended,
all database events occurred properly, or review the returned data to ensure that the correct data
was retrieved. Its completion criteria is that all database access methods function as designed and
without any data corruption.
5.2.3.2 Function Testing
The goals of these tests are to verify proper data acceptance, processing, and retrieval. Testing of
the application should focus on any target requirements that can be traced directly to use cases
and business rules.
Test Objective: it ensures the proper website navigation, data entry, processing and
retrieval.
Techniques: Execute each use case, use case flow, or function, using valid and invalid
data, the expected results occur when valid data is used and the appropriate error /
warning messages are displayed when invalid data is used.
Completion criteria: All planned tests have been executed and all identified defects have
been addressed.
41 | P a g e
5.2.3.4 Performance Testing
Performance testing measures response times, transaction rates, and other time sensitive
requirements. The goal of Performance testing is to verify and validate the performance
requirements have been achieved. Performance testing is usually executed several times, each
using a different "background load" on the system.
42 | P a g e
CHAPTER SIX
6.2 Recommendation
Since this system is tourism based system there are many features to add on this system to
provide more information’s and access different functionalities. As a developer of the system we
recommended that the system could contain different services like car rental information’s, shops
information, police station information and other facility around attraction areas should be
added on this system to provide full and functional information for the tourist or user of the
system. And we recommend since this project has no payment system for customers we
recommend that if their could be a payment system on the platform to facilitate the booking
process with suitable platforms like tele birr and other payment platforms.
43 | P a g e
44 | P a g e
References
45 | P a g e
[13 nodedev, “reason to choose nodejs,” 2019. [Online]. Available:
] https://www.bitovi.com/blog/5-reasons-to-choose-nodejs#:~:text=Language%20sharing
%20across%20the%20stack&text=front-end%20technologies.-,Node.,server
%20applications%20while%20using%20Node.
[14 talendDev, “What is mysql,” [Online]. Available: https://www.talend.com/resources/what-
] is-mysql/#:~:text=MySQL%20is%20a%20relational%20database,information%20in%20a
%20corporate%20network. .
46 | P a g e