Skip to content

likhitha58/EpicShelf

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EpicShelf

Introduction

EpicShelf is a web app for buying, selling, and renting books effortlessly. Whether you want to sell old books, find affordable reads, or rent textbooks, EpicShelf connects readers and sellers seamlessly. With a user-friendly interface, it simplifies book transactions while promoting sustainability through book reuse and accessibility.

Objective

EpicShelf aims to empower small businesses, especially Instagram sellers, by providing a dedicated platform to list and sell books easily. It offers a seamless experience for users to buy, sell, and rent books while ensuring affordability and accessibility. The rental system includes a security feature where renters must maintain a minimum balance of 125% of the book's price. By promoting book reuse and sustainable reading habits, EpicShelf creates a community-driven marketplace that supports both sellers and readers.

Abstract

EpicShelf is an innovative online platform designed to simplify the buying, selling, and renting of books while empowering small businesses, particularly independent sellers from platforms like Instagram. By bridging the gap between book enthusiasts and sellers, EpicShelf creates a seamless and user-friendly marketplace where individuals can effortlessly list, discover, and acquire books.

The platform introduces a structured rental system where renters must maintain a minimum balance of 125% of the book’s price, ensuring smooth transactions and accountability. Sellers are required to maintain a minimum wallet balance of ₹500 to list books, reinforcing a secure and trustworthy ecosystem. Additionally, EpicShelf incorporates a digital wallet, secure payment gateways, and an automated rental duration tracker, enhancing user experience and security.

With a focus on accessibility, sustainability, and community-driven commerce, EpicShelf encourages book reuse while making reading affordable and convenient. The platform prevents direct communication between buyers and sellers outside the system, ensuring a safe and controlled environment. A robust admin dashboard facilitates dispute resolution, transaction monitoring, and platform analytics, optimizing operational efficiency.

Built using PHP as the core backend technology, along with MySQL for database management and Bootstrap, JavaScript, and CSS for a responsive user interface, EpicShelf delivers a fully functional and scalable web solution. With features like an intuitive search and filter system, wallet-based transactions, and integrated customer support, EpicShelf redefines the online book marketplace, fostering a sustainable and efficient book trading community.

Scope of Work

  1. User management
    a) Register and login page

      i) User
      ii) Seller
      iii) Admin
    

    b) Profile management for listing and transaction history

  2. Book Listings & Transactions
    a) Sellers can list books with details

         i) Title
         ii) Author
         iii) Price
         iv) Condition [New/Old]
         v) Images
         vi) Rent or sell
         vii) Catagory [Crime/Thriller/Suspense/Love/etc]
    

    b) Buyers can browse, search, and purchase books
    Search by:

          i) Title
         ii) Author
        iii) Category
    

    Filter By:

          i) Price
         ii) Condition [New/Old]
         iii) Rent/Sell
          iv) Category
    

    Sort By:

          i) Price
          ii) Listing date
    

    c) Recharge wallet

        i) Renters can request books with a minimum balance of 125% of the book price
        ii) Automated rent duration tracking and book return management
     
  3. Payment & Security
    a) Integration of payment gateways for buying, selling, and renting
    b) Secure transactions and balance management
    c) Wallet management

  4. Admin Dashboard
    a) Manage users, listings, and transactions
    b) Monitor rental balances and disputes
    c) Incase of damage of book, 90% of the book amount will go to seller from users wallet

  5. Notifications & Communication
    a) Email notifications for transactions
    b) Chat with admin for any disputes

User Management

EpicShelf will have a robust User Management System to handle different types of users, including buyers, sellers, and renters, ensuring a seamless experience across the platform.

There will be 3 pages similar to this for:

  1. User
  2. Seller [The seller needs to add a security deposit of minimum Rs. 500 can be withdraw
    anytime but if any book is listed cannot be withdrawn and if balance less than 500,
    New book cannot be listed]
  3. Admin [This will have an extra field: Employee ID]
  1. User Registration
    • Email
    • Phone number
    • Name
    • DOB
    • Address
    • Password
    • Confirm_Password
    • Gender
    • Profile_Photo
  2. Login for Users
    • Email/Phone_number
    • Password
    • Remember Me{CheckBox}
  3. Authentication
    • SignUp/Login with Email
    • Forget Password

2. Profile Management

  1. User can update personal info like
    • Name
    • Contact
    • Address
    • Profile picture
    • Private profile/Public{Public will show the books read/ordered by the perticular person}
  2. Sellers can update personal info like
    • Name
    • Contact
    • Address
    • Profile picture
  3. Seller Managent
    • Book Listings
    • Track Sales
    • Set mimimum account balance for a perticular book rental
    • Profile picture
    • Transaction history and Income
    • Reviews
    • Rating
    • Chat with Costomer Care[Admin]
  4. User Profile
    • Rental history
    • Order history
    • Wallet
    • Wishlist
    • Cart
    • Return Date[For rent] and rent cost
    • Number of books read[Only for public account]
    • Chat with Costomer Care[Admin]
  5. Admin
    • Monitor users
    • Chat with seller and user in case of disputs
    • Manage transaction
    • Analytics of customers
    • Income[5% of the transaction to be transfered admin incase of disputs 10% to be transfered]
    • All the contact between the user and seller to be done over website. Sharing email id/Contact number will mark '*' in the chat

Sample Requisition

  1. User Requisition
    • User visits the registration page
    • Provides email, phone number, password, and personal details
    • Verifies account via OTP/email confirmation
    • Logs into the platform
          SampleUser register and login example in Json request
          {
            "name": "John Doe",
            "email": "johndoe@example.com",
            "phone": "+919876543210",
            "password": "Secure@123",
            "confirm_password": "Secure@123",
            "dob": "2000-04-15",
            "address": "123, Book Street, Delhi, India",
            "gender": "Male",
            "profile_photo": "profile_image_url"
          }
       
  2. Book Listing (Seller)
    • Seller logs in and navigates to the listing section
    • Fills in book details and selects rent or sell option
    • Book is listed after verification
          Sample Book Listing example in Json request
          {
            "seller_id": 202,
            "book_title": "Data Science Essentials",
            "author": "Jane Smith",
            "price": 350.00,
            "condition": "New",
            "images": ["image1_url", "image2_url"],
            "category": "Technology",
            "listing_type": "Sell"
          }
       
  3. Book Search & Purchase
    • Buyer searches/filter books
    • Adds book to cart
    • Proceeds to checkout and payment
    • Receives confirmation
          Sample Book Search example in Json request
          {
            "search_query": "Python",
            "filters": {
              "price_range": [100, 500],
              "condition": "New",
              "category": "Programming"
            }
          }
       
           Sample Book Search example in Json response
          {
            "books": [
              {
                "book_id": 302,
                "title": "Advanced Python Programming",
                "author": "John Coding",
                "price": 299.00,
                "condition": "New"
              },
              {
                "book_id": 405,
                "title": "Python for Data Science",
                "author": "Jane Smith",
                "price": 450.00,
                "condition": "New"
              }
            ]
          }
       

          Sample Book  Purchase example in Json request
          {
            "user_id": 101,
            "book_id": 302,
            "payment_method": "Wallet"
          }
       

          Sample Book  Purchase example in Json response
          {
            "transaction_id": 9001,
            "message": "Purchase successful. Book will be delivered soon."
          }
       
  4. Book Rental Process
    • User selects rent option
    • System checks if wallet has minimum balance (125% of book price)
    • Transaction is processed
    • System tracks return date.
          Sample Book Rental example in Json request
          {
            "user_id": 101,
            "book_id": 405,
            "rental_days": 15,
            "wallet_balance": 500.00
          }
       
       Sample Book Rental example in Json response
       {
         "rental_id": 8001,
         "book_title": "Python for Data Science",
         "rental_cost": 20.00,
         "return_date": "2025-03-15",
         "message": "Rental successful"
       }
       
  5. Payment Process
    • User selects payment method
    • System processes transaction via gateway
    • Wallet updated accordingly.
          Sample Payment example in Json request
          {
            "user_id": 101,
            "transaction_type": "Recharge",
            "amount": 1000.00,
            "payment_method": "UPI"
          }
       
       Sample Payment example in Json response
       {
         "transaction_id": 55501,
         "user_id": 101,
         "wallet_balance": 1150.00,
         "message": "Wallet recharged successfully"
       }
       
  6. Review Posting
    • User purchases a book → A transaction is recorded
    • After order delivery, the system unlocks the review feature
    • User navigates to the book’s page and clicks on "Write a Review"
    • The system checks if the user has a completed transaction for this book
    • If verified, the user submits the review (rating + comment)
    • The review is stored in the database and displayed on the book page
          Sample Review posting example in Json request
          {
            "user_id": 101,
            "book_id": 302,
            "rating": 4.5,
            "comment": "Great book! Very insightful and well-written."
          }
       
       Sample Review posting example in Json response success
       {
         "review_id": 6001,
         "message": "Review submitted successfully.",
         "book_id": 302,
         "rating": 4.5,
         "comment": "Great book! Very insightful and well-written."
       }
       
          Sample Review posting example in Json response success
          {
            "error": "You can only review books you have purchased.",
            "status": 403
          }
       

    Additional:

    1. Admin can flag inappropriate reviews
    2. Sellers can report fake reviews
    3. Reviews can be edited only within 24 hours of posting

Technology Used

  1. Frontend Scripting
    1. HTML5
    2. CSS3
    3. JavaScript(ES6+)
    4. Bootstrap(v5.3)
  2. Server Side Scripting
    1. PHP(v8.3)
  3. Database
    1. MySQL(Version: 8)
  4. UI/UX Design
    1. Figma
    2. Adobe Photoshop Online

Contributors

  1. Aadarsh Senapati
  2. K. Praveen Kumar
  3. DNV Likhitha
  4. T. Likhitha

About

EpicShelf is a web app for buying, selling, and renting books effortlessly. Whether you want to sell old books, find affordable reads, or rent textbooks, EpicShelf connects readers and sellers seamlessly. With a user-friendly interface, it simplifies book transactions while promoting sustainability through book reuse and accessibility.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • PHP 73.4%
  • CSS 13.3%
  • Hack 8.3%
  • JavaScript 5.0%