Teh Keh Boon
Teh Keh Boon
Teh Keh Boon
April 2020
DECLARATION
I hereby declare that this project report is based on my original work except for
citations and quotations which have been duly acknowledged. I also declare that it
has not been previously and concurrently submitted for any other degree or award at
UTAR or other institutions.
Signature :
ID No. : 16UEB01628
Date : 24/04/2020
APPROVAL FOR SUBMISSION
I certify that this project report entitled “DESIGN AND DEVELOP OF A CONDO
PROPERTY MANAGEMENT SYSTEM WITH MOBILE APPLICATION
AND WEB-BASED MANAGEMENT DASHBOARD” was prepared by TEH
KEH BOON has met the required standard for submission in partial fulfilment of the
requirements for the award of Bachelor of Science (Hons) Software Engineering at
Universiti Tunku Abdul Rahman.
Approved by,
Signature :
Date : 24/04/2020
The copyright of this report belongs to the author under the terms of the
copyright Act 1987 as qualified by Intellectual Property Policy of Universiti Tunku
Abdul Rahman. Due acknowledgement shall always be made of the use of any
material contained in, or derived from, this report.
It is a tough job to manage condominium and gate communities. The traditional way
of managing condo property is unable to handle a lot of issues efficiently. Hence, we
should make use of Information and Communication Technology to manage the
condo property more smartly and easily. This will be able to help the management
communicate with tenant easily, while the tenant can report issues, get latest
announcement and pay the bill without going outside. The adopted software
development methodology is rapid application development as the integration can be
built throughout the process. The project will be involved in developing web
application and mobile app for different users. In a nutshell, this project had achieved
the objectives by using the solution proposed.
TABLE OF CONTENTS
DECLARATION ii
APPROVAL FOR SUBMISSION iii
ABSTRACT v
TABLE OF CONTENTS vi
LIST OF TABLES x
LIST OF FIGURES xiv
LIST OF APPENDICES xviii
CHAPTER
1 INTRODUCTION 19
1.1 Introduction 19
1.2 Background 19
1.3 Problem Statement 19
1.3.1 Defective Data 20
1.3.2 Time Consuming 20
1.3.3 High Cost 20
1.4 Project Objectives 20
1.5 Project Solution 21
1.5.1 Laravel 22
1.5.2 MySQL 22
1.5.3 Flutter 22
1.6 Project Approach 23
1.7 Scope of the Project 24
1.7.1 Login 24
1.7.2 Create and delete account 24
1.7.3 Work Order 24
1.7.4 Announcement 24
1.7.5 Bill 24
1.7.6 Facilities 24
2 LITERATURE REVIEW 25
2.1 Introduction 25
2.2 Review on Documentation Management System 25
2.2.1 Traditional Documentation Management System 25
2.2.2 Electronic Documentation Management System 25
2.2.3 Evaluation 26
2.3 Review on Existing System 26
2.3.1 i-Neighbour 26
2.3.2 EcoWorld Community 27
2.3.3 Setia Community 28
2.3.4 Evaluation 29
2.4 Review on Software Development Methodologies 30
2.4.1 Waterfall Methodology 30
2.4.2 Agile 31
2.4.3 Rapid Application Development 33
2.4.4 Evaluation 34
5 DESIGN 48
5.1 Introduction 48
5.2 Software Architecture Design 48
5.3 Database design 49
5.3.1 Entity Relational Diagram (ERD) 49
5.3.2 Data Dictionary 51
5.4 System Design 56
5.4.1 Activity Diagram 56
5.4.2 Data Flow Diagram 70
5.5 User Interface Design 72
5.5.1 Web System 72
5.5.2 Mobile Application 74
6 IMPLEMENTATION 75
6.1 Introduction 75
6.2 Module for Admin 76
6.2.1 Login 76
6.2.2 Tenant Management 76
6.2.3 Announcement Management 78
6.2.4 Work Order Management 79
6.2.5 Bill Management 80
6.2.6 Reservation Management 81
6.3 Module for Tenant 82
6.3.1 Login 82
6.3.2 View Announcement 83
6.3.3 Payment 84
6.3.4 Booking 85
6.3.5 Problem Report 86
6.3.6 Profile Management 87
7 SOFTWARE TESTING 88
7.1 Introduction 88
7.2 Unit Test 88
7.3 Backend Testing (API) 99
7.4 Integration Testing 104
7.5 User Acceptance Test 109
7.5.1 UAT Test Case 109
7.5.2 UAT Test Result 113
7.6 Usability Test 114
7.6.1 Usability Test Form 114
7.6.2 Usability Test Result 116
REFERENCES 120
APPENDICES 122
LIST OF TABLES
Table 7.4: Unit Test Case for Admin (Work Order Management) 91
Table 7.31: Integration Test Case for Admin (Bill Management) 106
Table 7.37: Integration Test Case for Tenant (Problem Report) 108
Table 7.393: Test Case for Web System (Login and Logout) 109
Table 7.40: Test Case for Web System (Tenant and Unit) 109
Table 7.41: Test Case for Web System (Bill) 110
Table 7.42: Test Case for Web System (Work order) 110
Figure 3.3: Gantt Chart For Analysis and Quick Design Stages 37
1 INTRODUCTION
1.1 Introduction
The background of the condo property management system will be introduced in this
chapter, while the problem statement and objectives of the project also are defined.
and defining. Then, the project solution and project approach are proposed to reach
the project’s objective, while the scope of this project can be covered.
1.2 Background
Nowadays, it can be very expensive to live in a single-detached home in Malaysia.
So, many Malaysian are opting for condo units rather than traditional houses.
However, it is a tough job to manage condominium and gate communities.
The manager is needed to follow up on the maintenance problems and keep
up with the paperwork. Besides, the management office will face the foot traffic and
a lot of phone calls for the maintenance requests and facility booking. The
management officers are also unable to send notification and any status instantly to
the tenants and owners.
The traditional way of managing condo property is unable to handle a lot of
issues efficiently. Hence, we should make use of Information and Communication
Technology to manage the condo property more smartly and easily.
1.5.2 MySQL
One of the world’s common relational database management system is MySQL
(Wallen, 2019). It is open-source and used in a wide range of applications and set up
easily in various environments such as Windows, Linux or Unix. MySQL is one of
the most common refreshing dialects for web advancement as it is agreeable to PHP.
1.5.3 Flutter
It is a Google’s open-source framework to build a native mobile application. There
are a lot of languages is needed on different platforms, for instance, Swift for iOS
and Java for Android. However, developers also can use Dart language and Flutter
Framework for rendering cross platform native mobile application.
1.6 Project Approach
Rapid Application Development (RAD) is chosen as the project approach because it
can minimize the planning time and emphasize the prototype iterations. RAD is a
form of Agile project management strategy which common in software development.
(Kelsie, 2017)
Rapid Application Development consists of several stages. First, the requirement for
the project is defined and listed out to avoid miscommunication between the
stakeholders. Then, the prototype is built, demonstrated and refined to ensure the
needed is met. This process will be repeated until they reach a satisfactory and fully
functional product. After the finalized prototype is converted into a working model
and tested, it is ready for deployment.
1.7 Scope of the Project
This project is aiming to implement a web system and a mobile application. The web
application is used by management and admin to manage condo and communicate
with tenants and owners, while the mobile application will allow tenants
to communicate with condo management.
1.7.1 Login
The project can handle the login of the users as there are a lot of tenants in a condo.
The management also need is log in before using the management system.
1.7.4 Announcement
The management team can upload a new announcement. Tenants can view all
announcements from the management team.
1.7.5 Bill
This system can generate an invoice and receipt that allow tenants to view and save.
Besides, tenants and owners also can pay the bill via this system.
1.7.6 Facilities
Tenants can view any available facilities and book it. The admin can view all
facilities is booked by which tenants.
CHAPTER 2
2 LITERATURE REVIEW
2.1 Introduction
The documentation management system, existing system, and software development
methodologies will be discussed by reviewing published information in this chapter.
Before Information Technology came into widespread use, most of the governments
and companies use the traditional way to store and manage the hard copy documents.
This system is simple to implement and use, but it has a lot of defects. It cannot
handle efficiently huge documents, because the system needs more time to search or
redo old files. Besides, it might cause the lost data and unnecessary duplicate copy
of data as everything is processed manually (IncludeHelp, n.t.).
2.3.1 i-Neighbour
2.4.2 Agile
Agile methodology allows developers to develop a system quickly. It also helps the
software team to handle rapidly when the client want to change the requirement.
There are a lot of different methodologies developed by referring to the principle and
concept of Agile.
2.4.2.2 Cons
• The design of the end product may not satisfy customers as this methodology
is focused on coding rather than design.
• It does not measure the quality assurance of coding.
2.4.3 Rapid Application Development
In 1991, James Martin introduced the Rapid Application Development initially,
which can emphasize user to involve in every step of the design process (Shaydulin
and Sybrandt, 2017). According to Geambasu et al. (2011), some project teams
choose RAD as the way to develop a project because it combines the elements from
traditional( such as waterfall) and agile methodology. RAD also can adapt new
requirements when the process is running because RAD is based on prototype
designing before improving the code quality. RAD consists of several stages: gather
requirement, build and refine the prototype, then test the prototype. When the
requirement is met and the client is satisfied, the process will stop repeating and
implement the real product.
2.4.3.1 Pros
• It is adaptable to make changes as the team will validate and improve the
requirements based on user feedback.
• It can control the risk of failure as it ensures to incorporate user feedback in
the early stage.
• It has better integration as the integration will build throughout the process.
2.4.3.2 Cons
• It needs high skill developers as it is a high dependency on modeling skills.
• It cannot be completed without the commitment of developers and client
2.4.4 Evaluation
A comparison matrix can be shown the differences of each methodology based on
the studies and analysis.
Criteria Waterfall Extreme Rapid Application
programming (XP) Development (RAD)
Cost estimation Yes Yes Yes
Well defined Yes Yes Yes
requirement
Requirement No Yes Yes
flexibility
Quick validation No Yes Yes
Elasticity No Medium Yes
Focus on client No Yes Yes
Cost Low High High
Table 2.2: Comparison between software development methodologies
In a nutshell, RAD will be the most suitable approach for the software methodology.
Although the cost of XP and RAD is greater than waterfall, XP and RAD have more
advantages rather than the waterfall. RAD and XP are nearly the same, both of them
allow customers to add or change requirements. However, the design of the final
product in XP may not satisfy the clients as XP are very focus on coding rather than
design. Besides, the management system consists of many components, while RAD
provides a better way for integration.
CHAPTER 3
3.1 Introduction
The chosen methodology will be discussed in detail. Besides, the future work plan of
the project is proposed.
3.2 Methodology
The Rapid Application Development is chosen as the way to develop the project after
comparing 3 types of software development methodologies in section 2.4 (Review on
Software Development Methodologies).
Figure 3.3: Gantt Chart For Analysis and Quick Design Stages
38
The problem statement, objective solution and approach of the project will be
determined in the first stage. Detail understanding and knowledge on a certain topic
area will be obtained by conducting the literature review. Then, software
development methodology should be selected after comparison between different
type of methodology. At the end of this stage, the requirements should be gathered
and defined.
CHAPTER 4
4.2.2 Announcement
The management team will only post the announcement on the board. Although the
board placed in the lifts, the announcement also might be ignored. The tenants also
cannot receive any announcement instantly. This problem can be solved easily when
the tenants can get any announcement via the mobile application.
41
4.2.3 Bill
Instead of paying in cash, tenants can online pay the bill. However, the tenants still
need to go to the management department to show the invoice. There will be a better
experience when tenants can pay the bill via mobile application. The system also will
determine which tenant has paid the payment.
View Announcement
Upload
announcement
Book facilities
View bill
Pay bill
Use case ID 2
Use case Name Create account
Actors Management Team
Description Management team creates account for
new tenant.
Flow of events:
1. Login use case had performed.
2. Management team chooses to create an account.
3. Management team enters the detail for new account.
4. System creates a new account and generate a random password.
5. System displays a message indicating the account is created successfully.
Alternative flow of events:
Use case ID 3
Use case Name Delete account
Actors Management Team
Description Management team deletes account.
Flow of events:
1. Login use case had performed.
2. Management team chooses to view account list.
3. System displays the account list.
4. Management team select an account.
5. Management team clicks the delete button.
6. System deletes the selected account.
7. System displays a message indicating the account is deleted successfully
Alternative flow of events:
43
Use case ID 4
Use case Name Upload announcement
Actors Management Team
Description Management team uploads an
announcement to notice tenants
Flow of events:
1. Login use case had performed.
2. Management team chooses to upload announcement.
3. Management team enters the title and description of the announcement.
4. System uploads the announcement to the database.
5. System displays a message indicating the announcement is uploaded
successfully.
Alternative flow of events:
Use case ID 5
Use case Name View announcement
Actors Tenants
Description Tenants view the announcement from
the management team.
Flow of events:
1. Login use case had performed.
2. Tenants choose to view the announcements.
3. System displays the announcement list.
Alternative flow of events:
4. Tenants click into certain announcement.
5. System displays the detail of the announcement.
Table 4.5: View Announcement Use Case Description
Use case ID 6
Use case Name View Work Order
Actors Tenants and Management Team
Description Tenants and Management team view the
work order.
Flow of events:
1. Login use case had performed.
2. Tenants or Management team choose to view work order.
3. System displays the work order list.
Alternative flow of events:
4. Tenants or Management team click into certain work order.
5. System displays the detail of the work order.
Table 4.6: View Work Order Use Case Description
44
Use case ID 7
Use case Name Request work order
Actors Tenants
Description Tenants request a new work order.
Flow of events:
1. Login use case had performed.
2. Tenants choose to request work order.
3. Tenants enter the title, description and category of the work order.
4. System uploads the work order into the database.
5. System displays a message indicating the work order is uploaded
successfully.
Alternative flow of events:
3.1 Tenants attach some images.
Table 4.7: Request Work Order Use Case Description
Use case ID 8
Use case Name Update work order
Actors Management team
Description Management team updates the progress
of the work order
Flow of events:
1. Login use case had performed.
2. View work order use case had performed
3. Management team click into certain work order.
4. Management team updates the progress of the selected work order.
5. System updates the status of the selected work order.
6. System displays a message indicating the work order is updated
successfully.
Alternative flow of events:
Use case ID 9
Use case Name View Facility list
Actors Tenants and Management Team
Description Tenants and Management team view the
facility list.
Flow of events:
1. Login use case had performed.
2. Tenants or Management team choose to view facility list.
3. System displays the facility list.
Alternative flow of events:
Use case ID 10
Use case Name Book facility
Actors Tenants
Description Tenants book the facility.
Flow of events:
1. Login use case had performed.
2. View facility list use case had performed
3. Tenants click into certain facility,
4. Tenants choose the date and time.
5. Tenants book the facility.
6. System record the reservation into database.
7. System displays a message indicating the facility is booked successfully.
Alternative flow of events:
4.1 The facility is not available in the selected date and time.
4.2 System displays a message indicating the facility is not available.
4.3 User case terminated.
Table 4.10: Book Facility Use Case Description
Use case ID 11
Use case Name View Bill as Tenants
Actors Tenants
Description Tenants view their bill.
Flow of events:
1. Login use case had performed.
2. Tenants choose to view the bill.
3. System displays the tenant’s bill.
Alternative flow of events:
Use case ID 12
Use case Name View Bill as Management team
Actors Management team
Description Management views tenants’ bills.
Flow of events:
1. Login use case had performed.
2. Management team chooses to view account list.
3. System displays the account list.
4. Management team select an account.
5. System displays the detail of account include the bill.
Alternative flow of events:
Use case ID 13
Use case Name Pay bill
Actors Tenants
Description Tenants pay their bill.
Flow of events:
1. Login use case had performed.
2. View bill case had performed.
3. Tenants choose to pay the bill.
4. System will record and update the tenants’ bill
Alternative flow of events:
After interviewing with management team, the functional requirements and non-
functional requirements are determined.
Web Application:
a) The management team shall be able to login before using the web
management system.
b) The management team shall be able to create an account for new tenants.
c) The management team shall be able to delete any account.
d) The management team shall be able to upload announcement to all tenants.
e) The management team shall be able to view all work orders that requested by
owners and tenants.
f) The management team shall be able to update the latest progress of each work
order.
g) The management team shall be able to view all facilities is booked by which
tenants.
48
CHAPTER 5
5 DESIGN
5.1 Introduction
There will be 4 types of design were discussed in this chapter, namely software
architecture design, database design, system design and user interface design.
Table Tenants
Column Description Data Type Key Refer
Table Announcements
Column Description Data Type Key Refer to
Table Buildings
Column Description Data Type Key Refer to
Table Floors
Column Description Data Type Key Refer to
Table Units
Column Description Data Type Key Refer
Table Bills
Column Description Data Type Key Refer
Table Statuses
Column Description Data Type Key Refer to
Id Unique ID of the BigInt Primary -
status
Name Name of the status Varchar - -
Table 5.8: Data Dictionary for Statuses
Table Categories
Column Description Data Type Key Refer to
Id Unique ID of the BigInt Primary -
category
Name Name of the category Varchar - -
Table 5.9:Data Dictionary for Categories
Table Facilities
Table Timeslots
Table Bookings
Column Description Data Type Key Refer
Figure 5.26: Activity diagram for tenant (view detail of problem report)
69
Single Section Design will only implement when the contents of the page are simple,
for an example, the Announcement Page will only display announcement without
any other condition. Besides, all of the create page and login page also use the Single
Section Design
If the contents will be too complex with a lot of options, the page will adopt the
Multiple Section Design. The content list can be filtered by selecting the option in
filter list. Admin can click the selected button to call and display other dialog box to
proceed other actions such as add bill, view information and update progress.
CHAPTER 6
6 IMPLEMENTATION
6.1 Introduction
There are 2 types of users will interact with the system, likely Apartment Admin and
Tenants. Those users have different modules for operating respective features that
provided by this system. The modules for each user will be shown as below:
User Modules
Admin Login
Tenant Management
Announcement Management
Work Order Management
Bill Management
Reservation Management
Tenants Login
View Announcement
Payment
Booking
Problem Report
Profile Management
Table 6.1: Module list for each user
76
The unit list will be displayed after the admin select an building.
Admin also can view the bill record (/history) by clicking the bill record button on
the navigation bar. After selecting a unit, the unit’s bill record will be displayed.
6.3.3 Payment
The app will only display the unpaid bill in bill page. After clicking any bill, it will
pop up a third party payment gateway. If payment success, the payment will be
recorded in system, else app will display an error message.
6.3.4 Booking
Tenant can view the reservation order in the reservation page, but it will not show the
past reservation order. Tenant also can book new reservation by submitting the date,
facility and timeslot. After select date and facility, the available timeslot will be
shown by clicking the check timeslot button.
CHAPTER 7
7 SOFTWARE TESTING
7.1 Introduction
After design and implement the system, the project’s system is needed to conduct the
software testing in order to ensure the quality of system and the scope of system. In
this chapter, there are 3 type of testing are involved, such as unit test, user acceptance
test and usability test.
Fill in the
information
Click create button
Table 7.3: Unit Test Case for Admin (Announcement Management)
View the detail of View work order list Pop up the detail of (pass)
work order Click view button work order.
View the detail of View work order list The selected work order (pass)
work order Click view button is updated successful.
Change the status and
fill comment
Click update button
Delete work order View work order list Everything remains the (pass)
without Click delete button same.
confirmation Click cancel button
Delete work order View work order list The selected work order (pass)
Table 7.4: Unit Test Case for Admin (Work Order Management)
92
Create new Tap the floating add The problem report is (pass)
problem report button created successful
Enter the title,
description and upload
an image.
Click submit button
97
Scenario 1. You would like view who booked the tennis table.
Example:
a. Date: 23/4/2020
b. Facility: Tennis Table 1
Result
Comment (if
any)
Table 7.44: Test Case for Web System (Booking)
Result
Comment (if
any)
Table 7.47: Test Case for mobile application (Bill)
Scenario 1. You would like to view the reservation that you had
requested.
2. You would like to make new reservation.
Result
Comment (if
any)
Table 7.48: Test Case for mobile application (Reservation)
7.6.2.3 Overall
Both of web system and mobile application get a very good score in the sus.
According to the result, the grade of web system is B while the grade of mobile
application is A. The referenced standard grade of sus will be shown as figure below:
CHAPTER 8
8.1 Conclusions
This project is proposed due the traditional way of managing condo property are not
effective. In order to solve the problem by using the Information Technology, this
project has been started more than half year, from planning to software testing.
There are two adopted frameworks in this project, which is Laravel and
Flutter. By using the Laravel, the backend of system and API are able to develop and
write in PHP Language rapidly. On the other hand, the bootstrap library and Flutter
are used in developing the front end of web system and mobile app respectively.
After conducting a series of software testing, it can ensure that the system can
help condo management team to maintain condo and communicate with the tenants
in more convenient way. The tenant also can get the latest information, book a
reservation, report problem and pay the bill via the mobile application.
All of the maintenance problem can be upload via the mobile application, while
the web system can update the progress. Both platforms are able to view the
maintenance problems anytime. Besides, the web system can assist management
team to add new bill, the mobile application allows the tenant to pay the bill. In the
mobile application, user also can view the announcement or other new notification.
In conclusion, the web system and mobile application also are delivered at the
end phase of the SDLC. The project also achieves all of the objective of the project:
• To provide an efficient solution to follow up on the progress of the
maintenance problem without any paperwork.
119
.
8.2 Recommendations for future work
Although the project is fulfilled all the requirements and get a lot of positive
feedback from the end user, the system still a lot of room for improvement. There are
some suggestion can be considers as future enhancement to improve the quality of
the web system and mobile application:
- Implement push notification system with real-time database.
- Implement visitor management feature.
- Implement document system to generate e-bill statement.
- Implement more interactive animation in the mobile app.
- Allow tenant to upload more image for a work order.
120
REFERENCES
Anderson, K., 2017. What is Rapid Application Development and When Should You
Use It? Capterra blog, [blog] 4 October 2017. Available at:
<https://blog.capterra.com/ what-is-rapid-application-development/> [Accessed on
30 June 2019].
Geambasu, C. V., Jianu, I., Jianu, I., Gavrila, A., 2011. INFLUENCE FACTORS
FOR THE CHOICE OF A SOFTWARE DEVELOPMENT METHODOLOGY. The
Bucharest Academy of Economic Studies, Romania. Accounting and Management
Information Systems, 10(4), pp.479–494.
IncludeHelp (n.t.). Difference between DBMS and Traditional File System. [online]
Includehelp.com. Available at: <https://www.includehelp.com/dbms/dbms-vs-
traditional-file-system.aspx/> [Accessed 26 Jul. 2019].
Johnston, G.P. and Bowen, D. V., 2005. The benefits of electronic records
management systems: A general review of published and some unpublished cases.
Records Management Journal, 15(3), pp.131–140.
Lotz, M. (2018). Waterfall vs. Agile: Which Methodology is Right for Your Project?.
[online] Segue Technologies. Available at: https://www.seguetech.com/waterfall-vs-
agile-methodology/ [Accessed 28 Jul. 2019].
Otwell, T., 2019. Introduction - Laravel - The PHP Framework For Web Artisans.
[online] Available at <https://laravel.com/docs/4.2/introduction> [Accessed on 12
July 2019]
Soni, D. and Kohli, P.J., 2017. Cost Estimation Model for Web Applications using
Agile Software Development Methodology. Pertanika Journal of Science and
Technology, 25(3), pp.931–938.
Wallen, J., 2019. What is MySQL. Lifewire, [online] 19 March 2019. Available at:
<https://www.lifewire.com/what-is-mysql-4582965> [Accessed on 14 July 2019]
Zhang, B., Cohen, J., Ferrence, R., &Rehm, J. (2006). The impact of tobacco tax cuts
on smoking initiation among Canadian young adults. American Journal of Preventive
Medicine, 30, 474-479.
122
APPENDICES
Interview Form
1. Can tenant request any work order without being in the office?
The tenants will be added in a WhatsApp group. So, they can ask the
management team to fix or solute problem via Whatsapp.
We will post the announcement letter on all the board in the condo. However, the
announcement is too easy to be ignored by the tenants.
No, although they can online banking transfer to our management team bank
account, they still need to come to office to show the invoice
123