SRS Document
SRS Document
Specification
for
BooKaro
Prepared by
Jan 29 , 2025
Copyright © 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this
document.
Table of Contents
Table of Contents........................................................................................................................... ii
1. Introduction..............................................................................................................................1
1.1 Purpose..............................................................................................................................................1
1.2 Document Conventions.....................................................................................................................1
1.3 Intended Audience and Reading Suggestions................................................................................... 1
1.4 Product Scope................................................................................................................................... 1
1.5 References......................................................................................................................................... 1
2. Overall Description..................................................................................................................2
2.1 Product Perspective...........................................................................................................................2
2.2 Product Functions............................................................................................................................. 2
2.3 User Classes and Characteristics.......................................................................................................2
2.4 Operating Environment.....................................................................................................................2
2.5 Design and Implementation Constraints........................................................................................... 2
2.6 User Documentation......................................................................................................................... 2
2.7 Assumptions and Dependencies........................................................................................................3
3. External Interface Requirements........................................................................................... 3
3.1 User Interfaces.................................................................................................................................. 3
3.2 Hardware Interfaces.......................................................................................................................... 3
3.3 Software Interfaces........................................................................................................................... 3
3.4 Communications Interfaces...............................................................................................................3
4. System Features....................................................................................................................... 4
4.1 System Feature 1- Inventory Management and Real-Time Book Availability................................. 4
4.2 System Feature 2- User Driven Listing.............................................................................................4
4.3 System Feature 3 - Dynamic Pricing................................................................................................ 4
4.4 System Feature 4- Affordable and Flexible Payment Options..........................................................4
4.5 System Feature 5 - User Verification for Security............................................................................ 4
5. Other Nonfunctional Requirements....................................................................................... 4
5.1 Performance Requirements............................................................................................................... 4
5.2 Safety Requirements......................................................................................................................... 5
5.3 Security Requirements...................................................................................................................... 5
5.4 Software Quality Attributes.............................................................................................................. 5
5.5 Business Rules.................................................................................................................................. 5
6. Other Requirements................................................................................................................ 5
Appendix A: Glossary................................................................................................................... 5
Appendix B: Analysis Models....................................................................................................... 5
Appendix C: To Be Determined List............................................................................................ 6
1
1. Introduction
1.1 Purpose
This document outlines the software requirements for the Book Karo e-commerce platform, aimed
at providing college students with a secure, user-friendly platform to buy, sell, and rent textbooks,
as well as other materials. The document specifies the functional, non-functional, and technical
requirements for the system, as well as the design and security features.
Reading Suggestions:
Developers & Managers: Product Scope → Functional & Technical Requirements
Testers: Testing Requirements → Functional & Non-Functional Requirements
Stakeholders: Product Scope → Functional Requirements
The platform is built to be user-friendly, offering a customizable experience based on user preferences,
with multiple payment options for affordability and security. The system aims to offer a one-stop solution
for students’ textbook needs.
1.5 References
Google Books API: https://developers.google.com/books
Open Library API: https://openlibrary.org/developers
1
The system will need to interface with external payment gateways for transactions, as well as third-party
service providers for shipping or delivery services, ensuring smooth operations. As the platform grows, it
may also interface with academic institutions for bulk orders or textbook recommendations.
A diagram of the system can show the core features like user management, book inventory
management, and transaction processing interacting with external systems (payment gateways, delivery
services).
User Registration & Account Management: Allows students to sign up, create accounts, and
manage their profiles.
Book Listings: Enables students to post new or used books for sale or rent, including notes and
previous year questions (PYQs).
Book Search: Search functionality based on course name, author, title, condition (new/second-hand),
and price range.
Real-time Inventory Management: Tracks book availability and prevents over-selling or
under-selling by updating inventory in real-time.
Transaction Processing: Handles secure payments and confirms transactions for book purchases
or rentals.
Ratings & Reviews: Allows users to rate books and sellers, providing transparency and building
trust.
Notifications: Sends alerts about book availability, price drops, or transaction status.
Security: Ensures secure user authentication and transaction processing.
Student Sellers:
Frequency of Use: Occasional users, mostly when students want to sell their used books or
notes after completing a course.
Characteristics: Students who are selling books and notes to earn money or make textbooks
available for other students.
2
Privileges: Can list books, set prices, and manage their inventory. Can also view buyer feedback
and ratings.
Admin/Platform Owner:
Frequency of Use: Frequent, as they are responsible for overseeing platform operations.
Characteristics: Administrative users who manage the overall platform, book listings, and user
accounts.
Privileges: Full access to manage book listings, handle user disputes, and monitor financial
transactions.
Hardware Platform: The platform is designed to be accessible on both desktop and mobile
devices, ensuring students can use the service anywhere.
Operating Systems: It will be compatible with major operating systems, including Windows,
macOS, and Linux for desktop use, and iOS and Android for mobile applications.
Software Dependencies:
Web application framework: React or Angular (Frontend)
Backend: Node.js with Express for API handling
Database: MongoDB or PostgreSQL for storing user, book, and transaction data
Payment Gateway: Stripe or PayPal for secure payment processing
User Manual: A comprehensive guide detailing how to use the platform, covering account
registration, searching for textbooks, buying, selling, and renting textbooks, and managing user
profiles.
Online Help: In-app help and FAQs that guide users through common actions and
troubleshooting steps.
Tutorials: Step-by-step tutorials that demonstrate how to list books for sale, make purchases, and
leave reviews.
Technical Documentation: For developers and administrators, detailing system architecture,
APIs, and integration points.
3
Dependencies:
Third-Party APIs: The platform depends on external APIs (Google Books API, Open Library API) for
book data and payment gateway APIs (Stripe) for transaction handling.
External Libraries and Frameworks: The project relies on frameworks like React.js for frontend, Django
for backend, and Firebase for real-time capabilities. Any significant updates or discontinuations of these
technologies could affect the system.
Book Listings Page: Displays books in grid format with thumbnail images, price, and availability.
Negotiation Chat Module: Enables students to discuss and finalize deals.
Payment Gateway: Secure checkout with various payment options.
4
Device Compatibility:
Desktop and laptop computers (Windows, macOS, Linux)
Tablets and smartphones (Android, iOS)
Server Requirements:
For databases, the platform will use MySQL or MongoDB for structured data storage, handling
inventory, users, and transactions, while Redis will be utilized for caching real-time inventory
status to enhance performance.
In terms of external services and APIs, the platform will incorporate Stripe, PayPal, and
UPI-based payment gateways to ensure secure transactions. User authentication will be
managed through Firebase/OAuth, enforcing secure login via college email verification.
A real-time messaging system will be enabled using Twilio or WebSockets to facilitate smooth
communication between buyers and sellers. Data exchange between the front-end and back-end
will be handled through a secure JSON-based API, while RESTful services will be implemented
for dynamic pricing adjustments.
Electronic Forms:
Forms will capture user details and book listings, with real-time validation to ensure secure and accurate
5
data entry.
Synchronization Mechanisms:
Optimized for fast, reliable data transfer, with load balancing during peak times for responsiveness.
Standardized message formats will ensure clear communication, with internationalization features for
region-specific users.
Search Speed: Search results for textbooks must appear within 2 seconds, even during high traffic.
Rationale: Provides users with a fast and seamless search experience, ensuring usability.
Concurrent User Support: The system should support up to 10,000 concurrent users without
performance issues.
Rationale: As the platform grows, it must handle heavy usage without slowing down.
Order Processing: The platform should process and confirm orders within 5 seconds, with real-time
updates on order status.
Rationale: Ensures a quick and responsive user experience, especially during checkout.
Authentication: Implement two-factor authentication (2FA) for logins and critical actions like changing
account info or making payments.
Rationale: Adds an extra layer of security to protect user accounts.
7
Role-Based Access Control: Enforce access restrictions so that only authorized users can access
sensitive data or manage listings.
Rationale: Prevents unauthorized access and ensures data integrity.
Internationalization:
Support multiple languages for broader accessibility.
Currency conversion for international transactions.
Legal Compliance:
Adhere to e-commerce regulations and consumer protection laws.
Appendix A: Glossary
SRS: Software Requirements Specification. A document describing the functional and non-functional
requirements of the software.
E-commerce Platform: An online system enabling users to buy, sell, and rent textbooks and other
study materials.
User: A general term referring to anyone interacting with the platform, including buyers, sellers, and
renters.
Seller: A user who lists textbooks or study materials for sale or rent.
Buyer: A user who searches for, selects, and purchases or rents textbooks.
8
Admin: A user with administrative privileges to manage the platform, including inventory
management, user verification, and resolving issues.
PYQs: Previous Year Questions. Past exam papers available on the platform as study materials.
Dynamic Pricing: A system that adjusts the price of textbooks based on factors like demand,
condition, and competition.
Inventory Management: The process of tracking and updating the availability of textbooks and
materials in real time.
2FA: Two-Factor Authentication. An added security step requiring users to verify their identity through
a secondary method like OTP or email verification.
OTP: One-Time Password. A temporary password sent to users for authentication purposes.
UI/UX: User Interface/User Experience. Refers to the design and ease of use of the platform.
API: Application Programming Interface. A set of protocols for connecting the platform with external
systems like Google Books or payment gateways.
Google Books API: An external service used to fetch detailed book information, such as author, title,
and reviews.
Payment Gateway: A secure system used to process online payments, like Stripe or PayPal.
Cart: A virtual shopping cart where users add items they intend to buy or rent before checkout.
Wishlist: A feature allowing users to save items for future consideration without adding them to the
cart.
Order Summary: A detailed summary of an order, including item details, price, and delivery
information.
Chat Platform: A feature enabling direct communication between buyers and sellers for negotiations
or queries.
Verification Email: An email sent to validate a user’s email address during registration or 2FA.
Filters: Options provided to refine search results based on parameters like price, genre, or condition.
Sorting: Organizing search results based on preferences like price, popularity, or date added.
Second-Hand Textbooks: Used textbooks available for resale or rent on the platform.
Scalability: The ability of the platform to handle an increasing number of users or transactions.
Secure Payment Gateway: A trusted system for processing payments securely while ensuring
compliance with industry standards.
Real-Time Book Availability: An up-to-date reflection of the inventory showing which books are
currently in stock.
9
Multi-Language Support
Finalize the list of languages to be supported for international users.