Rentify Final Report
Rentify Final Report
Submitted by
..
GHULE PRACHI SAMBHAJI ..
GAWADE DIPALI BALASAHEB
(B401120178) (B401120175)
KOLGE CHAITALI RAJU WAYKAR SAURABH DADASAHEB
(B401120184) (B401120199)
CERTIFICATE
CERTIFICATE
This is to certify that,
GHULE PRACHI SAMBHAJI GAWADE DIPALI BALASAHEB
We thank our parents and colleagues who were persistent in pursue for always
encouraging and pushing us to new potentials, and also helping us in their own unique
ways and skills. This project is dedicated to all those associated, the project is
dedicatedto all of them.
CONTENT:
1.1 OVERVIEW
1.2 NECESSITY
1.3 THEME
1.4 OBJECTIVES
1.5 ORGANISATION
2 LITERATURE REVIEW
3 SYSTEM DEVELOPMENT
4 IMPLIMENTATION
4.1 OVERVIEW
4.4 SCREENS
CONTENT:
5.1 OVERVIEW
6 CONCLUSION
6.1 ADVANTAGES
6.2 DISADVANTAGES
6.3 APPLICATIONS
6.4 CONCLUSION
7 REFERENCES
PROJECT CERTIFICATE
LIST OF FIGURES:
INTRODUCTION
CHAPTER 1. INTRODUCTION
1.1 OVERVIEW
The concept outlined revolves around Rentify, an online rental platform designed to streamline how
people access and share physical items like tools, electronics, and equipment. The platform is buil t to
tackle the inefficiencies of traditional ownership and rental models by promoting short -term, peer-to-
peer item sharing. It leverages the MERN stack (MongoDB, Express.js, React.js, Node.js) to offer a
user-friendly, scalable, and secure web application.
Rentify is motivated by the broader sharing economy and the increasing demand for sustainable living.
It integrates features like secure payments, user ratings, and a community-based system to foster trust,
convenience, and environmental responsibility.
Rentify is an innovative peer-to-peer (P2P) rental marketplace that allows individuals to rent physical items
such as tools, electronics, appliances, party supplies, camping gear, and more from others in their community
— rather than purchasing them outright.
1.2 NECESSITY
Minimizing Wasted Resources
Many users purchase costly items for limited use, resulting in financial loss and storage issues.
A rental system allows better resource utilization, preventing unnecessary buying.
Convenience over Traditional Rentals
Existing rental services are often inconvenient, limited in scope, and lack trust.
A digital platform offers flexibility, ease of access, and real-time availability.
Financial Benefits
Renting reduces the cost burden on individuals who may not need to own items permanently.
Lenders can earn passive income from underused belongings.
Environmental Impact
Promotes reuse over ownership, aligning with global goals for sustainability and waste reduction.
Helps reduce the carbon footprint associated with manufacturing and disposal of unused goods.
Community Building
Encourages social interaction and trust through features like reviews, profiles, and secure
transactions.
Vidya Niketan college of Engineering, Bota B.E. (Computer)
10
1.2 THEME
1.3 OBJECTIVES
The primary objective of Rentify is to develop a user-friendly, secure, and efficient online rental platform
that enables individuals to rent and lend items for short-term use. The project aims to:
2 Reduce unnecessary purchases by providing a reliable alternative to ownership through item rentals.
3 Promote sustainability by encouraging reuse and reducing environmental waste caused by
underused products.
4 Foster community trust through secure payment systems, user verification, and ratings/reviews.
5 Create economic value for users by allowing item owners to earn passive income and renters to
save money.
6 Leverage modern web technologies (MERN stack) to ensure a responsive, scalable, and high-
performance application.
7 Address inefficiencies in traditional rental models by offering a digital solution with better
accessibility, transparency, and convenience.
ORGANIZATION
LITERATURE
REVIEW
The evolution of the sharing economy has brought a paradigm shift in consumer behavior, where
access is prioritized over ownership. Studies indicate that platforms enabling peer-to-peer rental
services are gaining momentum due to rising costs of ownership, increasing environmental awareness,
and the need for convenience in urban living..
1. Johnson D. and Taylor M. (2016) This paper analyzes the evolution of online rental platforms in
real estate, emphasizing their role in bridging the gap between landlords and tenants. It explores the
technological advancements that enable automated tenant screening, secure payment gateways, and
AI- driven property recommendations. The study highlights case studies from leading platforms,
illustrating their impact on reducing transaction time and increasing user satisfaction. Challenges
like data privacy and fraudulent listings are also discussed.
2. Gupta A. et al. (2018) This research focuses on the integration of mobile technologies into online
rental platforms. It examines how mobile applications enhance accessibility and provide real -time
updates for landlords and tenants. The paper reviews user feedback from various platforms to
identify critical success factors such as intuitive interfaces, secure communication channels, and
customizable notifications. Issues like app scalability and compatibility with older devices are also
addressed. Saini, P. et al. (2019)
3. Chen W. and Li X. (2019) This paper evaluates the use of big data and machine learning in online rental
platforms. By analyzing user behavior, these platforms offer personalized property recommendations
and dynamic pricing models. The study reviews case studies to demonstrate how predictive analytics
improve property utilization rates. Additionally, the paper discusses ethical concerns, such as algorithmic
bias and transparency in pricing strategies.
4. Ahmed R. and Singh P. (2020) This paper examines the role of online rental platforms in urban
housing markets. It evaluates their contribution to improving rental affordability and accessibility in
densely populated cities. The study uses statistical data to assess trends in tenant demographics and
11 preferences. The paper also explores the platforms’ potential in fostering sustainable urban living
Vidya Niketan college of Engineering, Bota B.E. (Computer)
15
2.Admin Interface
Used by platform administrators to manage backend operations, users, and listings.
Key Features:
Manage user accounts (approve, block, verify)
Moderate item listings
View platform analytics (rental trends, top users)
Handle disputes and support tickets
Backend:
Spring Boot (Java) – A powerful and secure RESTful API framework.
Handles authentication, item management, order processing, and notifications.
Database:
Vidya Niketan college of Engineering, Bota B.E. (Computer)
16
To build a robust and efficient rental platform like Rentify, a well-defined development methodology
is followed along with a carefully chosen set of tools and technologies. The goal is to ensure smooth
project execution, maintainability, and high-quality output.
Admin Dashboard
1. Dashboard Home
• Overview Widgets: Total users, active listings, ongoing rentals, revenue generated, pending
approvals.
2. User Management
• View, search, and filter all registered users.
• Block/unblock users.
3. Product Management
• View all listed items with filtering by category, availability, or status.
5. Category Management
• Add, edit, or delete product categories.
• Revenue
• Rental frequency
SYSTEM
DEVELOPMENT
Frontend Layer:
User Interface (UI): The user interacts with the platform through a web or mobile interface.
This interface allows users to register, log in, search for items, view other users, submit
reviews, and view ratings.
Technologies: Common choices include React, Vue, or Angular for a responsive UI that
communicates with backend services through APIs.
Backend Layer:
Authentication Service: Manages user registration, login, and authentication. This service
ensures secure access to the platform, handling login sessions, password hashing, and token
generation (e.g., using JWT).
Listing Service: Manages item listings, including CRUD (Create, Read, Update, Delete)
Vidya Niketan college of Engineering, Bota B.E. (Computer)
21
API Gateway:
• An API Gateway acts as a single entry point for all user and system requests. It routes
incoming requests to appropriate backend services, handles rate limiting, and may include
authentication and caching.
Microservices Communication:
• Services within the backend communicate through RESTful APIs. Using asynchronous
System Security:
Security is paramount for handling user information and reviews. The architecture includes
HTTPS for secure data transmission, data encryption, and access control policies.
Authentication tokens, role-based access control (RBAC), and security audits help prevent
unauthorized access.
1. Purpose: Shows the flow of data within the system, breaking down from general to detailed
processes.
2. Shows the system as a single process and its interactions with external entities (e.g., User and
Admin).
1. User
3. Product Availability
• This service or module is responsible for checking whether the requested item is in stock or available
for the selected rental dates.
4. Database
• Stores order details, inventory status, user data, and payment logs.
• The Order Management Service updates the database after validating availability and confirming the
payment.
• A placeholder for actual payment gateway integration (like Razorpay, Stripe, etc.).
• The Order Management Service initiates the payment process through this service.
The system follows a 3-layered architecture that separates responsibilities across Presentation,
Logic, and Data layers. This modular approach increases maintainability, testability, and
scalability.
Architecture Layers
Key Pages/Components:
Key Controllers/Services:
Repositories:
4. Database Layer
Technology: MongoB
Core Tables:
Categories, filters, and search options to help users find desired products.
• Order Checkout
• Admin Dashboard
Manage products, view orders, track revenue, and handle customer queries.
The development of an online rental platform involves a structured methodology to ensure the creation
of a user-centric, efficient, and secure system. The steps are as follows:
1. Requirement Analysis
• Stakeholder Meetings:
o Conduct interviews and surveys with potential users (landlords, tenants, administrators).
o Identify pain points and current inefficiencies in the traditional rental process.
• Requirements Definition:
o Document functional requirements (property listing, tenant screening, digital lease management,
online payments).
o Specify non-functional requirements (scalability, security, usability, performance).
2. System Design
• Architectural Planning:
o Adopt a layered architecture separating frontend, backend, and database.
o Define system modules and data flow using UML diagrams (use case, activity, data flow
diagrams).
• User Interface Design:
o Create wireframes and prototypes using design tools (Figma, Adobe XD).
o Design intuitive and responsive layouts for web and mobile platforms.
• Database Design:
o Develop a flexible data model to handle diverse rental listings and user profiles.
o Choose a suitable database schema (NoSQL with MongoDB) for scalability and rapid access.
3. Technology Selection
• Frontend Development:
o Use modern JavaScript frameworks (React.js) for building a dynamic, component-based UI.
• Backend Development:
o Utilize Node.js with Express.js for building scalable and efficient RESTful APIs.
• Database & Infrastructure:
o Implement a NoSQL database (MongoDB) to manage unstructured data.
o Plan for cloud hosting services (AWS, Google Cloud) to ensure high availability and scalability.
• Third-Party Integrations:
o Integrate secure payment gateways, tenant verification services, and other external APIs.
4. Implementation
• Development Phases:
o Frontend and Backend Development:Develop reusable components and establish secure
authentication processes.
Implement core functionalities such as property listings, digital lease agreements, and communication
modules.
o API Development & Integration: Develop RESTful APIs to connect frontend with backend
services and third-party tools.
• Agile Methodology:
o Conduct iterative development cycles with regular code reviews and sprints.
o Continuously incorporate user feedback to refine features.
• CI/CD Setup:
o Establish continuous integration and deployment pipelines for regular updates and seamless
integration of new features.
IMPLIMENTATION
CHAPTER 4. IMPLIMENTATION
4.1 OVERVIEW:
The implementation of the Ecommerce Website was carried out in a phased and modular approach,
ensuring seamless integration between the frontend, backend, and database components. The system
was developed to support essential ecommerce functionality, including user authentication, product
management, shopping cart, order processing, and administrative control — all while maintaining
high performance, security, and scalability.
The frontend, built using React.js, provides a responsive and interactive user experience with
modern UI components. It interacts with the backend via REST APIs using Axios, and manages
routing, state, and authentication logic efficiently.
User Module
• Registration/Login: Form validation, password hashing, token issuance.
• Product Browsing: Fetches products via filtered API queries.
• Cart Management: Add/remove/update quantities using local state or API.
• Order Placement: Confirm items, input delivery details, process payment.
Admin Module
• Dashboard: Metrics like total users, total orders, inventory levels.
• Product Management: Add/edit/delete products, including image uploads.
• Order Tracking: Update status (Processing, Shipped, Delivered).
• User Management (optional): View or restrict users if needed.
Security Module
• JWT generation & parsing
• Access control filters
• Login throttling (if required to avoid brute-force)
• Secure API endpoints: /api/admin/* restricted to admins only.
Database Module
• All entities are managed with JPA repositories and mapped via @Entity, @OneToMany,
@ManyToOne.
• SQL indexing strategies to improve performance on product searches or order lookups.
Backend Node.js
Database MongoDB
EXPLANATION :
React.js
• A popular JavaScript library for building dynamic user interfaces.
• Uses a component-based architecture, which helps in code reusability and modular development.
• Ideal for creating Single Page Applications (SPAs) where content updates dynamically without
page reloads.
Axios
• A promise-based HTTP client used to make API calls from React to your backend (Node.js).
• Supports features like request/response interception, error handling, and async/await.
• Helps in creating navigation paths (URLs) and rendering components based on routes, like /home,
/items/:id, /login, etc.
Tailwind CSS
• A utility-first CSS framework that allows rapid styling using predefined classes.
• Removes the need for writing custom CSS and improves developer productivity.
• Example: class="bg-blue-500 text-white p-4" applies a background color, text color, and padding
in one line.
Backend
Node.js
• A JavaScript runtime built on Chrome’s V8 engine.
• Allows building scalable server-side applications using JavaScript on the backend.
• Often used with Express.js (though not mentioned here, but typically part of Node setups) to
build REST APIs quickly.
Authentication
• JWT (JSON Web Tokens)
• A secure way of transmitting information between client and server as a digitally signed token.
• Commonly used for authentication and session management.
• After login, the server issues a token which the client sends with each request to access protected
resources.
Database
• MongoDB
• A NoSQL database that stores data in JSON-like documents (BSON).
• Great for applications with unstructured or semi-structured data.
• Works well with Node.js using Mongoose (an ODM) to define schemas and interact with
MongoDB.
Build Tools
Testing Tools
Postman
• A GUI tool for testing and interacting with your backend APIs.
• Lets you test GET, POST, PUT, DELETE requests, send authentication headers, and check
response bodies and status codes.
Chrome DevTools
• A built-in browser tool (available in Chrome) used for:
• Inspecting HTML/CSS
• Debugging JavaScript
• Monitoring network activity
• Simulating mobile devices
IDE
• Visual Studio Code (VS Code)
• A powerful, lightweight code editor from Microsoft.
Features:
• IntelliSense (smart code completion)
• Extensions for React, Node, Tailwind, etc.
• Integrated terminal, Git, and debugging
Version Control
Git
• A distributed version control system used to track code changes and collaborate with team
members.
• Commands like git commit, git push, and git pull are commonly used.
GitHub
• A cloud-based Git repository hosting service.
• Used to store code online, manage issues, pull requests, CI/CD workflows, and collaborate on
open-source or private projects.
Deployment (Optional)
Netlify (Frontend)
• A platform for deploying static websites (like React SPAs).
• Easy drag-and-drop deployment or connect to GitHub for auto-deployment on push.
• Offers HTTPS, CI/CD, Forms, and Serverless functions.
Railway (Backend)
• A developer-friendly cloud platform for deploying backend services.
• Supports Node.js, databases like PostgreSQL/MongoDB, and allows quick deployments with Git
integration.
Admin Module
• Accessible only by authenticated admins, the Admin Panel is designed for managing product
data and overseeing orders.
➤ Features:
Login/Registration
• Admins must authenticate to access functionalities like adding products or viewing orders.
• Add/Delete Product
Admins can manage the product catalog by adding new products or deleting outdated ones.
• Get Order
View and manage customer orders—track order status, update delivery info, or process returns.
• Logout
Securely end the session and return to the home page.
User Module
• This is the main shopping interface for regular users. It allows them to explore products,
manage their orders, and contact support.
Products Page
Displays all available products with options to:
• Add to Wishlist
• Order Now
• Order Now
Initiates the order placement process, leading to a Dummy Payment Gateway for transaction
simulation.
• Search Product
Enables users to find products by name, category, etc.
• Previous Orders
Lists all previously placed orders for user reference.
• Contact Form
Lets users submit queries or issues. Includes:
• Message for Admin (sent via backend to admin panel or stored in DB)
• Logout
Terminates the user session and redirects to the home page.
/Ecommerce Website
/project-root
│
├── /client # Frontend (React)
│ ├── /src
│ │ ├── /components # Reusable UI components
│ │ ├── /pages # Page-level components
│ │ ├── /services # Axios API calls
│ │ └── App.js
│ └── package.json
│
├── /server # Backend (Node + Express)
│ ├── /controllers # Business logic
│ ├── /models # MongoDB schemas
│ ├── /routes # API routes
│ ├── /middleware # Auth, error handling
│ ├── /utils # Token, validators
│ └── server.js
│
├── /config # Env, DB config
│
├── .env
├── README.md
├── package.json
└── /tests # Unit and Integration tests
Home.js
Displays product list with filtering options. Fetches products via backend API.
Login.js / Register.js
Auth pages to login or create user accounts. JWT is stored in localStorage upon success.
ProductDetails.js
Shows a single product’s details and allows users to add it to the cart.
Cart.js / Checkout.js
Displays cart summary. Checkout page sends data to backend to create an order.
AdminDashboard.js
UserDashboard.js
Allows users to view their past orders, change profile details, etc.
Navbar.js
Shared top navigation bar. Adapts based on whether the user is logged in and their role.
• Testability: Dummy Payment Service can simulate real payment during development/testing.
4.4. SCREENS:
MAIN SCREEN:
PERFORMANCE
TESTING
5.1 OVERVIEW:
Ensure system stability and responsiveness under normal and peak loads.
Performance Highlights:
Initial page load (React SPA): ~900ms average on first visit; subsequent routes load
instantly via client-side routing.
Authentication with JWT: ~350ms average response, including token issuance and
storage.
Order placement workflow (cart → order): End-to-end completion within ~500ms–
650ms.
Product data retrieval API (GET /products): ~300–400ms with pagination and filtering
enabled.
Admin dashboard analytics load: ~700ms (product, user, and order stats combined).
Database transaction time: Ranges between 50ms–200ms depending on joins and indexes
Parameter Description
Time taken for backend endpoints to respond to
API Response Time
frontend requests
Time to render key UI components (React DOM
Page Load Time
mount + data fetch)
Database Query Time Execution time for MySQL queries via JPA
Table 5.2: Performance Parameters
Tools to Measure:
• Postman (look at the response time)
• Chrome DevTools > Network tab
• Typical target: ≤ 500ms for standard operations.
Factors affecting:
• DOM complexity
Tools to Measure:
3. Authentication Time
What it includes:
• Request hits /api/auth/login or /register
• Backend verifies credentials (find user, match password hash)
• If valid, generates a JWT token
• Returns the token and user info to frontend
Optimization Tips:
In MongoDB, use:
• MongoDB Compass (query profiler)
• explain() on queries in the shell
• Target: < 200ms for most queries; < 50ms for reads with indexing.
The development and deployment of a modern full-stack web application require a cohesive and
efficient set of technologies. The system is typically built and tested across different Operating
Systems. Most developers use Windows 11 for local development due to its user-friendly interface
and broad compatibility with software. For deployment and production environments, Ubuntu 22.04
LTS is commonly preferred because of its stability, security, and better support for server-based
applications.
On the frontend, the application utilizes React.js version 18.2.0, a powerful JavaScript library used
for building dynamic and interactive user interfaces. React 18 introduces features like concurrent
rendering, automatic batching, and useId for improved performance and user experience. It allows
developers to structure reusable components and efficiently manage the application’s state and
rendering.
The backend is powered by NODE.JS, a popular Java-based framework designed to simplify the
development of RESTful web services. The framework's ease of configuration, scalability, and
support for microservices architecture make it ideal for large-scale applications.
For database management, the system employs Mongodb a non-relational database that supports
complex queries, JSON fields, and high-performance indexing. It is used in to enable object-relational
mapping. This integration abstracts away the complexity of SQL queries and allows developers to
interact with the database using standard Java objects and repository interfaces.
The application development is supported by various developer tools. Postman is used to test and
debug API endpoints, allowing developers to verify request/response structures and response times.
Chrome DevTools is essential for frontend performance tuning, CSS debugging, and inspecting
Vidya Niketan college of Engineering, Bota B.E. (Computer)
51
network activities. For code development, Visual Studio Code (VS Code) is used for frontend (React)
projects due to its speed and large extension ecosystem, while IntelliJ IDEA is the preferred IDE for
backend development with Spring Boot, offering powerful code completion, debugging, and JPA
support.
The application is tested across modern web browsers, primarily Google Chrome (version 114 or
above) and Mozilla Firefox. Chrome offers superior developer tools and speed, while Firefox is
valuable for testing accessibility and privacy-focused behaviors. Ensuring compatibility across these
browsers guarantees a smooth experience for a wide range of users.
In conclusion, this technology stack and development environment ensure a streamlined, efficient,
and scalable approach to building full-stack applications. Each component is carefully chosen to
optimize performance, security, maintainability, and cross-platform compatibility, all of which are
crucial for delivering a reliable web application.
the backend efficiently handles encryption, token generation, and user validation logic without
significant delay.
The application’s UI design and navigation received a strong 4.7 rating, suggesting that users
find the layout visually appealing, intuitive, and easy to use. Key contributors to this positive
experience likely include the use of a consistent design system (such as Tailwind CSS), clean
component structure, responsive menus, and accessible navigation paths. High UI satisfaction
also implies fewer errors, smoother interaction flows, and a more engaging platform.
To evaluate the scalability and performance of the application under varying levels of user traffic, a load
test was conducted with concurrent users accessing the system simultaneously. The results provide
insight into how well the backend infrastructure and overall system handle increased demand.
When the system was tested with 10 concurrent users, the average response time was approximately 480
milliseconds. This indicates a quick and responsive system under low-load conditions, where server
resources, database connections, and API endpoints can handle requests with minimal latency.
As the number of concurrent users increased to 50, the average response time rose slightly to 510
milliseconds. The modest increase of only 30 milliseconds suggests that the application maintains solid
performance and efficient resource handling even as the demand grows. This shows effective backend
optimization, likely due to good asynchronous handling in Node.js or efficient request processing via
middleware.
At 100 concurrent users, the system reported an average response time of 570 milliseconds. While the
latency increases with the number of users, the response time remains well within acceptable limits for
real-time web applications. The backend appears to scale reasonably, indicating that the database
(MongoDB) and API server (Node.js + Express) are well-optimized for moderate traffic loads.
CONCLUSION
CHAPTER 6. CONCLUSION
1.1 ADVANTAGES:
• Promotes Sustainability
Encourages reuse and sharing, reducing waste and environmental impact.
• Reduces Clutter
Eliminates the need to store rarely used items.
• Community-Driven
Builds trust with features like user reviews, ratings, and secure payments.
• Secure System
JWT-based authentication ensures secure access and data handling.
1.2 DISADVANTAGES:
• Maintenance Responsibility
Owners need to ensure their items are functional and safe.
1.3 APPLICATIONS:
• Electronics Rental
Cameras, projectors, gaming consoles, laptops.
• Party/Event Supplies
Speakers, lighting systems, tents, furniture.
• Educational Use
Renting study aids, lab equipment, or instruments.
1.4 CONCLUSION:
Performance testing is a critical aspect of ensuring the success of any modern web application—
especially for platforms like Rentify, which deal with real-time user interactions, payments, and
inventory management.
• Speed and responsiveness across all modules, including user login, product browsing, cart
management, and checkout.
• Robust backend APIs and optimized database operations for smooth data flow.
By leveraging tools like JMeter, Postman, Lighthouse, and APM monitors, Rentify proactively
identifies and fixes performance bottlenecks before they impact users.
In conclusion, performance testing is not just a technical task but a strategic investment toward
delivering a stable, fast, and user-friendly rental platform—ensuring customer satisfaction and long-
term success.
• Geo-Location Features
Show nearby rentable items using maps and real-time location tracking.
• Subscription Plans
Monthly or yearly rental plans for frequent users.
REFERENCES
62
REFERENCES
PROJECT CERTIFICATE
CERTIFICATE OF COMPLETION
in partial fulfillment of the requirements for the award of the Bachelor of Engineering
(B.E.) degree in [Computer Engineering] under [SPPU] during the academic year 2024–
2025.
The work embodied in this project report is original and has been carried out under the
supervision of:
Date:
Place: