Project Title: Book Sharing Platform
Category: Web Application
Project File: Download Project File
Muhammad Ilyas
muhammad.ilyas@vu.edu.pk
live:.cid.813fc730d8c19cf8
Book Sharing Platform
Project Domain / Category
Web Programming
Abstract:
The Book Sharing Platform is a web-based community application that allows users to share and borrow both physical and digital books. Each registered user can act as both a sharer (when listing books) and a borrower (when requesting books). For physical books, the system not only tracks availability but also provides a simple communication mechanism for users to schedule offline exchanges (date, time, location). For digital books, the system supports uploads/downloads with logical “return” tracking. The project demonstrates essential full-stack concepts: user authentication, CRUD operations, request workflows, and database design using Flask and SQLite.
Functional Requirements:
User Management
Users can register, log in, and manage their profile.
User roles:
Member (default): Can share books and borrow books.
Admin: Can manage all books and users, and remove inappropriate entries.
✦ Book Management
Add new books with details: title, author, category, type (physical/digital).
For physical books: include location/availability notes.
For digital books: upload file (e.g., PDF) or provide a download link.
Edit or delete only books added by the logged-in user.
Borrowing & Returning Workflow
Members can search/filter books by title, author, or category.
Borrow Request:
Borrower clicks “Request to Borrow”.
A small form appears to propose date, time, and location for exchange.
Request is stored in the database and sent to the owner’s dashboard.
Owner Actions:
View incoming requests.
Accept, reject, or suggest an alternative (edit request fields).
Borrow Confirmation:
Once accepted, system marks book as Borrowed.
Borrow request details (date, time, location) are visible to both users.
Returning:
Physical books: Owner marks as Returned.
Digital books: Borrower clicks Mark as Returned (or system auto-returns after 7 days).
Book status always flows as: Available → Borrowed → Returned.
User Dashboard
• My Books (Shared): Books added by the user + requests from others.
Page 34 of 167
Borrowed Books: Books borrowed by the user + scheduled exchange details.
Admin Dashboard
View all listed books.
Remove duplicate/inappropriate entries.
Manage or block abusive users.
How Sharing & Borrowing Works:
Physical Books:
Sharing: Member adds details → marked Available.
Borrowing: Borrower submits request with proposed date, time, and location.
Scheduling: Owner reviews and accepts/rejects/suggests changes.
Exchange: Actual handover offline → system marks book as Borrowed.
Returning: Owner marks as Returned once the book is received back.
Digital Books:
Sharing: Member uploads file or adds download link.
Borrowing: Borrower clicks Borrow → download allowed, status Borrowed.
Returning: Borrower clicks Mark as Returned (or system auto-returns).
Required Tools
Frontend
1. HTML, CSS, JavaScript (UI, forms, and interactions)
Backend
Flask (Python) – backend framework
SQLite – database
Flask-Login – authentication/session management
Werkzeug – password hashing
Jinja2 – template rendering
Supervisor:
Name: Muhammad Ilyas
Email ID: Muhammad.ilyas@vu.edu.pk
MS Teams ID: ilyas.vu@outlook.com
No schedules available for this project.
No reviews available for this project.