_______________________________
CHAPTER 1: INTRODUCTION
_______________________________
1 Introduction
The Purpose of this Project is to introduce a system through which a hotel can manage their guests’ access controls by providing them a desktop application. While the guests just have to install a mobile application, which will replace all the keys or identification cards and unifies them under a mobile app. By using these applications hotels can minimize the interaction of their guest from the staff and management. This application therefore it would be easier for guests to make their stay in hotel more pleasant, time saving and inspire them to use the service again.
1.1 Problem Statement
Nowadays, the numbers of problems with conventional keys such as building break-in cases are increasing, and these problems are increasingly severe from time to time. An access control system which is proposed serves as necessity prevention in order to reduce the number of building break-in and other problems, also at the same time, it provides a safer alternative in security perspective. An access control system is simply defined as any technique used to control passage into or out of any area or any entry, such as residential area, office and others. The evolution of science and technology creates a new generation of the access control system, known as digital access control system.
1.2 Project overview
Today Smart phones are so commonly used, that we don’t even have to explain its popularity but all of its features either not being known or not being used. NFC (Near Field Communication) technology is one of them. As far as its business value is concern this technology is under process of adaption in many Sectors for e.g. (Banking (Smart payments), different Firms, Hospitals, and Hotels for access control and attendance purpose, etc.). Of course, locks and keys have their drawbacks. Locks can be picked. Keys can be lost. They don’t allow access rights to be easily transferred. They don’t provide any additional data, such as who gained access and when. And perhaps most significantly, physical locks and keys have limited applications.
For several years, there have been NFC-enabled locks that let you gain access to your home or business with a tap of your phone. There are also NFC solutions that can simplify flexible access control for cabinets and drawers. But that’s only the beginning. Because NFC can bring both security and intelligence to physical objects, it can do much more than traditional access control.
For example, NFC lets you bypass the long waiting line at the hotel check-in desk and go straight to your room after a long day’s travel. Inexpensive NFC tags attached to luxury goods and collectibles can confirm their authenticity to protect owners’ investments.
So we are considering a hotel’s system for this project. This project contains an android application that uses NFC utility of a device to Figure 1.1 NFC enabled access control
Control Access in different areas of Hotel and
Provide different types of services for the guests which are using this application. For example room service, news/events, and dinner/lunch. On the other hand for the staff and admin there is a desktop application through which the users (it could be an admin, receptionist or a kitchen panel user) would be maintaining data of their guests.
The mobile application includes the features of different packages/deals of different places with in the hotel like rooms, gym, pool, parking, etc. Even the user can do an online booking on the same application after which the costumer gets an auto generated unique ID from the server, which would be the identity of guest for the hotel facilities. Once the guest is registered, now he/she can avail the services of hotel. Guests can give suggestions and can query any question using this application, which would be entertained by staff or management. Please refer to Figure 1.1.
1.3 What is NFC
Near Field Communication(NFC) is a set communication protocol, belongs to the family of Radio Frequency Identification(RFID) that allows you to share small payloads of data between NFC Tag and Smartphone device or two Smartphone devices, to establish communication by bringing them within about 5 cm (2 in) of each other. It’s a form of short range wireless communication, powered through modulated magnetic field.
In 2004, Nokia, Sony, and Philips came together to form the NFC Forum. This group is dedicated to promoting the security, ease of use, and popularity of near field communication. In 2006, the specifications for “smart” posters were created. Smart posters hold information that an NFC compatible device can read when passed over it.
The first NFC-compatible cell phone, the Nokia 6131, also surfaced during this time. As the years passed, more specifications emerged and the technology grew from payment methods to sharing videos, links, and game invites between smart phones and other NFC devices. Android produced its first NFC phone, the Samsung Nexus S, in 2010. Today the NFC markets are most dominant in Europe, Asia, and Japan, though the United States is also seeing rapid growth in this field. It is estimated that NFC will soon evolve into a popular form of payment and data exchange technology in the United States.
1.4 How does it Work
Bluetooth and Wi-Fi seem similar to near field communication on the surface. All three allow wireless communication and data exchange between digital devices like smartphones. Yet near field communication utilizes electromagnetic radio fields while technologies such as Bluetooth and Wi-Fi focus on radio transmissions instead.
Devices using NFC may be active or passive. A passive device, such as an NFC tag, contains information that other devices can read but does not read any information itself. Think of a passive device as a sign on a wall. Others can read the information, but the sign itself does nothing except transmit the info to authorized devices.
1.5 Modes of NFC
Android-powered devices with NFC simultaneously support three main modes of operation:
Reader/writer Mode, allowing the NFC device to read and/or write passive NFC tags and stickers.
P2P mode, allowing the NFC device to exchange data with other NFC peers; this operation mode is used by Android Beam.
Card emulation mode, allowing the NFC device itself to act as an NFC card. The emulated NFC card can then be accessed by an external NFC reader, such as an NFC point-of-sale terminal.
Devices using NFC may be active or passive. A passive device, such as an NFC tag, contains information that other devices can read but does not read any information itself. Think of a passive device as a sign on a wall. Others can read the information, but the sign itself does nothing except transmit the info to authorized devices.
1.6 Applications
NFC is most commonly associated with the “mobile wallet” the idea that your Smartphone will replace your cash and credit cards. In one tap or wave of your phone, you can pay for your groceries and redeem offers or coupons. Google Wallet, partnering with MasterCard PayPal, is one example. You can store all major credit and debit cards in Google Wallet and get a “virtual MasterCard” that pays for your purchases in-store,
Beyond mobile payments, though, there are a wide number of uses for NFC, including:
- Mass Transit
- Identity
- Ticketing
- Payments
- Loyalty
- Building Access
Compared to other short-range technologies, NFC has the following advantages:
- Slow speed and short range – this allows NFC to consume as little power as possible so it can be left on at all times and not affect the phone’s battery by that much (vs.
Bluetooth).
- Hassle-free approach to connections – with NFC, bringing the two devices within range is enough to facilitate the communication between the two (vs. Bluetooth).
- Free-line of sight – no direct line of sight is required to establishes connection (vs. Infrared)
1.7 Similar Products
1.7.1 SPG Keyless
SPG Keyless will go live in ten locations in Beijing, Hong Kong, New York, Los Angeles and Doha on November 5 and will be available to members of the Starwood Preferred Guest (SPG) loyalty program at Aloft, Element and W hotels.
“SPG Keyless is available to SPG members who book a hotel room through one of Starwood’s channels,” the hotel chain explains. “SPG members must register their phone once through the SPG app and allow push notifications.
Once you have the SPG app, you’ll be directed to this page once you click the “SPG Keyless Registration” on the home screen of your SPG app.
SPG Keyless is compatible with iPhone 4s and above running iOS 8 and above and select Android devices running Flavour 4.3 and above. Member must have an spg.com account and login set up. Member must have a valid email address, a valid credit card and a registered mobile device. Reservation must be made for only one room and booked through a Starwood channel
“After ensuring his/her Bluetooth is enabled, the guest simply opens the SPG app, holds the Smartphone to the door lock, waits for the solid green light and enters the room.”
1.7.2 NFC Porter
NFCporter Key is ONLY compatible with NFCporter or IMAporter HW. If you do not own an IMAporter Reader, do not download this app.
NFCporter is a system enabling users to control door, garage gates or attendance terminals with their mobile phones. The mobile phone therefore easily replaces all identification cards and unifies them under a mobile app. To ensure right function of the system, it is necessary to install an identification system reader compatible with NFCporter app.
The application is designed for mobile phones with integrated NFC technology. This technology allows the mobile phone to communicate with a contactless reader and to identify the user.
An integral part of the system is a contactless NFCporter reader available for purchase at http://www.nfcporter.com/buy
1.7.2.1 Features:
• Open door by tapping it with a mobile phone
• Replaces identification cards
• Unifies identification on various systems into mobile phone
• Is compatible with majority of identification systems
1.8 Project objectives
The ‘TapToGo’ project will meet the following objectives:
- This project provides the ease of access controls in a Hotel system.
- Customers would have to use only their smart phone to access their rooms and other facilities.
- The main objective of this project is to utilize the NFC technology for the best use of it.
- Delivering a product that can be extended on a major scale by adding more features.
- To save the time and effort of the hotel staff and guests.
1.9 Project assumptions
- The hotel providing this service should make sure that their guests must have an android device(OS 4.4.2 kitkat or later)
- That should be making sure that the data inserted by staff or admin is valid and authentic.
- The Server that is being used for user data is secure and protected.
- No data loss in case of handling of the system by the administrators or the system related personnel.
1.10 Architecture Diagram
Figure 1.2 general overview
_______________________________
CHAPTER 2
LITERATURE REVIEW
________________________________
2 Literature Review
In today’s world, most of mobile devices are equipped with wireless modules, which can be used to solve the problems which we face with keys. Almost all these technologies are equipped with Bluetooth and infrared, among which the most recent technology is Near Field Communication (NFC).
2.1 Learning Technologies
The technologies used to learn to make the FYP (Final Year Project) more successful are described in this section with their details. These technologies are the important aspect for making successful project. The technologies are:
- JavaScript
- Bootstrap
- Firebase
- Android SDK (Java+ XML)
- Arduino ATMega 328p
- OLED
- PN532(NFC Reader)
2.1.1 JavaScript
JavaScript is the main important key feature of this project. This is the open source language provided many. JavaScript is commonly placed into HTML or ASP file, and runs directly from the web pages.
2.1.1.1 Learning of JavaScript
It is utilized to perform to tasks such as printing the time and date, create a calendar, or the tasks that are not possible through plain HTML. You can create dynamically updating content, control multimedia, animate images, and pretty much everything else. Here are some source from which are learning JavaScript:
2.1.2 Bootstrap
Bootstrap is a front-end framework that is developed to support creating dynamic websites and web applications. It is the one of the most preferred front-end framework as it aids an easy and fast processing to develop a website.
2.1.2.1 Learning of Bootstrap
Bootstrap gives the developer the flexibility to develop. It’s a CSS framework with predefined classes for layout using its grid system. Here some source where we are learning Bootstrap:
2.1.3 Firebase
Firebase is a real-time backend for applications. It is based on NOSQL, which means it does not support SQL queries that were used to interact with the database. It is a real-time database which serves users to interact with each other in real-time. The developer do not need to worry about writing server side code, handling the real-time environment is up to the developer which he can manipulate in whatever way he wants. Data is always synced with other clients over the network and remains available when offline.
2.1.3.1 Learning of firebase
The understanding of how firebase works is important to learn so we know what we can or cannot do when using this technology. It maintains the local copy of data structure and when users wants to exchange information with each other it simply changes the local copy and then it propagates the changes to other users.
Firebase is a no SQL based real-time database. Learning firebase is important because it will provide real-time database for our application so developers do not need to write the backend of the application database.
The learning phase of our project includes following firebase features:
2.1.4 Android SDK (JAVA+XML)
Android software development is the process by which new applications are created for the Android operating system. Applications are usually developed in Java programming language using the Android software development kit (SDK), but other development environments are also available.
The Android software development kit (SDK) includes a comprehensive set of development tools. These include a debugger, libraries, sample code, and tutorials. Currently supported development platforms include computers running Linux (any modern desktop Linux distribution), Mac OS X 10.5.8 or later, and Windows 7 or later. As of March 2015, the SDK is not available on Android itself, but software development is possible by using specialized Android applications
2.1.5 Arduino ATMega328p
The Atmel ATmega328/P is a low-power CMOS 8-bit microcontroller based on the AVR enhanced RISC architecture. By executing powerful instructions in a single clock cycle, the ATmega328/P achieves throughputs close to 1MIPS per MHz. This empowers system Designed to optimize the device for power consumption versus processing speed.
2.1.5.1 Features
High Performance, Low Power Atmel®AVR® 8-Bit Microcontroller Family
- Advanced RISC Architecture – 131 Powerful Instructions – Most Single Clock Cycle Execution – 32 x 8 General Purpose Working Registers – Fully Static Operation – Up to 20 MIPS Throughput at 20MHz – On-chip 2-cycle Multiplier
- High Endurance Non-volatile Memory Segments – 32KBytes of In-System Self-Programmable Flash program Memory – 1KBytes EEPROM – 2KBytes Internal SRAM – Write/Erase Cycles: 10,000 Flash/100,000 EEPROM – Data Retention: 20 years at 85°C/100 years at 25°C(1) – Optional Boot Code Section with Independent Lock Bits
- In-System Programming by On-chip Boot Program
- True Read-While-Write Operation – Programming Lock for Software Security
- Atmel® QTouch® Library Support – Capacitive Touch Buttons, Sliders and Wheels – QTouch and QMatrix® Acquisition – Up to 64 sense channels Atmel-42735B-ATmega328/P_Datasheet_Complete-11/2016
- Peripheral Features – Two 8-bit Timer/Counters with Separate Prescaler and Compare Mode – One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode – Real Time Counter with Separate Oscillator – Six PWM Channels – 8-channel 10-bit ADC in TQFP and QFN/MLF package.
- Temperature Measurement – 6-channel 10-bit ADC in PDIP Package
- Temperature Measurement – Two Master/Slave SPI Serial Interface – One Programmable Serial USART – One Byte-oriented 2-wire Serial Interface (Philips I2C compatible) – Programmable Watchdog Timer with Separate On-chip Oscillator – One On-chip Analog Comparator – Interrupt and Wake-up on Pin Change
- Special Microcontroller Features – Power-on Reset and Programmable Brown-out Detection – Internal Calibrated Oscillator – External and Internal Interrupt Sources – Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby, and Extended Standby
- I/O and Packages – 23 Programmable I/O Lines – 28-pin PDIP, 32-lead TQFP, 28-pad QFN/MLF and 32-pad QFN/MLF
- Operating Voltage: – 1.8 – 5.5V
- Temperature Range: – -40°C to 105°C
- Speed Grade: – 0 – 4MHz @ 1.8 – 5.5V – 0 – 10MHz @ 2.7 – 5.5V – 0 – 20MHz @ 4.5 – 5.5V
- Power Consumption at 1MHz, 1.8V, 25°C – Active Mode: 0.2mA – Power-down Mode: 0.1μA – Power-save Mode: 0.75μA (Including 32kHz RTC)
Figure 2.1 Arduino ATMega328p
2.1.6 Adafruit PN532 Breakout Board:
The PN532 is the most popular NFC chip, and is what is embedded in pretty much every phone or device that does NFC. It can pretty much do it all, such as read and write to tags and cards, communicate with phones (say for payment processing), and ‘act’ like a NFC tag. If you want to do any sort of embedded NFC work
______________________________
CHAPTER 3
SOFTWARE AND HARDWARE
REQUIREMENT
_______________________________
3 Hardware, Software Analysis & Requirements
This chapter described the hardware, software analysis and requirements for need this application run successful.
3.1 Software requirements
The following is the software requirements for TapToGo are include:
- Operating system
- Prerequisite installer operation
- Minimum recommended services for development environment
3.1.1 Operating System
The supported operating system for TapToGo is the following:
3.1.2 Supported operating system
Windows 7,8,10 and above |
Linux |
MAC OSX 10.9.5 and above |
Table 3.1 Supported Operating System
3.1.3 Supported Mobile Operating System
Android 4.4 or Above version |
Table 3.2 Supported Mobile Operating System
3.2 Prerequisite installer operation
TapToGo prerequisite installer installs the following software:
- Chrome Package
3.3 Minimum recommended services for development environment
The following software’s are:
- Bracket.io
- Android Studio
- Scratch
- Adobe Photoshop CS6
- MS Office
3.4 Hardware Required
Below list of tables describe the minimum and recommended hardware requirements for the deploying the project.
3.4.1 For PC
Components | Minimum | Recommended |
Processor | 3.0 Gigahertz (GHz) | 1.5Gigahertz (GHz) |
RAM | 4 gigabyte (GB) | 2 gigabyte (GB) |
Hard Disk | 250 megabyte (MB) available disk space | 200 megabyte (MB) available disk space |
Display | 1024 x 768 | 1024 x 768 or higher resolution |
Network | 512 kilobits per second (Kbps) | 1 megabit (MB) or faster |
Table 3.3 hardware requirements for PC
3.4.2 For Mobile Devices
Components | Minimum | Recommended |
ROM | 20 megabyte (MB) available disk space | 60 megabyte (MB) available disk space |
RAM | 1 gigabyte (GB) | 2 gigabyte (GB) |
Table 3.4 hardware requirements for Mobile Devices
3.4.3 NFC Devices Requirements for TapToGo
NFC Reader PN532 |
Microcontroller Ardino Atmega 328p (8-bit) |
Table 3.5 hardware requirements for NFC Devices
3.5 Web Application Requirements for TapToGo
For the TapToGo web application you can use any of the following supported web browsers:
3.5.1 Supported Web Browsers
Google Chrome 30.1 and above |
Internet Explorer 10.0 and above |
Safari (Latest Version) |
Mozilla Firefox (Latest Version) |
Table 3.6 Supported Web Browsers
3.6 User Documentation
User documentation includes:
- User manual
- Online Support Material
3.6.1 Assumptions
The following assumptions are made:
- User should have followed the minimum requirements.
- The user has some knowledge of using similar application.
CHAPTER 4
METHODOLOGY
_________________________________
4 Methodology
This chapter will specifically cover the whole methodology about our project which will be followed by us to a complete success. In this project we use agile model of SDLC (Software Development Life Cycle), we will be using scrum methodology and sprints.
The development processes in each scrum are to be present below:
Figure 4.1 Software Development Life Cycle) model
- Planning
- Requirement Analysis
- Designing
- Coding
- Testing
- Deployment
The start and very first phase is planning, which is most valuable phase of any development process and will determine the success or failure of the project.
- The planning phase will mostly consist of how whole scrum will be tackled and which role will be executed by each member of the group. The main aspects which will be covered in planning phases are the identification, definition, combination, unification and coordination with hardware and software requirement analysis which is documented in the previous chapter
- The next phase which is requirement analysis in which we understand what will be built, why it should be built, how much it will likely cost to build.
- The third phase is designing, in this phase we will follow the process flow chart and refactoring.
- Then comes the coding/ implementation phase in which we will create the actual product. Product implementation can be an exciting phase because the idea for the project becomes something tangible. If the second phase work properly and first phase gathered accurately, the coding process is more streamlined.
- The last one which is testing, this phase focuses on the aspect of the project which can be verified by observation to meet the quality of the system. Testing helps us to find the bugs as well as system performance measures.
- The final phase which is deployment, where the final product is implemented in the actual environment.
4.1 Planning
Arranging period of the product improvement model is one of the most basic stages, in this stage we arranged, and surveyed the necessities and how to handle the issues confronted amid the advancement procedure of the project ‘TapToGo’ extend.
4.1.1 Objective(s)
The principle aim of this stage is to asses, expand, characterize, arrange, and build up the Project
4.1.2 Goal(s)
The things which will be accomplished through this eliminate are well perspectives and exercises required to harden the project prosperity and make an effortlessly justifiable movement of arrangements.
4.1.3 Deliverable(s)
The Deliverables which will be given toward the end of the project (which are recorded in our extend proposition) are:
UI (User Interface): The principal deliverable which demonstrates that how our project looks like in this segment. Characterize every last capacity that gives enough thought to client that how our application looks like.
Diagrams (UML, DFD): Define your project’s usefulness by outlines and work process like USECASE, SEQUENCE, FLOWCHART, and DFD ought to be drawn in such way that they will portray your project’s fundamental topic.
Security check: In this area security of the project is measured on the off chance that we neglect to determine the security issues so user will dependably want from utilizing your item. Security keeps an eye on Application through which guarantee the project is safe from malfunctions.
4.1.4 Role(s)
The parts which are appointed in our sanction are expressed as:
- Engr. Farhan Ahmed Karim as the Project Supervisor.
- Syed Sumair, Muhammad Azmul Haq and Abdul Moiz as the Development Team
Syed Sumair and Muhammad Azmul Haq will mostly focusing on the Planning, Requirement, Analysis, Coding, Testing, and Deployment wile Abdul Moiz will take part in Designing and Maintenance of the project.
4.1.5 Task and Activities
Since we are following a scrum based agile model, the task and activities change after each sprint, the tasks are assigned by the group leader.
4.1.6 Planning summary
Toward the end of every sprint, the status of project is looked into, and the endorsement to continue to the following. This procedure is on the other hand rehashed in the following sprint.
4.2 Requirement analysis
The conclusion for the procedure can be expressed as that toward the end of every sprint, an arrangement of UML charts will be conveyed so that the following stage can be actualized easily. Documentation will likewise be dealt with at the examination stage also. We also figure out what will be built and how it should be built, how much it will likely cost to build after analyzing requirement analysis.
4.2.1 Objective(s)
In every scrum’s planning stage it will be assessed that how every one of the necessities can be changed into definite determinations which will cover all parts of the framework, moreover as yet taking after the fundamental prerequisites of the framework. The evaluation and getting ready for security dangers which can prompt to framework’s disappointment of each scrum will be done here.
4.2.2 Goal(s)
Toward the end the objective of the planning stage is to cover the necessities into totally particular and itemized framework outline determination. In the event that the plan of the framework is acknowledged at that point the scrum can continue to advancement stage.
4.2.3 Deliverable(s)
The deliverables for the necessity examination would be, which are expressed in our sanction of the project, and the case of every deliverable is connected underneath:
- Use Case
- Sequence
- Class
- Activity
- State
- Component
- Interaction
- Process Flow
- Deployment
- Communication
- Module
Note: Not these deliverables are relevant for the Requirement Analysis in each sprint.
4.2.4 Requirement summary
The main conclusion for the procedure can be expressed as that toward the end of every sprint, an arrangement of UML charts will be conveyed so that the following stage can be executed effortlessly. Documentation will likewise be dealt with at the investigation stage too.
4.3 Designing
Our main purpose in designing is to transform specific requirements identified during previous phases, into a detailed system architecture which is feasible, robust and brings value to the organization.
4.3.1 Objective(s)
In every scrum’s outlining stage it will be assessed that how every one of the necessities can be changed into point by point details which will cover all parts of the framework. The appraisal and anticipating security issues which can prompt to project’s disappointment of each scrum will be carefully checked here.
4.3.2 Goal(s)
Toward the end the objective of the planning stage is to cover the prerequisites into totally particular and specific framework plan detail. On the off chance that the outline of the framework is acknowledged at that point the scrum can continue to advancement stage.
4.3.3 Deliverable(s)
Our fundamental reason in designing phase is to change particular necessities distinguished amid past stages, into a point by point framework which is practical, powerful and conveys esteem to the association.
4.3.4 Designing summary
Plans are developing on a continuous basis but they’re not characterized in advance. Our general framework configuration will develop after some time, to satisfy new necessities, exploit new innovations as suitable. Starting design demonstrating done at earliest reference point of our ongoing project which will be sufficient to get our group going.
4.4 Coding
Then comes the coding/ implementation phase in which we will create the actual product. Product implementation can be an exciting phase because the idea for the project becomes something tangible. If the second phase work properly and first phase gathered accurately, the coding process is more streamlined.
4.4.1 Objective(s)
On the off chance that the product application is planned legitimately and prerequisites are accumulated precisely, the coding procedure is more smooth-running.
4.4.2 Goal(s)
To implemented proper coding within a specified period of time.
4.4.3 Deliverable(s)
To actualize appropriated coding inside a predetermined time frame.
4.4.4 Coding summary
Once the design is complete, most of the major decisions about the system have been made. The goal of the coding phase is to translate the design of the system into code in a given programming language. For a given design, the aim of this phase is to implement the design in the best possible manner.
4.5 Testing
This phase of the development was used to test out the overall standards of the project.
We always try to find out the general nature of our project advancement and to solve any problem which had occurred during testing process (which we have done so far).
4.5.1 Objective(s)
The purpose of this stage in every sprint is to:
- Check and find out possible errors in system’s security, and try to fix it as soon as possible.
- To check whether the project is capable to perform in every condition without any problem.
4.5.2 Goal(s)
The main objective of this stage is to ensure that the framework is effectively constructed and tried, and every one of the prerequisites and outline parameters are met.
4.5.3 Deliverable(s)
The deliverables for this stage is just the general testing of each and every module, thus to produce physical deliverables which is fully functional after complete testing.
4.5.4 Testing summary
After the confirmation of this stage the extend modules can move onto the accompanying sprint organizing stage.
4.6 Deployment
In this phase our final product is implemented in the actual environment.
4.6.1 Objective(s)
A deployment project is basically a container for holding the software project which we are deploying: Our Modules which have been constructed and tried, and the situations to which these modules are conveyed as final output.
4.6.2 Goal(s)
To provided a functional and complete project.
4.6.3 Deliverables
This phase is the final phase of SSDLC where the final software of our project ‘TapToGo’ is implemented in the production environment.
4.6.4 Deployment summary
In our project, we will finally gave a working android application which can be deployed in hotels through which customer can easily access to their rooms and different zones of the hotel without any inconvenience. Our system is deployed in various sections of the hotel which requires only authorized specific customers to enter in it, not allowing general public to enter.
4.7 Our Modules
In this phase we will define how the module will work and integrated with each other, firstly we will separate into three parts, Guest Booking module, Guest Arriving module and Access Control module.
4.7.1 Guest Booking Module
In this phase user select the hotel room packages regarding their own choice and fill the form if availability is conform. Now fill the registration form and booked our reservation. Complete the reservation process successfully.
4.7.2 Access Control Module
This is one of the most important module of our project ‘TapToGo’ through which user will just have to tap his android smart phone in front of his designated room lock enabled with NFC technology and after confirmation of UID with the server system the door will be unlocked.
________________________________
CHAPTER 5
SOFTWARE DESIGN AND
MODELING
_________________________________
5 Software Design and Modelling
5.1 Use Case Diagram
In these diagrams we can show how user use performs different type of roles and actions.
Figure 5.1 Low Level Use Case Diagram
The Low Level use Case Diagram which is Figure 5.1 defines what type of actions or events will be attempt by user and receptionist.
Figure 5.2 High Level User Use Case Diagram
Figure 5.3 High Level Admin Use Case Diagram
In Figure 5.2 and Figure 5.3 defines the user specific actions or roles to be done any guest and admin have different set of action is available which are not assign user and receptionist.
5.2 Sequence Diagrams
InFigure 5.4 defines the sequence of how user check the room availability in the hotel, each request will be checked.
Figure 5.4 Sequence diagram of Check Availability
In Figure 5.5 defines how to register any device in the system, it must be brought to special registration device. At this point, server generates unique key-identification (the UID) and then sends it to the device, together with public-key of the system (the p-key), which is used to encrypt transmitted data and system-id. If system-id, UID and p-key are successfully received, then server permanently stores UID in database. Now device can be used to lock/unlock the doors.
Figure 5.5 Sequence diagram of Guest UID Key Registration
In Figure 5.6shows how unlock the door, device must be brought to the reader close enough (approx. 1-2 cm) for the start of data transmission. UID is encrypted with p-key of corresponding system and is sent to the server. At serve side, it is validated with data from database and if there is a presence of such UID in the database, then the command for opening the door is sent back.
Figure 5.6 Sequence diagram of Door Access
5.3 Activity Diagram
In Figure 5.7 defines the whole process of website starting up to till the end.
Figure 5.7 Web App Activity Diagram
In this Figure 5.8 shows the whole process of mobile application start to till end.
Figure 5.8 Mobile App Activity Diagram
5.4 Package Diagram
The Figure 5.9 shows the four packages of TapToGo project, in which Client side applications, Server Side applications, Database model and Ardino model.
Figure 5.9 Packages Diagram
5.5 Component Diagram
In Figure 5.10 shows how component of the application related with each other
Figure 5.10 Component Diagram
5.6 Class Diagram
In Figure 5.11 defines all class activity of project ‘tapTogo’
Figure 5.11 Class Diagram
________________________________
CHAPTER 6
ALGORITHM ANALYSIS AND
PSEUDO CODE COMPLEXITY
_________________________________
6 Algorithms
6.1 Algorithms for Reservation:
Step 1: Select Date, Room, no. of adults n Children —————————————————— 1
Step 2: Check Room available ——————————————————— 1
Step 3: If Success then: ——————————————————— log(n)
Step 3.1 allocate room ——————————————————— 1
Step 3.2 set Username and password ——————————————————— 1
Step 3.3 register user in DB ——————————————————— 1
else 3.4 Popup User to select another room type ——————————————————— 1 Step 4: Confirm Booking
6.2 Algorithm for Login:
Step 1: Get email, password ——————————————————— 1
Step 2: Validate email and password with requirements ——————————————————— 1 Step 3: Request Database to Sign In user ——————————————————— 1 Step 4: if Success then ———————————————————
Login Step 4.1: Check if UID is given then ———————————————————
Login Step 4.1.1 Transit user to Dashboard ——————————————————— 1
Else Step 4.1.2 get UID from server via NFC ——————————————————— 1
Step 4.1.3 store UID in Phone ——————————————————— 1
Else Step 4.2: Request user to re-enter data ——————————————————— 1
______________________________
CHAPTER 7
TESTING
_________________________________
7 ANDROID TESTING
Unit Testings:
Test BuildSelectApdu Results:
Tested on Android Studio using tool JUnit Class.
CPU Load Testing Results:
Memory Usage Testing Results:
Per Frame Rendering Time Results:
Network Statistics while calling Google Maps API for Nearby Locations:
7.1 TESTING (WEB)
_________________________________
CHAPTER 8
CONCLUSION
_________________________________
8 Conclusion
8.1 Contribution to the Social Security
The proposed system will help in making the access system time efficient and effortless. NFC is becoming one of the most important advances in wireless communications technologies hence using this future technology will lead to a evolved and efficient system.
Access control systems are always in demand and are used everywhere. Reducing the number of physical keys and cards people need to carry and using smart phone as a single device to access to multiple locations is a good choice against lost, left at home or work keys. In addition, even if smart phone is lost, no need to change the lock at door or make duplicate keys, just disable or delete lost devices UID, registered in system from centralized DB. In the future, we plan to replace the connection to the wireless connection as well as improve the safety aspects, including replacing system time to something more efficient.
8.2 Self Learning in Professional techniques
This project leads us to understand advance technology that is NFC which is being used different sectors to provided secure communication between devices.
The making of TapToGo have taught us many great things, some of which range from different programming languages to professional activities, to tools, following are few things that we have learnt in performing FYP
- Project Management,
- Technical report writing
- Bootstrap
- Firebase
- Web Storm
- Android Studio
- Java
- JavaScript
_________________________________
CHAPTER 9
FUTUR ENHANCEMENT
_________________________________
9 ENHANCEMENTS IN FUTURE
This project opens many possibilities in future for better enhancement. Our project main them is to use the NFC technologies and this technology used in many different sector of industry. The different approaches are follows:
9.1 Integrate Payment Module
Payment module method is the main enhancement in the future of this project because in this project we targeted Hotel industries and our business model in not handle online payment methodologies. This method connected with Bank and third party security system to ensure the online and secure transaction of payment.
With this technology, customers can securely link their smart devices to bank accounts and credit cards. At brick-and-mortar stores that use near-field communication (NFC) terminals, these customers can wave their mobile devices across the reader to initiate transactions and complete their purchases.
One day, we’ll all be paying for things with our phones, and NFC is the ticket to that future. In light of the many recent credit card data breaches, now is an especially good time to present a solution that finally shields our wallets from theft and fraud.
9.2 Integrated Hotel management system
Our project business model structure is the access controlling on doors in the hotel. In the future, this project converted into complete smart hotel management system. Some new features added are:
- Maintain the logs and defined errors when tagging on the device.
- Added Staff panel module in the web application.
- Maintain staff record and history.
- Staff of the hotel marked their attendance through this mobile application.
- Staff of hotel checked our complete profile in the application.
9.3 Used in the different ways
This application used in the many different sectors of inductors just like in School management system, Super store mart system and many more.
_________________________________
CHAPTER 10
REFERENCES
10 References
- Developer documentation firebase for web
https://firebase.google.com/docs/database/web/start
- Developer documentation firebase for android
https://firebase.google.com/docs/android/setup
- Firebase, No SQL database
https://firebase.google.com/docs/database/web/read-and-write
- Developer Documentation JavaScript
- Developer Guidance for Bootstrap(JavaScript)
http://getbootstrap.com/javascript/
- JavaScript Tutorial | Learn JS, simply easy learning
https://www.tutorialspoint.com/javascript/
- Bootstrap Tutorial | Learn Bootstrap, simply easy learning
https://www.tutorialspoint.com/bootstrap/
- Developer Guidance for Bootstrap(CSS)
- PN532 Breakout Board
https://www.adafruit.com/product/364
- Near field communication.
http://nearfieldcommunication.org/
_________________________________
CHAPTER 11
PLAGIARISM REPORTS
_________________________________
11 Plagiarism Reports
11.1 Chapter 1:
11.2 Chapter 2:
11.3 Chapter 3:
11.4 Chapter 4:
11.5 Chapter 5:
11.6 Chapter 6:
11.7 Chapter 7:
11.8 Chapter 8:
11.9 Chapter 9:
________________________________
CHAPTER 12
Annexure
________________________________
________________________________
_________________________________
TapToGo
Name: Syed Muhammad Sumair
Roll Number: 13B-121-BS
Name: Muhammad Azmul Haq
Roll Number: 13B-101-BS
Name: Abdul Moiz Khan
Roll Number 13B-089-BS
Batch-2013B (BS)
Date: 21st Oct, 2016
Department of Computer Science
USMAN INSTITUTE OF TECHNOLOGY
HAMDARD UNVIERSITY
Usman Institute of Technology
Department Of Computer Science
FINAL PROJECT APPROVAL FORM
The Head of Department, Date: 21st Oct, 2016
Computer Science Department, Batch: _2013B (BS)
Usman Institute of Technology,
Karachi.
Subject: Bachelor of Science in Computer Science Final Year Project
Respect Sir,
We, the below listed students of final Year BS ___CS__ class, desire to undertake work on the following project.
TapToGo
We request you to kindly grant approval for undertaking the work on the above-cited project. I abide by all terms and conditions mentioned below.
- I have selected this project on my own.
- I have no objection working under the supervision of male/female supervisor, or if my project work is evaluated by male/female externals.
- I am sure I can complete this project.
- In next meeting I will provide the GANTT CHART of my project.
- I am eager to work under the supervision of advisor assigned to this project.
- I understand that FYP committee can modify the scope of the project as and when required.
- I know that if do not appear in regular project progress presentations my project will be disqualified.
- I know that if I do not appear in mid project presentation, whenever it is scheduled, I will not be eligible for final project viva
- I fully understand that “cheating”* may lead to cancelation of my project.
- I understand that the decision of the FYP evaluation committee, for all issues, would be final, and no objections will be accepted.
- I have no objection presenting my project to external or internal examiner assigned by the Head of the Department.
- Project and Product deliverables at the time of submission of final year project every group is responsible to submit complete running system along with printed reports, source code, hardware (if any) etc to the project coordinator.
- It would be the responsibility of Project coordinator to keep record of all projects in a system (in running form) as it would help to continue next project in continuation, depends upon the scope and application of project.
- Proper dressing and way of presentation should be in English during proposal defend session, milestones and final presentations.
- Marking of milestones and final presentation should be based on individual evaluation of each faculty members and marks would be granted during session.
- When we go for proposal defends session a list of all previous projects with their brief introduction must be available during session for our reference. (Introduction, Scope of project, tools and technology and batch must be available).
- I understand that it is my responsibility to update my advisor and FYP committee members with the status of my project and submit reports on time.
- Copying code from any resources
- Using off the shelf components without prior permission
- Outsourcing your project
- Hire a resource for the completing the FYP code or any part of the project.
- The Usman Institute of Technology’s higher management has decided to promote and reward creative, innovative and professional final year projects that have been successfully implemented by the students.
The selected projects will be rewarded as follows:
First Price 100,000 1 Lac PKR
Second Price 75,000 Seventy Thousand PKR
Third Price 50,000 Fifty Thousand PKR
Yours sincerely,
S.No. Roll No. Name Email Signature
1. 13B-121-BS Syed M. Sumair sumair.uit@gmail.com
2. 13B-101-BS M. Azmul Haq azmulhaq9421@gmail.com
3. 13B-089-BS Abdul Moiz Khan moizkhan894@gmail.com
TABLE OF CONTENTS
2 Introduction
2.1 1.1.1 Problem Statement……………………………………………
The Purpose of this Project is to introduce a system through which a hotel can manage their guests’ access controls by providing them a desktop application. While the guests just have to install a mobile application, which will replace all the keys or identification cards and unifies them under a mobile app. By using these applications hotels can minimize the interaction of their guest from the staff and management. This application therefore it would be easier for guests to make their stay in hotel more pleasant, time saving and inspire them to use the service again. This application therefore provides ease of use for guests as they can use mobile as NFC tag by using NFC technology.
Today Smart phones are so commonly used, that we don’t even have to explain its popularity but all of its features either not being known or not being used. NFC (Near Field Communication) technology is one of them. As far as its business value is concern this technology is under process of adaption in many Sectors for e.g. (Banking (Smart payments), different Firms, Hospitals, and Hotels for access control and attendance purpose, etc.). Of course, locks and keys have their drawbacks. Locks can be picked. Keys can be lost. They don’t allow access rights to be easily transferred. They don’t provide any additional data, such as who gained access and when. And perhaps most significantly, physical locks and keys have limited applications. So we are considering a hotel’s system for this project. This project contains a Web application in which user select the different accommodation according to their choices, then user complete their transaction process through online booking form provided on website. Users receive the confirmation mail consisting of username and password, which can be provided only if the user successfully authenticate the overall process. Users use these username and password through Sign-In page in android application. Android application that uses NFC utility of a device for control Access in different areas of Hotel and provide different types of services for the guests which are using this application. For example room service, news/events, and dinner/lunch. On the other hand for the staff and admin there is a desktop application through which the users (it could be an admin, receptionist or a kitchen panel user) would be maintaining data of their guests.
The mobile application includes the features of different packages/deals of different places with in the hotel like rooms, gym, pool, parking, etc. Once the guest is registered, now he/she can avail the services of hotel. Guests can give suggestions and can query any question using this application, which would be entertained by staff or management.
The ‘TapToGo’ project will meet the following objectives:
- This project provides the ease of access controls in a Hotel system.
- Customers would have to use only their smart phone to access their rooms and other amenities.
- The main objective of this project is to utilize the NFC technology for the best use of it.
- Delivering a product that can be extended on a major scale by adding more features.
- To save the time and effort of the hotel staff and guests.
The scope of this project includes and excludes the following items.
An android based Application that provides amenities of room service, access control, food order placement within hotel, call a cab, news or upcoming events about hotel.
- A web application provides different packages for rooms and select specific room,
User fills the booking form and the payment for the selected rooms.
A Hardware module (NFC reader and microcontroller) for access control
A web application that provides the interface to the management or staff to manage guest’s data and kitchen order placements.
- A centralized database for multiple hotels which facilitates the customer not to provide his personal information again
Providing GPS system which will guide the customer from Airport or different areas to the Hotel
- This project consists of an Android application that utilizes the NFC technology for access control.
- A web-based admin panel that manages user data.
- A Server that store, manage, send the data to these Application.
- A hardware prototype to show practical demonstration.
Project estimated effort/cost/duration
Effort:
1350hrs/3 people
450hrs/Person
Cost:
Server/Database Cost Rs.5000/= PKR
Development Cost Rs.50000/= PKR (3Persons
Hardware Cost:
- Microcontroller Rs.5000/=PKR
- NFC Reader 4000 x 4 =Rs.16000/=PKR
Total = Rs.21000/= PKR
Grand Total = Rs.76000/=PKR
Milestone | Date completed | Deliverable(s) completed |
Project planning | 4/7/2016 to
31/8/2016(2Month) |
|
Milestone 1 | 1/9/2016 to
14/10/2016(1.5Month) |
|
Milestone 2 | 24/10/2016
23/12/2016(2Month) |
|
Milestone 3 | 2/1/2017
31/3/2016(3Month) |
|
Milestone 4 | 10/4/2017
16/6/2017(2Month) |
|
Project conclusion | Mm/dd/yy |
- The hotel providing this service should make sure that their guests must have an android device(OS 4.4.2 kitkat or later)
- Online booking through website should be secure.
- That should make sure that the data inserted by staff or admin is valid and authentic.
- The Server that is being used for user data is secure and protected.
- No data loss in case of handling of the system by the administrators or the system related personnel.
Risk Area | Level (H/M/L) | Risk Plan |
1. Hardware communication failure | H | Use the alternative devices available |
2. Time scarcity | M | Increase number of working hours/week |
3. Server/Database failure | M | Backup data on certain period |
Project approach
The project approach is Agile which is an iterative type approach where phases (requirements/design/develop/test) needed to complete a project are generally done in parallel together. Agile methodology most commonly used in software development in which requirements and solutions are continually evolving and based on priority and discipline.
- Near Field Communication (NFC) Host-based Card Emulation
- NFC Libraries for Android and Arduino sketch.
- Platform: Android Studio (2.1 or if latest available)(Language: Java and XML)
- NFC reader and Arduino-uno (8-bit) microcontroller which used to control the action, interfaced with the reader.
- Arduino Sketch(Arduino 1.6.10 or later if available)
- Web application(Language: HTML, CSS, JavaScript, jQuery, Bootstrap)
- Desktop application (Framework: Visual Studio. Language: C# .net )
- Node.js and MongoDB
NFC enabled User device
Microcontroller interfaced with NFC Reader
Server/Database
Admin Control Panel
Architecture Diagram
References
https://play.google.com/store/apps/details?id=cz.ima.nfc.p2pid&hl=en
https://www.spgpromos.com/keyless
Project approvals:
Name: Engr. Farhan Ahmed
Project Supervisor Signature
Head of Department of CS Signature
FYP Coordinator, UIT Signature
Member, FYP Committee, UIT Signature
Member, FYP Committee, UIT Signature
Member, FYP Committee, UIT Signature
Member, FYP Committee, UIT Signature
________________________________
12.2 Software Requirements Specification (SRS)
_________________________________
Software Requirements Specification
For
TapToGo
Version 1.0
Prepared by : Syed Muhammad Sumair (13B-121-BS)
Muhammad Azmul Haq (13B-101-BS)
Abdul Moiz (13B-089-BS)
Usman Institute of Technology
<17-10-2016>
Table of Contents………………………………………………………..
Revision History………………………………………………………..
1.………………………………………………………….Introduction
1.1 Purpose…………………………………………………………
1.2 Document Conventions……………………………………………….
1.3 Intended Audience and Reading Suggestions…………………………………..
1.4 Project Scope……………………………………………………..
1.5 References………………………………………………………2
2.……………………………………………………..Overall Description2
2.1 Product Perspective…………………………………………………2
2.2 Product Features…………………………………………………..3
2.3 User Classes and Characteristics………………………………………….4
2.4 Operating Environment……………………………………………….
2.5 Design and Implementation Constraints………………………………………
2.6 User Documentation…………………………………………………
2.7 Assumptions and Dependencies…………………………………………..
3.……………………………………………………….System Features
3.1 System Feature 1……………………………………………………
3.2 System Feature 2 (and so on)…………………………………………….
4.……………………………………………..External Interface Requirements
4.1 User Interfaces…………………………………………………….
4.2 Hardware Interfaces………………………………………………….
4.3 Software Interfaces………………………………………………….
4.4 Communications Interfaces……………………………………………..
5.……………………………………………Other Nonfunctional Requirements
5.1 Performance Requirements……………………………………………..
5.2 Safety Requirements…………………………………………………
5.3 Security Requirements………………………………………………..
5.4 Software Quality Attributes……………………………………………..
6.…………………………………………………….Other Requirements
Appendix A: Glossary…………………………………………………….
Appendix B: Analysis Models………………………………………………..
Appendix C: Issues List……………………………………………………
Name | Date | Reason For Changes | Version |
The project “TapToGo” is a system that provides an interface to the Hotel Management and their Guests to interact directly through the mobile device. By which user can easily avail the services provided by the hotel like room access, room service, food preorder placements, etc. On the other hand for the staff and admin there is a desktop application through which the user (admin, receptionist or Kitchen panel) would be managing data of guests, according to their privileges.
The purpose of this project is to make ease for both, the guests and the staff of the hotel by providing them application interface. The user attractable interface design gives users a new trend of stay in hotels just by using their mobile application and reduces time and effort of the people. The main purpose of TapToGo is to utilize the Near Field Communication (NFC) technology for hotel access controls. Today in the modern world NFC technology is being used for multiple purposes for example: Payments, identity, building access, ticketing and much more. Our project uses this technology for access control purpose.
While writing this SRS, the basic convention of headings being larger in font size than the text, and making them bold to give an organized look, as well as providing them with numbered bullets, was followed.
- All the text in this SRS is written in Arial font except headings.
- The headings have the font size 18.
- The sub-headings will have font size 14.
- The text is written in font size 11.
- Important points are written in bullets.
Intended Audience and Reading Suggestions
This SRS is meant for people who want to make more such projects so that they can well understand the requirements associated with this website. This is also suitable for the project manager and the client to well understand the project requirements and thus change them accordingly.
An android based Application that provides amenities of room service, access control, food order placement within hotel, call a cab, news or upcoming events about hotel.
- A web application provides different packages for rooms and select specific room,
User fills the booking form and the payment for the selected rooms.
A Hardware module (NFC reader and microcontroller) for access control.
A web application that provides the interface to the management or staff to manage guest’s data and kitchen order placements.
The “TapToGo” project will meet the following objectives:
- This project provides the ease of access controls in a Hotel system.
- Customers would have to use only their smart phone to access their rooms and parking etc.
- The main objective of this project is to utilize the nfc technology for the best use of it.
- Delivering a product that can be extended on a major scale by adding more features.
- To save the time and effort of the hotel staff and guests.
Web Addresses
Documents links
NFC enabled User device
Microcontroller interfaced with NFC Reader
Server/Database
Admin Control Panel
User Classes and Characteristics
There are basically 2 types of users that will be interacting with the system.
The users that are managing the guests’ data would be able to interact with the system easily as it does not require any training or self-learning because most of the functionality is done by the system automatically.
Another type of users that could be any kind of guest will interact with the user-friendly user interface. In which users just have to insert the required data and the processes would be done step by step with guideline.
2.4.1 Hardware Requirement
Serial Number | Description | Alternative(If any) |
1. | 8-bit Arduino UNO (Microcontroller) | Raspberry Pie |
2. | PN532(NFC Reader) | Adafruit PN532 NFC/RFID Controller Shield |
3. | NFC Utility(Android device) | Not applicable |
4. | PC with 40 GB hard-disk and 2GB RAM | Not applicable |
5. | Wired connection over LAN | Wifi Shield for microcontroller |
2.4.2 Software Requirement
Serial Number | Description | Alternative(If any) |
1. | Android OS 4.4.2 or above | Not applicable |
2. | Web Browser chrome | Oper , Firefox |
3. | Server(Node.js) | Not applicable |
4. | Windows XP
7/8 |
Not applicable |
5. | mongoDB | CouchDB |
The Technologies which are used in this project Web design and development (Html,
CSS,JavaScript,jQquery,Bootstrap,), android application develop in (Java and XML). Server side build on (NodeJS, ExpressJS) MongoDB(NoSQL) for database.
For the users help point of you, we will provide video snap to watch and learn about the software.
External Interface Requirements
________________________________
12.3 Project Gantt Chart
_________________________________
Complete View of Gantt chart
Partial View 1 of Gantt chart
Partial View 2 of Gantt chart
Partial View 3 of Gantt chart
Partial View 4 of Gantt chart
Partial View 5 of Gantt chart
________________________________
12.4 Project Mock up Plan
_________________________________
Android Application
Web Application