Book Sharing Platform
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 content.
✦ 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 → Available.
✦ User Dashboard
- My Books (Shared): Books added by the user + requests from others.
- 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 after 7 days).
-
Tools & Technologies
- HTML, CSS, JavaScript (UI, forms, and interactions), Flask (Python) – backend framework, SQLite – database, Flask
- Login – authentication/session management, Werkzeug – password hashing, Jinja2 – template rendering
Faisal Mehmood
Faisal Mehmood Expert in CS619 Final Year Projects and software development.
View all projects