Furniture Renting System
Furniture Renting System
Odoo combat-2024
Date: 29-06-2024
By
Dev Kapadia
Harsh Prajapati
Deep Patel
Justin George
1
INDEX
2
Abstract
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:
Core Features:
4
2. Proposed Systems:
Functional requirements:
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.
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.
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
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.
b) Subject Table
c) Student Table:
14
4. Description about selected technology
Tailwind CSS:
Express Js:
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:
References:
https://react.dev/
https://expressjs.com/
https://www.mongodb.com/docs/
https://chatgpt.com/
18