0% found this document useful (0 votes)
203 views

Furniture Renting System

Problem statement for furniture renting system.

Uploaded by

7984789201abc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
203 views

Furniture Renting System

Problem statement for furniture renting system.

Uploaded by

7984789201abc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 18

Furniture Renting System

Odoo combat-2024
Date: 29-06-2024

Team Name: [Insert Your Team Name]

By

Dev Kapadia

Harsh Prajapati

Deep Patel

Justin George

1
INDEX

Sr. Title Page


No No
Acknowledgement 5
Abstract 6
1 Introduction 7
1.1 Problem Statement (around 150 words) 7
2 Proposed Systems 7
2.1 Identified functional and no functional requirements 7
2.2 Use Case Diagram 9
2.3 Class Diagram 11
2.4 Sequence diagrams 12
3 Database Design Details 13
4 Description about selected technology API/Framework 14
5 16
Screens of developed web applications
6 Conclusion & Future Enhancement 20
References 20

2
Abstract

The Furniture Renting App is a cutting-edge frontend solution designed to


transform the furniture rental experience. Leveraging the power of HTML,
CSS, JavaScript, and React.js, this application offers a user-friendly and
responsive interface that facilitates easy navigation across a broad spectrum
of furniture categories. Users can browse through Living Room, Bedroom,
Dining Room, Home Office, and Outdoor furniture, each item meticulously
detailed with comprehensive descriptions, rental prices, and availability
status. The app's clean and modern design ensures a seamless browsing
experience, making it simple for users to find and rent the perfect furniture
for their needs.

Addressing the growing demand for flexible and temporary furniture


solutions, the Furniture Renting App provides a convenient alternative to
traditional furniture ownership. It caters to various user needs, from
individuals seeking short-term rentals to businesses requiring temporary
furnishings. By offering detailed information and real-time availability, the
application empowers users to make informed decisions, enhancing their
rental experience. The platform's robust design and intuitive interface ensure
that users can easily manage their rentals, from selection to checkout, all
within a few clicks.

Built with scalability and performance in mind, the Furniture Renting App
employs modern web development practices to deliver a reliable and
efficient service. The use of React.js allows for dynamic content updates and
a responsive user interface, ensuring the application performs well on all
devices and screen sizes. This project not only meets the current market
demand but also sets a new standard for the furniture rental industry,
providing a scalable and adaptable solution that can grow with the needs of
its users. By focusing on user experience and leveraging advanced web
technologies, the Furniture Renting App stands out as a premier choice for
both renters and providers in the evolving furniture rental market.

3
1. Introduction:

1.1 Problem Statement:

Creating a full-stack application for furniture renting involves developing


both the frontend and backend components to manage user interactions,
inventory management, payments, and booking processes.

Core Features:

 User Authentication and Profiles:


Allow users to register, log in, and manage their accounts.
Enable users to create profiles, update information, and view rental
history.
 Furniture Listings:
Display a catalog of available furniture items for rent.
Include details such as item descriptions, rental prices, availability
status, and high-quality images.
 Search and Filter:
Implement search functionality to allow users to find specific furniture
items based on keywords, categories, or attributes.
Provide filtering options for price range, item type, location, etc.
 Booking and Reservation:
Allow users to select desired rental dates and add items to their cart or
wishlist.
Implement a booking system to confirm reservations and manage
availability calendars.
 Payment Integration:
Integrate payment gateways (e.g., UPI, Stripe) to facilitate secure online
payments for rentals.
Provide users with payment confirmation and receipts

4
2. Proposed Systems:

2.1 Identified functional and non functional requirements:

Functional requirements:

 User Authentication and Profiles:


 Allow users to register with their email address.
 Implement secure login functionality with credentials stored securely.
 Users should be able to update their profile information (e.g., name, contact
details).
 Display a history of past rentals for each user.

 Furniture Listings:
 Show a list or grid of furniture items available for rent.
 Each item should have a detailed page with description, rental price,
availability status, and high-quality images.
 Users can click to view more information about each furniture item.

 Search and Filter:


 Allow users to search for furniture items using keywords.
 Implement filters such as price range, item type (e.g., sofa, bed), and location
(e.g., city).
 Enable sorting options for search results by price.

 Booking and Reservation:


 Users should select desired rental dates for furniture items.
 Implement functionality to add items to a cart or wishlist.
 Confirm reservations through a booking system..

 Payment Integration:
5
 Integrate with secure payment gateways Stripe.
 Ensure users receive payment confirmation.

Non-Functional requirements :

 Performance:
 The app should load quickly and handle user requests efficiently.
 The backend should be able to handle a large number of concurrent users
without performance degradation.

 Scalability:
 The app should be designed to scale easily to accommodate a growing number
of users and inventory items.
 The architecture should support adding new features and functionalities with
minimal impact on existing components.

 Security:
 User data, including personal information and payment details, should be
securely stored and transmitted.
 The app should implement robust authentication and authorization
mechanisms to protect against unauthorized access.

 Usability:
 The app should have an intuitive and user-friendly interface.
 The navigation should be simple and logical, making it easy for users to find
what they need.
 The app should be accessible to users with disabilities.

 Reliability:
 The app should be reliable and available 24/7, with minimal downtime.
6
 The app should handle errors gracefully and provide meaningful error
messages to users.

 Maintainability:
 The codebase should be well-documented and follow best practices for
readability and maintainability.
 The app should be designed with modularity in mind, allowing for easy
updates and maintenance.

 Compatibility:
 The app should be compatible with various web browsers and devices,
ensuring a consistent experience across different platforms.
 The app should be responsive, adapting to different screen sizes and
resolutions.

 Data Integrity:
 The app should ensure the accuracy and consistency of data, especially in the
context of inventory management and user transactions.
 Regular backups should be implemented to prevent data loss.

2.2 Use Case Diagram

Use Case: Furniture Renting System


7
Primary Actor: Customer
Precondition: The furniture renting system should be operational.
Trigger: Customer accesses the furniture renting system website or app.
Scenario:
1. Customer logs into the renting system using their credentials.
2. Customer browses available furniture categories (e.g., sofas, tables,
beds).
3. Customer selects desired furniture items and specifies rental details
(duration, delivery date, quantity, etc.).
4. Customer confirms the rental details and makes payment for the
rental.
5. Renting system confirms the rental and schedules delivery or pickup.
6. On the scheduled date, the furniture is delivered to the customer's
specified location.
7. Customer uses the rented furniture during the rental period.
8. At the end of the rental period, the system notifies the customer for
furniture pickup.
9. Renting system collects the rented furniture upon completion of the
rental period.
10. Customer receives confirmation of furniture return and any
necessary refund or deposit adjustments.
11. Customer can view past rentals, invoices, and rental history.

Exception:
1. System downtime may delay booking updates or confirmations.
2. Incorrect furniture availability or description may cause rental
failures.
3. Insufficient payment information may prevent rental confirmation
Priority: Ensuring smooth rental booking, accurate scheduling, timely
delivery, and customer satisfaction are critical priorities for the system.

8
9
2.3 Class Diagram:

10
2.4 Sequence diagrams

User story for User Registration:


- The user can access the registration page.
- They can fill out the registration form with their username, email, and
password.
- After submitting the form, the user receives a confirmation message
that their registration was successful.
- Upon registration, the user can log in with their credentials.

11
User story for Furniture Booking:
- The user can log in using their username and password.
- They can browse the catalog of available furniture items.
- The user can select a furniture item and view its details, including
rental options.
- They can enter rental details such as rental dates and quantity.
- After confirming their rental details, the user receives a confirmation
message that their booking was successful.
- The furniture item becomes unavailable for other users during the
user's rental period.

12
3. Database Design Details

Data dictionary:

a) Admin Table:
Field Name Data Type Description
_id ObjectId Unique identifier automatically generated by MongoDB for each user.
username String User's username used for authentication and identification.
email String User's email address used for authentication and communication.
password String User's password stored securely using encryption.
profile Subdocument Contains additional profile information about the user.
profile.fullName String User's full name.
profile.address String User's address information.
profile.phone String User's phone number.
profile.city String User's city of residence.
profile.state String User's state or province of residence.
profile.zipcode String User's ZIP code or postal code.
isVerified String Verification status of the user's email address (default: "false").
role String User's role in the system (default: "user").
notification Array Array of notifications received by the user.
notification.title String Title or subject of the notification.
notification.date Date Timestamp when the notification was received (default: current date/time).
createdAt Date Automatically generated timestamp indicating when the user account was created.
updatedAt Date Automatically updated timestamp indicating when the user account was last modified.

Sr No. Field Name Type length Extra properties


1 Id Varchar 255 Primary key, Not
Null
2 Email Varchar 255 Not Null
3 Password Varchar 255 Not Null

b) Subject Table

Sr No. Field Name Type length Extra properties


1 Id Varchar 255 Primary key,
Not Null
2 Q no Varchar 255 Not Null
3 question Varchar 255 Not Null
4 A1 Varchar 255 Not Null
13
5 A2 Varchar 255 Not Null
6 A3 Varchar 255 Not Null
7 A4 Varchar 255 Not Null
8 ANS Varchar 255 Not Null

c) Student Table:

Sr No. Field Name Type length Extra properties


1 Id INT Unsigned 3 Primary key, Not
Zerofill Null
2 Username Varchar 255 -
3 Email Varchar 255 -
4 Password Varchar 255 Not Null
5 Marks Int 100 Not Null

14
4. Description about selected technology

API/Framework React Js:

React.js is a powerful JavaScript library renowned for its efficiency in building


interactive user interfaces. It simplifies UI development through its
component-based architecture, enabling developers to create reusable and
maintainable UI components. Widely used in modern web development,
React.js excels in creating responsive single-page applications and large-scale
web platforms across various sectors, including e-commerce, social media, and
enterprise systems. Its ability to handle dynamic data and facilitate smooth
updates without full page reloads makes it a preferred choice for developers
aiming for fast, interactive web applications.

Tailwind CSS:

Tailwind CSS is a utility-first CSS framework that streamlines the process


of building modern and responsive web interfaces. It provides a
comprehensive set of utility classes that you can apply directly in your
HTML, enabling rapid prototyping and efficient styling without writing
custom CSS. Tailwind CSS promotes a functional approach to styling by
focusing on small, single-purpose utility classes (e.g., bg-blue-500, px-4,
rounded-lg) that can be combined to create complex designs.

Developers appreciate Tailwind CSS for its flexibility and ease of


15
customization, allowing them to maintain a consistent design system
while speeding up development cycles. By eliminating the need for
traditional CSS preprocessing, Tailwind CSS empowers developers to
build scalable and maintainable UIs that are highly responsive and
optimized for performance. It has gained popularity among frontend
developers for its ability to facilitate rapid iteration and collaboration in
creating modern web applications and interfaces.

Express Js:

Express.js, often referred to simply as Express, is a flexible and


minimalist web application framework for Node.js. It simplifies the
process of building robust web applications and APIs by providing a set of
powerful features and middleware. Express.js is known for its lightweight
nature and versatility, making it ideal for developing both small-scale
applications and complex, scalable web services. It supports various
HTTP utility methods and middleware functions, allowing developers to
handle requests and responses effectively. Express.js is widely adopted in
creating server-side applications, RESTful APIs, and real-time web
applications due to its ease of use and extensive ecosystem of plugins and
extensions.

Stripe Payment Integration:

Stripe is a leading payment gateway platform that provides developers with


powerful APIs and tools to integrate secure online payment processing into
applications. Developers often choose Stripe for its simplicity, robust
documentation, and extensive feature set, which include handling payments,
16
subscriptions, and managing billing cycles. Its flexibility and scalability make it
suitable for businesses of all sizes, from startups to enterprise-level applications.
Stripe's developer-friendly approach and support for various programming
languages and frameworks, including JavaScript, Python, and PHP, make it a
popular choice for seamless and reliable payment integration in e-commerce
websites, mobile apps, and SaaS platforms.

MongoDB:

MongoDB is a versatile and scalable NoSQL database system known for its
flexibility and ease of use in handling unstructured or semi-structured data. It
stores data in JSON-like documents, making it ideal for projects requiring
flexible schemas and quick iteration. MongoDB's distributed architecture
supports horizontal scaling across multiple servers, ensuring high availability and
performance for applications with large datasets or high throughput requirements.
Developers appreciate MongoDB for its rich query language and powerful
aggregation framework, which simplify data manipulation and analysis tasks. It is
widely used across various industries, including e-commerce, social networking,
and content management systems, where its document-oriented model and fast
query capabilities contribute to efficient application development and
deployment.

17
5. Conclusion & Future Enhancement:

The development of our web-based furniture renting application has successfully


implemented essential functionalities for user interaction and operational
management. Users can securely register, log in, and manage their accounts, with
personalized profiles enabling easy updates and access to rental history. The
platform effectively showcases furniture listings with detailed descriptions,
pricing, availability, and images, enhancing transparency and facilitating
informed choices. Search and filtering capabilities further improve user
experience by allowing quick navigation through furniture options based on
keywords, categories, and other attributes. The booking system ensures seamless
reservation processes, providing users with timely confirmations and integrating
secure payment gateways like Stripe for efficient transactions.

Looking ahead, several enhancements could further enrich our application.


Implementing a recommendation engine based on user preferences would
personalize the browsing experience, suggesting relevant furniture options. Real-
time updates on furniture availability would ensure accuracy during booking,
enhancing user confidence. Developing a responsive mobile interface would
extend accessibility, allowing users to browse, manage rentals, and receive
notifications on mobile devices. Integrating social media sharing features would
promote user engagement and attract new customers. Additionally, an analytics
dashboard for administrators could provide insights into user behavior and
inventory performance, guiding strategic decisions. These enhancements aim to
elevate user satisfaction, expand our reach, and optimize operational efficiency
within the competitive furniture rental market.

References:
https://react.dev/
https://expressjs.com/
https://www.mongodb.com/docs/
https://chatgpt.com/

18

You might also like