Rent Nepal Project
Rent Nepal Project
Rent Nepal Project
Tribhuvan University
RENTNEPAL
A PROJECT REPORT
Submitted to:
Submitted by:
Supervisor’s Recommendation
I hereby recommend that this project prepared under my supervision by Prazual karki,
Rupesh chaudhary and khuman thapa entitled “RentNepal” in partial fulfillment of the
requirements for the degree of CSIT is recommended for the evaluation.
Project Supervisor
Shantinagar, Kathmandu
Tribhuvan University
LETTER OF APPROVAL
This is to certify that this project prepared by Prazual Karki, Khuman thapa and
Rupesh chaudhary entitled “RentNepal.” in partial fulfillment of the requirements for
the degree of BSc CSIT has been evaluated. In our opinion, it is satisfactory in the scope
and quality as a project for the required degree.
Mr.
We would like to show our greatest appreciation to Mr. Amit Ghimire sir and other staff
members. We thank them 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.
ABSTRACT
RentNepal is an online platform designed to facilitate the sharing of products among users
in Nepal. The platform allows registered users to upload information about their products,
including descriptions, images, and rental rates, as well as browse and rent products
uploaded by other users.
Transactions and payments are completed offline, with users arranging the details of the
rental through phone as users have to physically deliver the product. The website also
includes a review system that allows users to rate and review each other based on their
rental experiences, helping to build trust and establish a reliable user base.
This project report will provide an overview of the RentNepal platform, including its
objectives, features, and implementation. The report will also discuss the challenges and
opportunities associated with the development and implementation of such a platform, as
well as the potential impact it could have on the Nepali market and beyond.
1.3 Objectives
The objectives of these projects are as follows:
i. Provide a search function that allows users to find products available for rent based
on location, category, and names.
1
1.4 Scope and Limitation
The scope of a renting system is broad and varied, and it has the potential to cover a wide
range of areas. The goal of a renting system is to provide a platform where individuals or
businesses can rent out their items or services to others. One of the main scopes of a renting
system is to facilitate the sharing economy, which promotes the sharing of resources and
promotes sustainability. Additionally, renting systems can be used to rent out spaces, such
as vacation properties, event venues, and office spaces. The scope of a renting system can
also extend to specialized items, such as medical equipment or high-end luxury items.
There are several limitations to the RentNepal website project, which include:
Limited market: The website may have a limited market as not everyone may be
comfortable with renting items online, or they may prefer to purchase items outright instead
of renting them.
Offline transactions and payments: The website relies on offline transactions and
payments, which can pose security risks and make it difficult to track transactions.
Trust issues: Since the website relies on peer-to-peer transactions, there may be trust
issues between users, which can lead to disputes over product condition, payment, and other
issues.
Limited product offerings: The website may have a limited selection of products available
for rent, which can limit its appeal to users.
2
Chapter 3: “System Analysis”- This chapter describes the functional and non-functional
requirements, economic feasibility, technical feasibility, operational feasibility, and
scheduling feasibility.
Chapter 4: “System Design”- This chapter introduces about the system and interface
design of the project.
Chapter 5: “Implementing and Testing”- This chapter clearly illustrates the methods and
tools used to implement the project.
Chapter 6: “Conclusion and Future Scope”- This is the final chapter that concludes the
project and talks about the future scopes of this project.
3
Chapter 2: Background study and Literature Review
In Nepal, the rental industry is still in its early stages, with limited options available for
consumers. There are a few rental services available for specific products, such as cars and
bikes, but there is a significant gap in the market for a comprehensive rental platform that
offers a wide range of products.
RentNepal aims to fill this gap by providing a platform where users can take products for
rent and upload products to rent them. The platform will offer a user-friendly interface and
a variety of products. The idea behind RentNepal is to make renting products more
accessible and convenient for users while also promoting sustainability and reducing waste.
By encouraging people to rent instead of buy, RentNepal hopes to reduce the environmental
impact of consumerism and promote a circular economy.
Kapada Rent Pvt. Ltd is a private limited company located at New Baneshwor,
Shankhamul road. It allows users to browse and take on rent the products displayed on
the site or to purchase certain products and services listed there on web.
• Onrotate.com:
OnRotate is a peer-to-peer luxury fashion platform where you can rent clothing shoes
and accessories from luxury designer brands. It allow members to rent and lend clothes,
shoes and accessories to other members. It is a private limited company registered in
south Africa.
4
Chapter 3: System Analysis
3.1 Requirement Analysis
We have identified and documented the various requirements that are related to our
business objective. Requirements gathering help us to clearly understand the needs of the
user, defining the scope of the project, and assessing the timescales and resources required
to complete it. There are two types of requirement which are as follows:
User module:
• Can upload products and update or delete the product details if needed.
Admin module:
5
The functional requirements can be better understood using use case diagram.
The use of a case diagram is developed during the requirement analysis phase that
models the static structure of the system. Given shows the use case model of the
RentNepal, which diagrammatically shows a relationship between actors (Admin,
user) along with their goals.
• Performance:
6
has a proper internet connection and for the fault tolerance, if the system loses internet
connection or the systems get some input or failure errors, the user will be informed.
• Maintainability:
The system will be easy to extend. The code should be written in a way that it favors
implementation of new functions. In addition, our App was designed to be scalable in
mind, with the use of highly scalable database such as Mongodb and backend engine
such as Nodejs makes it easy to create new databases, add or remove features.
• User interface:
The user interface creation are done with modern single page application (SPA)
React.js and led by CSS and HTML to make it look better.
• Security
Secure connection between user and system will be implemented. Only authenticated
users are allowed to see people problems and. No two or more users with the same
email will be created.
The feasibility study of the project is carried out which are mentioned below:
3.2.1 Economic
RentNepal has a high potential to generate revenue from ads and from commissions on
successful transactions in the future. The platform can capture a significant share of the
rental market in Nepal, which is currently underserved. Furthermore, the increasing trend
7
towards sustainability and conscious consumption makes renting an attractive option for
consumers. Hence, the RentNepal project is economically feasible and has a potential for
profitable returns.
3.2.2 Operational
3.2.3 Technical
The RentNepal platform has a robust and secure system that can handle user data,
transactions, and communication. The platform is scalable to accommodate growing user
numbers and their rental requirements. Furthermore, the platform has been developed using
the latest technologies and programming languages like MongoDB, Node.js, React and
JavaScript to ensure that it is secure and easy to use.
3.2.4 Schedule
The time required to complete the project and the time spent on each activity are shown in
the diagram below.
9
3.3.2 Process Modeling
For Process modeling, we used Data Flow Diagram (DFD) to show flow of data in our
proposed system
10
Chapter 4: System Design
4.1 System Design
We define various components, modules, interfaces, and data for a system to satisfy
specified requirements. Various diagrams like use case diagram, ER diagram, DFD etc.
have been used to design the system
11
4.1.2 User Interface Design
User interface design is an important task to attract the users on our system .We design
interfaces for computing devices and hardware so that they’re easy for people to use.
12
4.2 Algorithm Details
The algorithm we are using is content based filtering algorithm that recommends products
on the basis of user’s past activities.
I. Start
II. Collect data about the items that will be recommended.
III. Create a profile for each item in the system by summarizing its attributes.
IV. Collect data about the users of the system which might include user preferences,
ratings, and demographic information.
V. Compute a user profile by aggregating the profiles of the items that the user has
interacted with.
VI. Compute the similarity between each item in the system and the user's profile. This
can be done using a similarity metric such as cosine similarity.
VII. Rank the items based on their similarity to the user's profile, and present the top
items to the user.
VIII. Evaluate the performance of the system using metrics such as precision, recall, and
F1-score.
IX. Iterate through the above steps, making improvements to the system and evaluating
its performance until satisfactory results are achieved.
X. Stop
13
Chapter 5: Implementing and Testing
5.1 Implementation
After gathering all the requirements and designing the system, we began to implement the
project using variety of technologies and tools available freely. The project is developed
using MERN stack(MongoDb,expressJs,ReactJs,NodeJs).
• Browser:
We used Google chrome as a browser to access data from the database and run our
project.
We used Visual Studio Code which is a lightweight but powerful source code editor to
write our codes for our project.
• Node Js:
• MongoDb:
• React.Js:
React is used as a frontend which is a JavaScript library for building user interfaces. It
interacts the users by dynamically changing the data rather than opening a new file,
which makes React highly efficient and fast than traditional html files.
14
5.1.2 Implementation Details of Modules
The system contains different module to make up the system. Some of the modules are as
follows:
Login module:
In this login module, the general user must input his email address and password if he/she
has already got an account, else the user should register.
Dashboard module:
The dashboard module provides update, delete, add products functionality and can cancel
booking of the products.
Profile module:
This module includes the page for updating and customizing the profiles for the users
Product module:
This module includes all the fetching and searching of all the products with its details.
Recommendation module:
This module recommends products to the users based on their rental history which are
saved on the database.
Algorithm Implementation:
We have used content based filtering algorithm to recommend users the products based on
their rental history which is implemented as:
15
// Define a function to calculate the similarity score between two
items
function calculateSimilarity(item1, item2) {
// Calculate the similarity score based on shared attributes
const sharedAttributes = ['type', 'price', 'location']
let similarity = 0
sharedAttributes.forEach((attribute) => {
if (item1[attribute] === item2[attribute]) {
similarity++
}
})
return similarity
}
if (recommendedItems.length > 0) {
return response.status(200).json(recommendedItems)
} else {
return response.status(200).json(availableProducts)
}
} else {
return response.status(400).json(error)
}
} catch (error) {
return response.status(400).json({ error: error })
}
16
5.2 Testing
After implementing the project, we performed unit testing to identify errors, gaps or
missing requirements in contrast to actual requirements.
Kathmandu,image.jpg)
2 (Prazual,karki,[email protected], Register Register passed
prazual12345,9800454545, succesfully succesfull
Kathmandu,image.jpg)
3 (Prazual,karki,[email protected], User already Register failed
prazual12345,9800454545, exists with this succesfull
email
Kathmandu,image.jpg)
4 (khuman,thapa,[email protected], Registration Register passed
khuman12345,9800454545, Successful succesfull
Kathmandu,image.jpg)
17
Chapter 6: Conclusion and Recommendations
6.1 Conclusion
The RentNepal website project provided us with valuable insights and learnings in various
areas, such as project management, teamwork, and feature development. The project was
an opportunity to apply theoretical knowledge into practical application, which allowed us
to develop an innovative platform that provides a unique service to users.
The project perspective was to create a platform that promotes sharing economy and
sustainability by allowing users to upload and rent products to and from others. This
perspective was crucial in guiding the development of the platform and ensuring that it met
the needs of users. During the project, we learned the importance of effective project
management, including planning, communication, and coordination among team members.
The project required a considerable amount of collaboration and teamwork, which allowed
us to work efficiently and effectively towards a common goal.
The features developed for the RentNepal website project were essential in creating a user
friendly experience for users, including a secure login and registration system, product
upload and rental system, and review system.
6.2 Recommendations
There is a scope for further development in our project to a great extent.
• Secondly, to increase the user base and expand the market, we suggest implementing a
marketing strategy that targets potential users and promotes the benefits of the sharing
economy and sustainability.
18
• Thirdly, we will provide adding a messaging system to facilitate communication between
users and improve the rental experience.
• Furthermore, the platform can be developed into a mobile application, making it more
accessible to users and increasing the convenience of using the platform.
Overall, the RentNepal website project has significant potential for further development
and expansion, and we believe that implementing the above recommendations and future
scope will result in a successful and sustainable platform for peer-to-peer product rental.
Additionally, RentNepal can collaborate with other sharing economy platforms to offer
users a more comprehensive and integrated service. For example, the platform can partner
with ridesharing services (like pathao etc.) to offer rental products to passengers, or with
home-sharing platforms to offer rental products to hosts.
19
References
Ramesh Singh Saud, Bhupendra Singh Saud, Indra Chaudhary, “System Analysis And
Design”,Kec publishers and distributors(p).ltd,2020
20
Appendix
Screenshots
Homepage:
21
Product section:
Register Page:
22