SUPERVISOR’S DECLARATION
I hereby declare that I have read this thesis and in my opinion, this thesis is adequate in terms of scope and quality for the award of the degree of Bachelor of Computer Science (Software Engineering) with Honours.
_______________________________ (Supervisor’s Signature)
Full Name : DR. ZAFRIL RIZAL BIN M AZMI Position : SENIOR LECTURER
STUDENT’S DECLARATION
I hereby declare that the work in this thesis entitled “INTEGRATED LAB DOOR ACCESS CONTROL” is based on my original work except for quotations and citations which have been duly acknowledged. I also declare that it has not been previously or concurrently submitted for any other degree at Universiti Malaysia Pahang or any other institutions.
_______________________________ (Student’s Signature)
Full Name : CHENG WEI QUAN ID Number : CB15137
INTEGRATED LAB DOOR ACCESS CONTROL (iLDAC)
CHENG WEI QUAN
Thesis submitted in fulfillment of the requirements for the award of the degree of
Bachelor of Computer Science (Software Engineering / Computer Systems & Networking / Graphics & Multimedia Technology)
Faculty of Computer Systems & Software Engineering UNIVERSITI MALAYSIA PAHANG
ACKNOWLEDGEMENTS
First of all, I would like to thank to the Universiti Malaysia Pahang for giving me a chance to continue my study. Next, I want to thank all the lecturer who teaching me the useful knowledge in my life. I would also like to express my sincere gratitude to my supervisor, Dr. Zafril Rizal Bin M Azmi for his guidance throughout the development of my final year project entitled “Integrated Lab Door Access Control”.
Furthermore, I would like to thank to my academic advisor, Dr. Rohani Binti Abu Bakar for sharing her expertise, encouragement and advice to me throughout my study in UMP. Next, I would like to thank to my friends and course mates, who had always share me their knowledge and help me to break through difficulties.
Last but not least, I would like to extend my gratefulness to my parents who have always support me since I was born. Without their continuous encouragement and financial support, I could not be complete my final year project smoothly.
ABSTRAK
Sistem Kawalan Akses Pintu Lab Bersepadu adalah aplikasi mudah alih yang disepadukan dengan teknologi RFID. Sistem ini dibangunkan untuk mengelakkan masalah tiada rekod untuk masuk / keluar pengguna dari makmal, pengguna lupa membawa kad akses, memudahkan pengguna menyerahkan borang permintaan untuk menggunakan makmal, dan mengurangkan penggunaan masa pada kunci pintu secara manual . Objektif projek ini adalah untuk mengkaji pelaksanaan teknologi RFID dalam aplikasi mudah alih iLDAC. Selain itu, projek ini adalah untuk membangunkan aplikasi mudah alih yang bersepadu dengan teknologi RFID untuk memperbaiki sistem yang sedia ada. Objektif terakhir projek ini adalah untuk menguji fungsi dan keberkesanan teknologi RFID dalam aplikasi mudah alih iLDAC. Sistem ini tersedia untuk Android, iOS, dan Windows. Walau bagaimanapun, terdapat beberapa kekangan apabila menggunakan sistem pada Windows. Sistem ini mempunyai 4 jenis pengguna, iaitu pembantu makmal, pelajar, pensyarah, dan admin. Teknologi yang digunakan dalam projek ini termasuk Rangka Kerja Ionic, TypeScript, CSS, HTML5, dan Arduino. Metodologi yang digunakan dalam projek ini adalah Pembangunan Agile. Hal ini kerana metodologi ini membolehkan perubahan dan peningkatan dapat dibuat walaupun terlambat dalam kitaran pembangunan. Sistem Kawalan Akses Pintu Lab Bersepadu mempunyai beberapa fungsi iaitu melihat laporan, menghasilkan laporan, mengemukakan borang permintaan, menguruskan permintaan, mengunci pintu, membuka pintu menggunakan aplikasi, dan memberitahu pengguna untuk meninggalkan makmal. Sistem ini telah diuji oleh klien menggunakan Ujian Penerimaan Pengguna (UAT). Hasil yang diuji menunjukkan bahawa sistem berfungsi dengan baik, bebas bug, dan memenuhi keperluan pengguna seperti dinyatakan dalam Spesifikasi Keperluan Perisian.
ABSTRACT
Integrated Lab Door Access Control system is a mobile application that integrated with RFID technology. The system is developed to prevent the problem of no record for check-in/out of users from lab, users forgot to bring access card, ease the users to submit request form to use lab, and reduce the time consuming on manually lock the door. The objectives of this project is to study the implementation of RFID technology in iLDAC mobile application. Besides, this project is to develop a mobile application that integrated with RFID technology in order to improve the existing system. The last objective of this project is to test the functionality and effectiveness of RFID technology in iLDAC mobile application. The system is available for Android, iOS, and Windows. However, there are some constraints when use the system on Windows. The system has 4 type of users, which are lab assistant, student, lecturer, and admin. The technology that applied in this project include Ionic Framework, TypeScript, CSS, HTML5, and Arduino. The methodology that applied in this project is Agile Software Development. This is because this methodology allow the developers to make changes and improvement even though it is late in the development cycle. This help to increase the client satisfaction since meeting with client can be done frequently. Integrated Lab Door Access Control system have several functions which are view report, generate report, submit request form, manage request, lock the door, open the door using application, and notify the users to leave the lab. This system has been tested by client using User Acceptance Test (UAT). The tested result shows that the system is working well, bug free, and meet the user requirements as stated in Software Requirement Specification.
TABLE OF CONTENT DECLARATION TITLE PAGE ACKNOWLEDGEMENTS iii ABSTRAK iv ABSTRACT v TABLE OF CONTENT vi LIST OF TABLES x LIST OF FIGURES xi
LIST OF ABBREVIATIONS xiii
CHAPTER 1 INTRODUCTION 1 1.1 BACKGROUND 1 1.2 PROBLEM STATEMENT 2 1.3 OBJECTIVE 3 1.4 SCOPE 4 1.5 SIGNIFICANCE 4 1.6 THESIS ORGANIZATION 5
CHAPTER 2 LITERATURE REVIEW 6
2.1 INTRODUCTION 6
2.2 REVIEW ON OPEN SOURCE BOARD 6
2.2.1 Arduino 6
2.2.3 BeagleBoard 8 2.2.4 Comparison between Open Source Boards 8
2.3 TECHNOLOGIES USED 9
2.3.1 Radio-Frequency Identification (RFID) 9 2.3.2 Near Field Communication (NFC) 10 2.3.3 Bluetooth Low Energy Beacons 10
2.4 REVIEW ON MOBILE APPLICATIONS 11
2.4.1 Hybrid Apps 12 2.4.2 Native Apps 13
2.4.3 Web Apps 13
2.5 COMPARISON OF MOBILE APP FRAMEWORK 14 2.5.1 Ionic Framework 14
2.5.2 Xamarin 15
2.5.3 React Native 15
2.6 REVIEW ON EXISTING SYSTEM 16
2.6.1 Nitgen Fingkey Access 16 2.6.2 Zicom Proximity Access Control System 17 2.6.3 MiLocks Keyless Entry Door Lock 18 2.6.4 Comparison On Existing System 19
CHAPTER 3 METHODOLOGY 20
3.1 INTRODUCTION 20
3.2 METHODOLOGY 20
3.2.1 Agile Software Development Methodology 20 3.2.2 Agile Software Development Phases 21
3.3.1 Hardware Requirement 26
3.3.2 Software Requirement 27
3.4 GANTT CHART 27 3.5 GENERAL ARCHITECTURE AND PACKAGE MODULE 27 3.5.1 General Architecture 27
3.5.2 Package module 28
CHAPTER 4 RESULTS AND DISCUSSION 29 4.1 Introduction 29 4.2 Implementation Process 29 4.2.1 Normal Users 29
4.2.2 Admin 35
4.2.3 Lecturer and Student 40
4.2.4 Lab Assistant 48
4.2.5 Hardware Setup 55
4.2.6 Database (Firebase) 57
4.3 Testing and Result Discussion 58 4.3.1 Summary of Testing Result 58
CHAPTER 5 CONCLUSION 60
5.1 Introduction 60
5.2 Project Constraints 60
5.3 Future Work 61
REFERENCES 62
APPENDIX B SOFTWARE REQUIREMENT SPECIFICATION (SRS) 65
APPENDIX C SOFTWARE DESIGN DOCUMENTATION (SDD) 99
LIST OF TABLES
Table 1.1 Problem statement in project 2
Table 1.2 Scope in project 4
Table 2.1 Comparison between open source boards 8 Table 2.2 Comparison between RFID, NFC, and Beacons 11 Table 2.3 Comparison between native apps, web apps, and hybrid apps. 13 Table 2.4 Comparison between 3 different types of mobile frameworks 16 Table 2.5 Comparison between existing systems with proposed system 19
Table 3.1 Hardware Requirement 26
Table 3.2 Software Requirement 27
LIST OF FIGURES
Figure 2.1 Nitgen Fingkey Access 17
Figure 2.2 Zicom Proximity Access Control System 18 Figure 2.3 MiLocks Keyless Entry Door Lock 18 Figure 3.1 Basic principles of Agile methodology 21 Figure 3.2 Phases in Agile SDLC (FORSYTH, 2013) 22
Figure 3.3 Use case of iLDAC 23
Figure 3.4 Context diagram of iLDAC 24 Figure 3.5 Architecture of system 28
Figure 4.1 Login Page of iLDAC 30
Figure 4.2 Warning message for authentication process 30 Figure 4.3 Code of authentication process (home.ts) 31 Figure 4.4 Code of authentication process (auth.service.ts) 31 Figure 4.5 Code of differentiate the pages shown to users (menu.ts) 32
Figure 4.6 Sign Up Page 33
Figure 4.7 Warning message about the Sign Up restrictions 33 Figure 4.8 Alert Message for invalid User ID and different password inserted 34 Figure 4.9 Code of Sign Up process (signup.ts) 34 Figure 4.10 Code of Sign Up process (auth.service.ts) 34 Figure 4.11 Full user information and filtered user information 35 Figure 4.12 Code of updateFilter Function (adminmain.ts) 36 Figure 4.13 User Interface of Add New User 36 Figure 4.14 Alert Message for duplicate User ID 37 Figure 4.15 Code of Add New User (addnewuser.ts) 38 Figure 4.16 Options appeared when click on the row 39 Figure 4.17 Code of show action sheet when click on the row (adminmain.ts) 39
Figure 4.18 Update User Page 40
Figure 4.19 Open Door function 41
Figure 4.20 Random code being send to users through email 42 Figure 4.21 Code of email code function (opendoor.ts) 42 Figure 4.22 Alert message for generated code expired 43 Figure 4.23 Toast message appeared when door is opened 44 Figure 4.24 Toast message appeared when press the exclamation mark 45 Figure 4.25 Action sheet appeared for user to select image source 45
Figure 4.26 Code of takePicture function (requestlab.ts) 46 Figure 4.27 Profile page and change password page of users 47 Figure 4.28 Code of change password (changepassword.ts) 47 Figure 4.29 “Success” notification received from lab assistant LA001 48 Figure 4.30 Code of showDetails function (notification.ts) 48 Figure 4.31 User interface of manage request 49 Figure 4.32 Code of approve the request form (managerequest.ts) 50 Figure 4.33 Code of reject the request form (managerequest.ts) 50 Figure 4.34 Lab users in the lab at the moment 51 Figure 4.35 Code of notify users (managelab.ts) 52 Figure 4.36 Code of lock/unlock lab (managelab.ts) 52 Figure 4.37 Report of check-in/out from labs 53 Figure 4.38 Success alert message pop out to lab assistant 54 Figure 4.39 Code of generate and export report 1 (report.ts) 54 Figure 4.40 Code of generate and export report 2 (report.ts) 55
Figure 4.41 Hardware Setup 56
Figure 4.42 Result of access door successfully 56 Figure 4.43 Result of failed to access door 57
Figure 4.44 Overview of database 57
LIST OF ABBREVIATIONS
SDLC Software Development Life Cycle RFID Radio-Frequency Identification NFC Near Field Communication BLE Bluetooth Low Energy
SASS Syntactically Awesome Style Sheets SRS Software Requirement Specification SDD
UMP UAT
Software Design Document Universiti Malaysia Pahang User Acceptance Test
CHAPTER 1
INTRODUCTION
1.1 BACKGROUND
A laboratory is a facility that carry out scientific experimentation, observation, practice in a field of study, or research in a controlled condition. There are many kinds of costly apparatus, machines, equipment, chemicals, and materials in those labs. Besides, some of the materials and chemicals is very dangerous and may cause health problem to the human. Laboratory work is all about Research & Development (R&D), and it play an important role in take our nation to a new heights instead of lagging behind other countries. There are various security threats that faced by mostly laboratories included physical attack, theft of intellectual property, and unauthorized disclosure of sensitive information. To counter the threats faced, a high reliability access control system is needed to control the accessibility in order to secure the laboratory.
There are two main type of access control system – biometric based and physical based in which biometric based identify users through fingerprint, face recognition, and other individuals characteristics where physical based identify users by ID card or enter password. There are many existing physical access control system, for example smart card access system, key fob access system swipe card access system, keypad access system, mobile access system, etc. The main reasons of apply all of these system is to prevent the unauthorized entry of persons and removal of laboratory assets.
iLDAC is a mobile application that integrate with RFID technology to control the accessibility in/out from the laboratory no matter it is computer lab or chemical lab. A Radio-Frequency Identification (RFID) system is made up of two parts, which are a tag/card and a reader. With the RFID system, lab users can unlock the door easier instead of using traditional method which consume times to find the key. Besides that, sanitation
is an important issue for all the chemical lab since an experiment result may be altered by unexpected matter. Since iLDAC enable only authorised persons to enter the labs, as a result, there is no risk of contamination from outsiders to enter chemical labs. This is also very helpful to protect the assets of laboratory since the price of some material, apparatus, computer and machine is extremely high. Besides, the lab assistant can also review the record of that person’s having check in/out from the laboratory, and check whoever is inside the labs on time. Lab assistant can check the door status whether door is locked or unlocked through iLDAC application and lock the door when it is needed.
1.2 PROBLEM STATEMENT
There are few problem statement in this project and will be listed in the Table 1.1. Table 1.1 Problem statement in project
Problem Description Effect
Door is forgotten to be locked.
Sometimes, the lab assistant or student forgot to lock the labs door after they leave from there.
Unauthorised person may enter the lab. High value equipment,
apparatus and material in lab being stolen. Forgot to bring card There are sometimes users
forgot to bring their access card to access the door.
Users unable to enter the lab.
No record of users who access the laboratory.
The users does not fill in the check-in/out form prepared in the lab.
No record to be reviewed when high value equipment, apparatus, and material being stolen.
It is inconvenience for users to submit request form to faculty.
Users want to use lab during night time to do their tasks. Lab is often locked after working hours, student and lecturer unable to access it during night time.
Task cannot be completed before the due date.
1.3 OBJECTIVE
The goal of this project is to develop an android mobile application that integrated with access control system to improve the security level of lab with the following objectives:
i. To study the implementation of RFID technology in iLDAC mobile application. ii. To develop a mobile application that integrated with RFID technology in order to improve the existing system.
iii. To test the functionality and effectiveness of RFID technology in iLDAC mobile application.
REFERENCES
(21 11, 2017). Retrieved from altexsoft: https://www.altexsoft.com/blog/mobile/pros-and-cons-of-xamarin-vs-native/
Advantages of RFID | Disadvantages of RFID. (2012). Retrieved from RF Wireless World:
http://www.rfwireless-world.com/Terminology/Advantages-and-Disadvantages-of-RFID.html
AltexSoft. (19 2, 2018). Retrieved from altexsoft:
https://www.altexsoft.com/blog/engineering/xamarin-vs-react-native-vs-ionic-cross-platform-mobile-frameworks-comparison/
Blaz. (13 3, 2015). Indoor Positioning, Tracking and Indoor Navigation with Beacons. Retrieved from locatify: https://locatify.com/blog/indoor-positioning-systems-ble-beacons/
Boriev, Z. V., Sokolov, S., & Nyrkov, A. (2015). Review of modern biometric user authentication and their development prospects. IOP Conference Series: Materials Science and Engineering.
CASTLE, A. (4 12, 2013). Everything You Need to Know about The Beaglebone Black. Retrieved from Tested: http://www.tested.com/art/makers/459278-everything-you-need-know-about-beaglebone-black/
Chou, J. (15 6, 2016). Retrieved from konkakt: https://kontakt.io/blog/extensive-guide-to-bluetooth-beacons/
DiCola, T. (6 5, 2014). Embedded Linux Board Comparison. Retrieved from adafruit: https://learn.adafruit.com/embedded-linux-board-comparison/overview
Duroc, Y., & Tedjini, S. (2018). RFID: A key technology for Humanity. Comptes Rendus Physique, 64-71.
Farrell, A. (2007). Selecting a Software Development Methodology based on Organizational Characteristics.
FingerTec. (19 10, 2017). Retrieved from FingerTec: http://www.fingertectips.com/2017/10/nfc-vs-beacon-which-is-right-for-you.html
FORSYTH, A. (Feb, 2013). My Global IT. Retrieved from
http://www.myglobalit.com/blog/waterfall-vs-agile-models-software-development
George, N. (28 8, 2017). Strengths and Weaknesses of Hybrid Mobile Applications. Retrieved from projectmates: https://www.projectmates.com/blog/blog-2017-strengths-and-weaknesses-of-hybrid-mobile-apps.aspx
Gupta, A., & Gaffar H., A. (2016). Hybrid Application Development using Ionic Framework & AngularJS. International Journal of Innovative Research in Computer Science & Technology
(IJIRCST).
Jobe, W. (2013). Native Apps vs. Mobile Web Apps.
Jobe, W. (2013). Native Apps vs. Mobile Web Apps . International Journal of Interactive Mobile
Technologies.
Meike, R. (24 10, 2012). Raspberry Pi vs. Arduino Vs. BeagleBone – What’s The Difference? Retrieved from Makezine: https://makezine.com/2013/04/15/arduino-uno-vs-beaglebone-vs-raspberry-pi/
Osetskyi, V. (2017). SDLC Models Explained: Agile, Waterfall, V-Shaped, Iterative, Spiral.
Pandit, V., & Lao, T. (2015). Applying Agile Software Principles to the Medical Device Life Cycle.
redhat. (n.d.). Retrieved from opensource.com: https://opensource.com/resources/raspberry-pi
Rouse, M. (4, 2017). IoTAgenda. Retrieved from TechTarget:
https://internetofthingsagenda.techtarget.com/definition/RFID-radio-frequency-identification
Utsav Jambusariaa, N. K. (2015). Secure Smartphone Unlocking using NFC. Procedia Computer