Final
Final
Acknowledgement
To begin, I want to express my gratitude to my supervisors, Mr. Ujwal Subedi Sir and Mr.
Lekhnath Katuwal Sir, for their encouragement and motivation in helping me finish the final
report and develop the app. Without their assistance and mentoring, I would not have been able
to complete this report. I'm also grateful to my supervisors for giving me complete freedom to
pursue my research interests and for their unwavering time and support. I was able to research
and write this report much better than expected thanks to consultations and discussions with
supervisors. They also assisted me in gaining a broader perspective. I thank them for giving all
the essential assets for keeping the development of the work smooth. I would also like to thank
Islington College for all the valuable assets and consistent support.
Abstract
This report provides an update on the progress of the final year project, the Room Finder App,
which is based on a mobile app. This is a flutter-based mobile application that allows users to
find the best room for their needs. This app will include features such as pre-room booking,
direct contact between landlord and tenants, and pre-notification of empty rooms so that people
can find a room as soon as possible. It is compatible with all Android devices and will also assist
users by indicating the location of the nearest available room.
This app is simply a method of detecting a rental property or a tenant. The service is available to
both the tenant and the landlord. With the help of this app, users will be able to find all available
rooms to rent with just one click, making it easier for consumers to find rental spaces and
landlords to find the right tenants in the shortest amount of time
Contents
CHAPTER 1: INTRODUCTION
.......................................................................................................................11
Due to busy work schedules, most Kathmandu residents have limited time to search for suitable
rental properties. As a result, finding an available property quickly that meets their needs is a
significant challenge. Many vacant properties in the city go unnoticed because few people have
the time or resources to search door-to-door. Additionally, landlords may experience financial
losses during the time it takes to find a tenant, particularly if it takes several months.
This application is solely intended to serve as a resource for tenants seeking rental
homes, and it is open to both tenants and landlords. One of the most significant advantages of
using this application is the time saved, which is beneficial for both parties. The app facilitates
communication between landlords and tenants, providing a solution to the issue at hand.
The application is particularly beneficial for students in Kathmandu, as they make up a
significant proportion of the tenant population. With the help of this app, students will no longer
have to spend time searching for accommodations, streamlining the rental property search
process for them.
1.5 Aim and Objectives
1.5.1 Aim
The primary objective of this project is to create a reliable and user-friendly Android application
that will assist customers in finding affordable rental accommodations that meet their specific
requirements.
1.5.2 Objective
The objectives of this project can be summarized as follows:
1. To improve the process of searching for rental accommodations so that users can find
available rooms quickly and easily.
2. To assist users in finding the rental property that best meets their needs and preferences.
3. To provide landlords with an efficient platform for finding suitable tenants and filling
vacant rental properties
1.6 Structure of the Report
1.6.1 Background
The background section of the report provides details about the target audience for the project,
including any relevant technical terminology associated with the project and the proposed
solution.
1.6.2 Development
This chapter delves into the various stages involved in the development of the project. It includes
an overview of the different methodologies that were considered, the selection process for the
chosen methodology, an analysis of the selected methodology, requirements analysis, design, and
development implementation. Additionally, the chapter provides a detailed examination of the
results from pre- and post-project surveys.
1.6.3 Testing and Analysis
The Testing and Analysis phase encompasses the test strategies and test cases that were
employed during the project. Two types of testing scenarios, namely unit tests and machine tests,
were utilized. Additionally, the chapter provides an in-depth analysis of critical aspects of the
project.
1.6.4 Conclusion
This chapter contains information pertaining to the assumptions made in the report, an analysis
of the implications of the project, and suggestions for potential future improvements.
CHAPTER 2: BACKGROUND
Node.js is a server-side open source framework that allows JavaScript code execution. It is
commonly used for real-time applications such as chat, news feeds, and web push notifications
due to its ability to maintain a constant connection from the browser to the server. Node.js
operates asynchronously and is event-driven, processing incoming requests in a continuous event
stack and sending small requests one after the other without waiting for responses. MongoDB is
an open-source document database with a flexible schema that utilizes a horizontal scale-out
design. Unlike traditional relational databases, MongoDB stores data in collections and
documents, which are made up of key-value pairs. This NoSQL database is capable of handling
large volumes of data and has a sizable global development community.
Flutter is a lightweight and speedy framework created using the Dart programming language.
Unlike other frameworks, Flutter generates the user interface directly in the canvas of the
operating system instead of utilizing a native framework (2022,TutorialsPoint).
Flutter is a cross-platform app development framework that allows developers to create apps for
both iOS and Android platforms. Using Flutter, you have created a room locator application that
caters to two different types of users: tenants and landlords. Some of the key features of this
mobile application are as follows:
2.3.1 Tenants
• Tenant registration feature is available.
• Login and password reset feature is provided for tenants.
• Tenants can view the location of available rooms and contact landlords directly via
contact numbers.
2.3.2 Landlord
• Landlords can register for the system.
• Landlords can log in to the system and reset their password if needed.
• Landlords can add photos of their rooms.
• Landlords must add details about their rooms, such as the price, location, and contact
information.
Gharbheti Ba is an Android application that serves as a platform for tenants and landlords to find
rental spaces and renters. Landlords can effortlessly add their properties or rooms, while
customers can use the app to browse for available rental spaces. The app enables landlords to
find suitable renters for their properties.
The Room Finder is an Android application that connects tenants and landlords looking for
rental spaces. Users can easily add their properties or rooms and search for the best matches.
This platform helps tenants find the perfect rental space and landlords find the most suitable
tenants quickly and efficiently.
2.5 Comparisons
Room Finder Nepal is an application designed to assist individuals in finding rental properties or
renters, with the service being accessible to both tenants and landlords. This app is primarily
intended for valley residents and can be utilized for various purposes such as renting a room for
living or official purposes, as well as renting out a property. By utilizing this application, users
can easily find available rooms to rent with just one click, saving time for both landlords and
renters.
The app includes a search bar feature that enables users to filter search results by location, and
an advanced booking system that allows users to make advance or full payments for bookings.
The main goal of this application is to provide a solution to the problem of finding a rental
property or renter, and to save time for all parties involved. Landlords can benefit from a
consistent source of income, while tenants can find suitable rental spaces in the shortest amount
of time possible.
CHAPTER 3: DEVELOPMENT
• The first phase is Inception, where the project is defined, and the initial scope and
feasibility are determined.
• The second phase is Elaboration, where research, analysis, and design are conducted to
determine the project's specific requirements and scope.
• The third phase is Construction, where the actual development and implementation of the
software takes place.
• The final phase is Transition, where the software is deployed, tested, and delivered to the
end-users.
The Rational Unified Process (RUP) consists of four major phases with specific objectives to be
achieved in each phase. They are:
Inception Phase: During this phase, the project requirements and goals are gathered, and a
project plan is created. The plan includes features, risk assessment, resource scheduling, cost and
time estimation, and the creation of a prototype.
Elaboration Phase: This phase is focused on analyzing the problem, researching system features,
and evaluating similar systems. The system architecture is designed and the project plan is
refined based on the research findings.
Construction Phase: In this phase, the system is developed using Node.js as a backend and
Flutter for the frontend. The project plan is optimized with the acquired resources, and testing
and prototyping are also carried out.
Transition Phase: In the final phase, beta testing is performed, user feedback is collected, and the
system documentation is improved. Any necessary improvements to the system are made based
on the feedback received.
Ensuring customer satisfaction is crucial in the development of any system. Meeting the user's
functional and non-functional requirements, as well as creating good resources for the customer,
are key factors in achieving this. In order to gather information about the system's potential
benefits, drawbacks, and future add-ons, a post-survey was conducted. The survey was
distributed among IT students and the general public. The project team will rely heavily on
community feedback and surveys for all future work.
Figure 9: Post-survey (i)
To achieve a shared understanding of the final product's vision with customers, businesses must
engage in a challenging task. This involves a collaborative effort among key stakeholders,
software developers, end-users, and customer managers to perform a business requirements
analysis. The goal of this analysis is to determine what the product should accomplish, establish
expectations, resolve conflicts, and document all key requirements. This process is carried out at
the beginning of a project to ensure that the final product meets all specifications (simplilearn,
2022).
3.5.1 Planning
The planning phase is a critical organizational process where project priorities are determined,
and a comprehensive proposal is developed. The following are the main tasks involved in the
planning process:
3.5.1.1. Identification of Interfaces and Constraints
1. The system requires a significant amount of carefully curated training data.
2. Administrator privileges are necessary for users to utilize the system.
3. Manual configuration is needed for IP addresses, protocols, email addresses, and
passwords.
4. Ethical and legal considerations must be taken into account.
3.5.1.2 Review of Project Scope
1. The aim of this project is to enhance the room search process to facilitate faster and more
efficient room finding for the user.
2. Timeframe and user validation of the system are the key constraints affecting the project.
3. The RUP methodology is being utilized for this project.
3.5.1.3 Planning the Execution of the Process
1. To create an effective collection tool in this process, the primary requirements include an
online mass survey and supervisor feedback.
2. Beta users' feedback, gathered through post-survey analysis, is an essential part of this
process. It helps to identify potential benefits and drawbacks of the system, as well as
possible add-ons.
3.5.2.2 Purpose
The purpose of creating a System Requirements Specification (SRS) document is to provide
detailed information about the various functionalities of Nep Room's system that are necessary
for the proper functioning of its features, and to ensure that they meet the needs and expectations
of its end-users.
Figure 20:
Individual Use case for payment
7. Admin feature individual Use case diagram
Figure 21: Individual Use case for Admin Features
This diagram illustrates the Login activity flow. Initially, the user inputs their credentials into the
Login user interface (UI). The Login UI then interacts with the backend functionality to
authenticate the user's details and validate them. Based on the validation results, the backend
returns a response to the Login UI. The flow of events is depicted using lifelines, which are
shown as vertical lines originating from the user and the backend elements.
This sequence diagram illustrates the flow of the Register User activity. Initially, the user inputs
their information in the Register UI, which then communicates with the backend functionality to
validate the data. Based on the validation results, a response is returned. The lifeline is
represented by the vertical column underneath the user and each element involved in the process.
This diagram illustrates the sequence of the room booking activity. When the user clicks on the
"Book" option on the room details page, the Room Details UI communicates with the backend
functionality to validate the booking request. Based on the validation results, a response is
generated and returned. The lifeline is represented by the vertical column under the user and the
respective system elements involved in the process.
This diagram depicts the flow of the Change Password activity. The user first navigates to the
Change Password UI and inputs the old and new passwords. The Change Password UI then
communicates with the backend functionality, checks the validation, and returns a response
based on the results. The lifeline is determined by the column below the user and element.
• Objects: Represented by rectangular boxes with the name of the object written inside.
Objects are named according to the naming convention of the class they belong to.
• Actors: Represented by human figures and are included in the diagram to show the
involvement of external entities in the system. Actors have a name and role in the
diagram.
• Links: The solid line that connects two elements is known as the link. Links indicate
where messages can be sent.
3.7 Implementation
3.7.1 Get Rooms Details
Resources Description
Server Need a database server which is installed with mongo dB server
Android Mobile At least one android phone or android e
mulator which has higher version than oreo
Resources Description
Server Need a database server which is installed with mongo dB server
Android Mobile At least one android phone which has higher version than oreo
message is displayed
for only the empty
field
3 User cannot register User cannot register Pass
User inputs password less with password less than and pop is shown to
than 6 characters and 6 characters warn the user
doesn’t contain a special
character
4 User input the same email User cannot register Pass
and tries to register with same email User cannot register
with the same email.
Duplicate email
cannot be entered
Logging In User:
Pre-Case: User must have registered an account
S.N Test Case Expected Result Actual Result Status
1 User is able to login Pass
User login with the valid User must be allowed
email and password to login
2 Invalid email or password is Pass
provided User cannot login with User is not able to
invalid user email or login with invalid
password email and password.
3 User login with empty fields Pass
User cannot login and User is not able to
error message is login and a pop up is
displayed displayed to the user
Editing Profile
Pre-Case: User must be logged in
S.N Test Case Expected Result Actual Result Status
1 Updating the profile of the Pass
user with valid values The user must be able The user can edit the
to edit the profile profile and the new
name, email and data are stored in the
avatar database.
2 Updating the profile of the Pass
user with invalid / empty The user cannot edit The user is not able
values his/her profile and an to edit his/her profile
error message should and and error
be displayed message is displayed
Updating Password
Pre-Case: User must be logged in
S.N Test Case Expected Result Actual Result Status
1 User provides empty The user is not able Pass
values for updating The user should not to update password
password be able to update and an error
password and an error message is displayed
message should be
displayed
During the development of this project, valuable experience was gained in working with Flutter,
Node.js, and Dart programming, which will prove useful in future projects. Time management
was also an important consideration during the project, with meticulous planning ensuring that
the project was completed on schedule.
The Rational Unified Process (RUP) was used as the software development methodology, which
proved to be effective in successfully completing the project. Overall, the Nep Room application
represents a significant achievement in software development, providing an intuitive and
effective solution for users seeking rental properties or tenants.
5.2 Advantages
Some benefits of using this application include:
• The system is user-friendly and easy to set up. It does not require complex configurations
or updates.
• The application helps renters find rental properties and landlords find suitable tenants
quickly and efficiently.
• The application focuses on solving a problem and saves time for both renters and
landlords.
5.3 Limitations
In addition to its benefits, this application also has some limitations that may be addressed in the
future. These limitations are as follows:
5.3.1 Major Services required internet Access
The primary limitation of this application is its dependence on internet connectivity. The
majority of the application's services, such as adding buildings, viewing room status, logging in,
and registering, require internet access. This means that the user cannot access these services
without an internet connection. However, this limitation is common among many modern
applications and is expected to improve as technology advances.
5.3.2 Slow performance on old phones
Older phones may have hardware and software limitations that could affect their performance
when using the application, making it less accessible to a wider audience. Users with older
versions of Android or iOS may encounter issues such as slow data loading, system
communication failure, and animation failure, limiting their ability to use the application
effectively.
• The addition of a chat feature to facilitate interaction between tenants and landlords.
• The creation of a webpage to promote and support the application.
• The inclusion of additional features and improvements to the application's design to make
it more attractive and user-friendly.
• The implementation of AI-based recommendation systems to enhance the user experience.
References
Chauhan, H., Gupta, D., Gupta, S. and Verma, V., 2019. On rent—an android mobile
application. Journal of Computational and Theoretical Nanoscience, 16(10), pp.4400-4405.
Voumick, D., Deb, P., Sutradhar, S. and Khan, M.M., 2021. Development of Online Based Smart
House Renting Web Application. Journal of Software Engineering and Applications, 14(7),
pp.312-328.
Karki, J., Matthewman, S. and Grayman, J.H., 2022. Nayã Ghar (A new house): examining post-
earthquake housing reconstruction issues in Nepal. International Journal of Disaster Risk
Reduction, 78, p.103116.
Sawant, A.A., Bari, P.H. and Chawan, P.M., 2012. Software testing techniques and
strategies. International Journal of Engineering Research and Applications (IJERA), 2(3),
pp.980-986.
Anwar, A., 2014. A review of rup (rational unified process). International Journal of Software
Engineering (IJSE), 5(2), pp.12-19.
Lin, Y.L. and Lee, T.J., 2009. The impacts of the online reservation system in London city
hotels. Journal of Hospitality Marketing & Management, 19(1), pp.82-96.
Thapa, D., Budhathoki, N.R. and Munkvold, B.E., 2017. Analyzing crisis response through
actor-network theory: The case of Kathmandu living labs. Communications of the Association
for Information Systems, 41(1), p.19.
Mishra, A.K. and Shah, S.K., 2018. Estimating housing unit for low income group of people in
Kathmandu, Nepal. Nolegein Journal of Operafions Research & Management, 1(2), pp.16-27.
Shrestha, R., 2016. Business plan: student housing in Kirtipur, Nepal.
Gyaba, R.K., 2010. Tax System in Nepal (Contribution of Corporate Tax on Income
Tax) (Doctoral dissertation, Faculty of Management).
CHAPTER 8: APPENDIX
8.1 Appendix A Pre-Survey
8.1.1 Pre-Survey Form
Overall, the WBS is an essential tool for effective project management, providing
project managers with a clear and structured approach to managing complex projects.
The WBS improves communication between team members, enhances project
transparency, and enables project managers to make informed decisions throughout
the project's life cycle.
The WBS is not only useful for project managers but also for team members. By
breaking down the project into smaller tasks, each team member has a clear
understanding of what they need to do and how their contribution fits into the bigger
picture. This helps to ensure that everyone is on the same page and working towards
the same goal.
The WBS can also help to identify potential risks and challenges before they become
problems. By breaking down the project into smaller tasks, project managers can
identify potential roadblocks and address them before they become critical. This
proactive approach can save time, money, and resources in the long run.
Another benefit of using a WBS is that it allows project managers to prioritize tasks
based on their importance and urgency. This helps to ensure that critical tasks are
completed on time, and the project stays on track. By having a clear understanding of
the project's priorities, project managers can make informed decisions about resource
allocation and ensure that everyone is working towards the same goals.
The WBS is also a useful tool for managing project budgets. By breaking down the
project into smaller tasks, project managers can estimate the costs associated with
each task and allocate resources accordingly. This helps to ensure that the project stays
within budget and that resources are used efficiently.
In conclusion, the proposed project has received positive feedback, but there are still areas in
which the application can be improved. The addition of a chat feature, a webpage, and the
implementation of AI for recommendations will enhance the application's user-friendliness and
efficiency, providing users with an improved overall experience. These improvements will
ensure that the application continues to meet the needs of tenants and landlords, providing them
with a valuable service that is both user-friendly and efficient.