Software Engineering
Software Engineering
In partial fulfillment of the requirement for the Bachelor Degree in Computer Science
and Information Technology
SAJILO RENT
A PROJECT REPORT
Submitted to:
Department of Computer Science and Information Technology
Submitted by:
Nisha Lamichhane [79011296]
Pratikshya Ale Magar [79011306]
Nisha Adhikari [79011294]
Ojaswi Oli [79011298]
Date of Submission: 9th January, 2026
ACKNOWLEDGEMENT
Apart from the efforts of all the team members, the section of the project report topic depends
largely on the inspiration and guidance of our teachers. We take this opportunity to express our
gratitude to the teachers who have been instrumental in the approval of this project topic.
We would like to show our greatest appreciation to Mr. Ramesh Singh Saud. We thank all
enough for their tremendous support and help. They motivated and encouraged us every time
while selecting project topic and helping us during the project. With their help, we are
continuously improving our project.
i
ABSTRACT
SajiloRent is a Business-to-Customer (B2C) web-based rental management system developed to
simplify and automate the process of renting goods through an online platform. In traditional
rental systems, customers are required to physically visit rental stores to check item availability,
pricing, and rental terms, while administrators manually maintain records of bookings and
inventory. This approach is inefficient, time-consuming, and prone to human errors.
The SajiloRent system addresses these challenges by providing a centralized digital platform
where users can browse rental items across multiple categories such as wedding and fancy
clothes, furniture, decorative items, and biking and hiking gear. The system allows registered
users to view detailed product information, select rental durations, and place rental bookings
efficiently. An administrative module is incorporated to manage product listings, categories, and
booking records in a secure manner.
This project follows the Software Development Life Cycle (SDLC), including requirement
analysis, system design, implementation, and testing. Various software engineering tools and
techniques such as use case diagrams, entity relationship diagrams, data flow diagrams, and test
case analysis have been applied to ensure systematic development. The system is implemented
using modern web technologies and emphasizes usability, security, and maintainability.
SajiloRent demonstrates how software engineering principles can be effectively applied to
develop a real-world application that improves accessibility, reduces manual effort, and enhances
the overall rental experience.
ii
Contents
ACKNOWLEDGEMENT................................................................................................................i
ABSTRACT....................................................................................................................................ii
1 INTRODUCTION...................................................................................................................1
1.1 Introduction.......................................................................................................................1
1.2 Problem Statement............................................................................................................1
1.3 Objectives..........................................................................................................................2
1.4 Scope and Limitations.......................................................................................................2
1.4.1 Scope..........................................................................................................................2
1.4.2 Limitations.................................................................................................................3
2 SYSTEM ANALYSIS.............................................................................................................4
2.1 Feasibility Study...............................................................................................................4
2.1.1 Technical Feasibility..................................................................................................4
2.1.2 Economic Feasibility.................................................................................................4
2.1.3 Operational Feasibility...............................................................................................5
2.1.4 Schedule Feasibility...................................................................................................5
2.2 Requirement Analysis.......................................................................................................6
2.2.1 Stakeholders of the System........................................................................................6
2.2.2 Development Methodology.......................................................................................7
2.2.3 Functional Requirements...........................................................................................7
2.2.4 Non-Functional Requirements...................................................................................9
2.3 Structuring System Requirement....................................................................................11
2.3.1 Data Modeling.........................................................................................................11
2.3.2 Process Modeling.....................................................................................................12
3 SYSTEM DESIGN................................................................................................................15
3.1 Class Diagram.................................................................................................................15
3.2 Sequence Diagram..........................................................................................................15
3.3 User Interface Design......................................................................................................16
4 IMPLEMENTATION AND TESTING................................................................................18
4.1 Implementation...............................................................................................................18
4.1.1 Technology Stack Used...........................................................................................18
4.1.2 Implementation Details of Modules........................................................................18
iii
4.2 Testing.............................................................................................................................20
4.2.1 Test Cases for Unit Testing.....................................................................................20
4.2.2 Test Cases for System Testing.................................................................................21
5 CONCLUSION AND FUTURE RECOMMENDATION....................................................25
5.1 Conclusion......................................................................................................................25
5.2 Future Recommendation.................................................................................................25
6 REFERENCES......................................................................................................................27
7 APPENDIX............................................................................................................................28
iv
List of Tables
v
List of Figures
Figure 1 Gantt Chart........................................................................................................................6
Figure 2 Waterfall Model................................................................................................................7
Figure 3 Use Case Diagram.............................................................................................................9
Figure 4 ER-Diagram....................................................................................................................11
Figure 5 Context Level Diagram...................................................................................................12
Figure 6 DFD level 1 for Admin...................................................................................................13
Figure 7 DFD level 1 for Admin...................................................................................................13
Figure 8 DFD level 1 for Customer...............................................................................................14
Figure 9 Class Diagram.................................................................................................................15
Figure 10 Sequence Diagram.........................................................................................................16
Figure 11 User Interface (Home Page)..........................................................................................17
Figure 12 User Interface (Register Page ).....................................................................................17
vi
1 INTRODUCTION
1.1 Introduction
With the rapid growth of digital technologies and e-commerce in Nepal, accessing goods and
services has become increasingly digital. Rising internet availability, smartphone usage, and
digital payment adoption have encouraged businesses to shift online. Renting, rather than
purchasing, is gaining popularity due to high living costs, limited urban storage, and cost-
conscious consumption. Many items, such as wedding attire, furniture, decorative items, or
adventure gear, are needed only short-term, making outright purchase inefficient.
SajiloRent is an online B2C rental platform designed to address these challenges. It provides a
centralized marketplace where users can browse, book, and rent products conveniently with
transparent pricing. The platform covers four main categories: Wedding & Fancy Clothes,
Furniture, Decorative Items, and Biking & Hiking Gear, reducing fragmentation in traditional
rental services.
1
inventory, users, and transactions. This system ensures convenience, transparency, scalability,
and improved service efficiency.
1.3 Objectives
The main objective of the SajiloRent system is to design and develop a web-based rental
management platform by applying software engineering principles and methodologies. The
specific objectives of the system are as follows:
To analyze the existing manual rental processes and identify their limitations.
To design a user-friendly online system that allows customers to browse rental items by
category.
To enable users to view detailed product information and select rental durations.
To implement a secure user authentication mechanism for system access.
To provide an administrative interface for managing rental items, categories, and
bookings.
To store and manage rental data efficiently using a database system.
To provide a responsive and intuitive website interface suitable for both desktop and
mobile users.
To include features such as search, filtering, and sorting to help users easily find rental
items.
To apply the Software Development Life Cycle (SDLC) in the development of the
system.
To improve transparency, efficiency, and convenience in the rental process for both
customers and administrators.
Each objective is defined to ensure that the system meets user requirements while demonstrating
the practical application of software engineering principles.
1.4.1 Scope
2
It provides a responsive and user-friendly interface accessible on both desktop and
mobile devices.
It enables administrators to manage inventory, track bookings and returns, and maintain
rental records efficiently.
It provides real-time updates on item availability and booking status to improve
transparency and reliability.
It ensures efficient data management using a structured database system.
It is designed to be scalable and maintainable, allowing for future expansion such as
additional categories or enhanced reporting features.
It improves the efficiency and convenience of the rental process for both customers and
administrators, replacing traditional manual methods.
1.4.2 Limitations
While SajiloRent provides a convenient and centralized online rental platform, the system has
certain limitations that define its current scope and constraints.
The platform currently supports only four rental categories: Wedding & Fancy Clothes,
Furniture, Decorative Items, and Biking & Hiking Gear.
Delivery and return services are limited and do not have full real-time tracking.
The system requires a stable internet connection; offline bookings are not possible.
Accurate data entry by administrators is essential; errors may affect inventory and
availability.
Customer support and issue resolution are handled manually, which may cause delays.
Advanced analytics, recommendation features, and reporting tools are not included in the
current version.
Despite these limitations, SajiloRent provides a significant improvement over traditional manual
rental systems by offering centralized management, transparency, and ease of access for
customers and administrators.
3
2 SYSTEM ANALYSIS
The SajiloRent platform will be developed to meet user needs and provide a seamless online
rental experience. The system will be implemented using HTML, CSS, JavaScript, PHP, and
MySQL, ensuring a robust and scalable solution. Key features include management of rental
items and customer details, inventory tracking, booking and order management, and search and
filter functionalities to help users find items easily.
The system will provide a user-friendly interface for customers to browse, book, and rent items,
while administrators will have tools for efficient inventory control, rental monitoring, and
transaction management. SajiloRent aims to replace manual rental operations with a centralized,
automated, and transparent online solution, enhancing both user convenience and operational
efficiency.
The SajiloRent system is technically feasible as it relies on widely used and proven web
technologies. The frontend is developed using [Link], ensuring a responsive and interactive
user interface, while the backend is built with [Link] and [Link] for reliable server-side
processing. MongoDB is used as the database to efficiently manage rental items, user
information, and booking records. The chosen technologies are scalable, maintainable, and
capable of handling multiple users and rental categories simultaneously. Additionally, the system
leverages existing internet infrastructure in Nepal, making it accessible to customers and
administrators without requiring specialized hardware or software. Overall, the technical
resources, expertise, and tools required for developing SajiloRent are readily available, making
the project achievable.
The development of SajiloRent is economically feasible due to its manageable costs and
significant potential benefits. Initial expenses include web development, hosting, domain
4
registration, and database setup, which are relatively low given modern development tools. The
system automates manual rental processes, reducing operational costs such as inventory
management, record-keeping, and administrative labor. From a cost-benefit perspective, the
benefits such as increased customer reach, faster booking processes, and improved operational
efficiency significantly outweigh the initial and ongoing costs. The platform also has strong
potential for return on investment (ROI) through revenue streams like rental fees, optional
service charges, and commissions from third-party listings. Overall, SajiloRent is financially
viable, offering a cost-effective solution that can generate sustainable income while minimizing
operational expenses.
SajiloRent is operationally feasible because it makes the rental process easier for both customers
and administrators. Customers can browse items, check availability, select rental durations, and
book online without visiting rental shops physically. Administrators can manage inventory, track
bookings, and monitor returns more efficiently than with manual systems. The website is simple
and user-friendly, so both customers and staff can use it without much training. It works with
regular internet and devices, making it practical for use in Nepal. Overall, SajiloRent is easy to
operate and helps save time, reduce errors, and improve the overall rental experience.
The schedule feasibility of SajiloRent assesses whether the system can be developed
within a reasonable and manageable timeframe. The project follows the Waterfall
software development model, which organizes the process into sequential phases:
requirement analysis, system design, implementation, testing, and deployment. Each
phase is planned with a defined timeline, and a phase must be completed before the next
one begins, ensuring structured progress and reducing risks of rework. Since the team has
the necessary skills and uses widely available technologies like [Link], [Link], and
MongoDB, the project can be completed efficiently within the semester schedule.
Overall, using the Waterfall model ensures that SajiloRent is schedule-feasible, allowing
systematic development while maintaining quality and functionality.
5
Table 1 SDLC Process Table
End Users (Customers): Individuals who browse rental items, view product details, and
place rental bookings.
Administrator: Responsible for managing products, categories, users, and booking
records.
System Developer: Designs, develops, and maintains the system.
6
2.2.2 Development Methodology
Throughout this project, the Waterfall model was adopted as the development methodology. The
Waterfall approach was preferred because of its simplicity and structured nature, making it
suitable for developing this system. Since the project involves a limited number of stakeholders
and a clearly defined target audience, the linear and sequential process of the Waterfall model
was considered effective for systematic development and documentation.
Functional requirements describe what the system should do. These requirements define the core
features and operations of the SajiloRent system and specify how users and administrators
interact with the system. They serve as the basis for system design, implementation, and testing.
The functional behavior of the SajiloRent system is represented using a use case diagram, which
illustrates interactions between system actors and the functionalities provided by the system. Use
7
case modeling helps in clearly understanding system requirements from the user’s perspective
and acts as a foundation for further system design and develop
User (Customer): A user who registers on the platform, browses rental items, views
product details, selects rental durations, and places rental bookings.
Admin:A system administrator responsible for managing rental items, categories, and
booking records.
Register
Login
Browse Rental Items
View Product Details
Select Rental Duration
Place Booking
Logout
Admin Login
Add Rental Item
Update Rental Item
Delete Rental Item
View Booking Records
ManageCategories
Each use case represents a specific functionality that the system must provide to meet user and
administrative requirements.
8
Figure 3 Use Case Diagram
9
[Link] Usability
User-Friendly Interface: The SajiloRent platform must provide an intuitive and easy-to-
use interface that allows users to browse rental items, view product details, and place
rental bookings with minimal effort.
Accessibility: The system should be designed to be accessible to a wide range of users,
including those with basic technical knowledge, by following standard web accessibility
practices.
Responsive Design: The application must be responsive and compatible with multiple
devices such as desktops, tablets, and smartphones, ensuring a consistent user experience
across different screen sizes and browsers.
Clear Navigation: The platform should include clear menus and navigation paths so users
and administrators can easily access required features without confusion.
System Availability: SajiloRent should maintain high availability so that users can access
the system reliably during normal operating hours.
Error Handling: The system must implement proper error handling mechanisms to
manage unexpected inputs, system failures, or network issues without crashing.
Data Consistency: Rental bookings, user information, and product records must be stored
accurately to avoid data inconsistency.
Backup and Recovery: Regular backups of critical data should be maintained to prevent
data loss in case of system failure.
[Link] Performance
Response Time: The system should load pages within an acceptable time to provide a
smooth user experience and avoid delays during browsing or booking.
Scalability: The system should be capable of handling an increasing number of users and
rental items without significant performance degradation.
Efficient Booking Process: Rental booking and cart operations should be processed
efficiently to ensure timely confirmation and accurate cost calculation.
[Link] Security
Data Protection: User credentials and sensitive information must be stored securely using
encryption and secure storage techniques.
Authentication and Authorization: The system must implement proper authentication
mechanisms to verify users and role-based authorization to restrict administrative
features.
10
Secure Sessions: User sessions should be securely managed to prevent unauthorized
access.
Privacy Compliance: The system should ensure user data privacy by following standard
data protection practices and ethical guidelines.
11
Figure 4 ER-Diagram
Process modeling is used to describe how data flows through the SajiloRent system and how
different processes interact with users and data stores. Context-level and Level 1 Data Flow
Diagrams (DFDs) are used to represent the system’s functional behavior. The context diagram
provides a high-level overview of interactions between external entities and the system, while
Level 1 DFDs for Admin and Customer illustrate detailed processes such as product
management, booking handling, and information retrieval. This modeling approach helps in
understanding system operations and ensures logical and efficient process flow.
12
Figure 5 Context Level Diagram
13
[Link] DFD Level 1 for Admin
The Level 1 Data Flow Diagram for the Admin in SajiloRent illustrates how the administrator
interacts with key system processes. It shows processes such as managing products, categories,
bookings, and delivery status, along with generating reports. The diagram also highlights the
flow of data between the Admin and system data stores, including Product, Category, Booking,
and Delivery databases. This provides a clear overview of the admin’s role in controlling and
monitoring system operations.
14
The Level 1 Data Flow Diagram for the Customer in SajiloRent depicts how customers interact
with the system to perform key rental activities. It includes processes such as user registration
and login, browsing products, placing bookings, making payments, and viewing booking status.
The diagram also shows the flow of data between the customer and system data stores, including
Customer, Product, Booking, and Payment databases. This provides a clear understanding of
how customer requests are processed and how information is managed within the system.
15
3 SYSTEM DESIGN
The system design phase of SajiloRent focuses on converting the functional and non-functional
requirements into a concrete blueprint that guides the implementation of the application. This
phase ensures that the system is well-structured, efficient, and user-friendly, while also providing
a clear framework for development, testing, and maintenance.
16
and delivery updates. Each diagram shows the sequence of messages exchanged between objects,
the order of method calls, and the flow of data. This detailed representation ensures that system
processes are correctly implemented, synchronized, and that all functional requirements are
covered.
17
Figure 11 User Interface (Home Page)
18
4 IMPLEMENTATION AND TESTING
4.1 Implementation
The implementation phase is a crucial stage in the development of the SajiloRent system, where
the proposed system design is transformed into a functional and operational application. This
phase focuses on converting system requirements, design specifications, and planned architecture
into actual working software using appropriate tools and technologies. During this phase, modern
web technologies such as [Link] for frontend development, [Link] and [Link] for backend
services, and MongoDB for data storage were used to ensure seamless interaction between
different system components
[Link] -Database
Mongoose: Used as an Object Data Modeling (ODM
Key Features:
19
Profile management.
Viewing booking history.
Logout functionality.
This module ensures a secure and personalized experience for each user.
[Link] Product Module
Key Features:
Key Features:
20
4.2 Testing
Software Testing is the process of evaluating a software system to ensure that it functions
correctly and meets the specified requirements. Before deploying a web-based application, it is
essential to thoroughly test its functionality, performance, and security aspects. Testing helps
identify defects, ensure system stability, and improve overall software quality.
For the SajiloRent system, test cases were designed and executed to verify the correctness of
core functionalities such as user authentication, rental booking, cart management, and
administrative operations. The system was tested across different web browsers to ensure
consistent behavior and compatibility. Special focus was given to functional testing and basic
security validation.
21
2 Testing Email: Admin Redirect to As Pass
Login admin@[Link] enters admin expected
correct dashboard
Password: admin123
credentials
22
4.2.2 Test Cases for System Testing
System testing is performed on the fully integrated SajiloRent system to evaluate whether it
satisfies the specified functional requirements. This testing phase validates the interaction
between different modules such as user management, rental booking, cart, and admin operations.
Test Executed By: SajiloRent Development Test Title: Verifying cart and wishlist
Team functionality
23
Pre-condition: User is logged into the system
Ste Test Steps Test Data Expected Result Actual Result Status
p
6 Navigate to User Admin clicks “User Redirect to user Redirected to user Pass
Management Management” management management page
menu page
24
Table 6 System Testing - Rental Booking Process
All unit and system test cases for the SajiloRent system were executed successfully. The results
confirm that the system meets its functional requirements and performs reliably under normal
usage conditions. No critical defects were observed during testing, and minor issues identified
were resolved during development. The successful execution of test cases ensures that the system
is stable and ready for deployment.
25
5 CONCLUSION AND FUTURE RECOMMENDATION
5.1 Conclusion
SajiloRent successfully demonstrates the development of a comprehensive and reliable web-
based rental management system that addresses the challenges of traditional rental services in
Nepal. Traditional rental processes are often manual, time-consuming, and prone to errors, with
limited transparency for customers and inefficient record-keeping for administrators. SajiloRent
provides a centralized B2C platform that connects customers with multiple rental categories such
as wedding and fancy clothes, furniture, decorative items, and biking and hiking gear offering
convenience, affordability, and flexibility in renting items for short-term use.
The system was developed using the Waterfall model, following a structured software
engineering approach that ensured systematic planning, analysis, design, implementation, and
testing. During the planning and analysis phases, the project scope, objectives, and requirements
were clearly defined, and feasibility studies were conducted to ensure technical, economic, and
operational viability. In the system design phase, ER diagrams, class diagrams, and sequence
diagrams were created to model the system’s structure and behavior, while user interface designs
were developed to provide an intuitive and accessible platform for both customers and
administrators.
Implementation involved developing a secure and scalable web application using modern
technologies, with the backend managing inventory, bookings, and deliveries, and the frontend
offering a responsive, user-friendly interface. The testing phase ensured the system’s
functionality, reliability, and security, while the documentation phase captured all design,
implementation, and testing details for future maintenance and reference.
SajiloRent provides a seamless experience for users, allowing them to browse products, view
detailed information, make bookings, and track deliveries efficiently. For administrators, the
platform offers tools for managing products, categories, bookings, and deliveries, ensuring
smooth operations and accurate data management. The platform also leverages multiple revenue
streams, including rental fees, delivery charges, and subscription plans, making it economically
sustainable and scalable for future growth.
By integrating structured software engineering principles with practical real-world requirements,
SajiloRent not only addresses the current gaps in Nepal’s rental market but also lays a foundation
for future digital rental services. With opportunities for expansion, increased adoption of shared-
economy services, and growing demand for convenient online platforms, SajiloRent has the
potential to become a trusted and widely used rental marketplace in Nepal. Overall, the project
demonstrates a successful application of software engineering methodologies to create an
innovative, user-centric, and efficient system that benefits both customers and administrators.
26
5.2 Future Recommendation
While SajiloRent effectively provides a centralized online rental platform, several improvements
can be made to enhance usability, scalability, and maintainability, in line with software
engineering best practices. One key recommendation is the development of a dedicated mobile
application for Android and iOS, allowing customers to browse, book, and track rentals on the
go. Integrating push notifications can further improve user engagement by providing real-time
updates on bookings, deliveries, and promotions. Expanding payment options to include
additional e-wallets, bank transfers, and international gateways would increase accessibility and
convenience for a broader user base.
To enhance system reliability and operational efficiency, real-time inventory management should
be implemented to prevent double bookings and maintain accurate availability. Incorporating a
rating and review system will increase transparency and trust, while advanced search filters, AI-
driven product recommendations, and personalized suggestions can improve user experience and
encourage repeat usage. For administrators, analytics and reporting tools can provide insights
into rental trends, customer behavior, and system performance, enabling data-driven decision-
making and better resource management.
From a long-term software engineering perspective, SajiloRent should adopt a modular and
scalable architecture, which allows the platform to accommodate more rental categories,
vendors, and multi-city expansion within Nepal. Implementing robust security measures and
ensuring maintainable code practices will improve system longevity and adaptability.
Additionally, incorporating sustainability-focused features, such as eco-friendly product
categories or incentives for longer rentals, can align the platform with responsible consumption
trends. These enhancements will ensure that SajiloRent remains efficient, user-centric, and
capable of evolving with future technological and market demands.
27
6 REFERENCES
[1] I. Sommerville, Software Engineering, 10th ed., Pearson Education, 2016.
[2] R. S. Pressman and B. Maxim, Software Engineering: A Practitioner’s Approach, 9th ed.,
New York, NY: McGraw-Hill Education, 2019.
[3] P. Jalote, An Integrated Approach to Software Engineering, 3rd ed., Berlin, Germany:
Springer, 2012.
[4] S. Al-Mashaqbeh, “Design and Implementation of an Online Rental System for Equipment,”
International Journal of Computer Applications, vol. 179, no. 28, pp. 1–7, Feb. 2018.
[5] D. H. Chau and M. Chen, “B2C E-Commerce Platforms: Challenges and Best Practices,”
IEEE Access, vol. 7, pp. 16745–16756, 2019.
28
7 APPENDIX
HomePage
Register Page
29
Product Section
30