Software Requirements Specification for Pet Adoption - Refayatul/petAdoption GitHub Wiki
Software Requirements Specification
for Pet Adoption and Care Platform
Version 1.0 approved
Prepared by:
Name | ID |
---|---|
Abdullah Al Galib | 2252421049 |
Rimon Mia | 2252421051 |
Md. Refayatul Islam | 2252421059 |
Paromita Chanda | 2252421089 |
Maghla Akter | 2252421103 |
Institution: Bangladesh University of Professionals
Date: 8 May, 2025
Table of Contents
- Introduction
- 1.1 Purpose
- 1.2 Document Conventions
- 1.3 Intended Audience and Reading Suggestions
- 1.4 Product Scope
- 1.5 References
- Overall Description
- 2.1 User Classes and Characteristics
- 2.2 User Needs
- 2.3 Operating Environment
- 2.4 Constraints
- 2.5 Assumptions
- External Interface Requirements
- System Features
- 4.1 Pet Listing System
- 4.2 Adoption Request Form
- 4.3 User Registration / Login System
- 4.4 Pet Filter and Search
- 4.5 Pet Gallery
- 4.6 Care Tips Section
- 4.7 Pet of the Week Feature
- 4.8 Favorite Pets List
- 4.9 Recently Viewed Pet
- 4.10 Review System
- Other Non-Functional Requirements
- Other Requirements
Appendix C: To Be Determined List
1. Introduction
1.1 Purpose
The aim of this document is to present a detailed description of the Web . It will show the features and purpose of the system, what the system will do ,the interfaces of the system, the constraints under which it must operate and how the system will react to external stimuli. The document is planned for the developers as well as stakeholders of the system, and also will be presented to the authority for their suggestions.
1.2 Document Conventions
This SRS follows the IEEE Std 830-1998 format. Key conventions include:
- Bold for section titles and key terms.
- Italics for references and examples.
Monospace
for technical elements like code or database fields.- Requirements are labeled as REQ-XXX and assigned a priority: High, Medium, or Low (not inherited from higher-level items). These standards ensure clarity, consistency, and ease of use for all readers.
1.3 Intended Audience and Reading Suggestions
- Developers – to understand and implement the required system functionalities and user interactions.
- Project Managers – to monitor progress, manage resources, and ensure the platform aligns with project goals and deadlines.
- Pet Shelter Staff / Animal Welfare Organizations – to comprehend how the platform can streamline pet listing, adoption processes, and communication with adopters.
- End Users (Pet Seekers & Pet Owners) – to understand the services offered, such as viewing pet profiles, submitting adoption requests, and accessing care resources.
- Testers / QA Team – to validate that the platform meets all functional and non-functional requirements as described.
- UX/UI Designers – to refer to user roles, flows, and key features that shape the design of an intuitive interface.
- Regulatory or Ethical Reviewers – to ensure that the platform adheres to local laws or ethical standards related to animal welfare and data privacy.
Readers are encouraged to begin with the Introduction (Section 1) and Overall Description (Section 2) before diving into the detailed requirements (Section 3).
1.4 Product Scope
This software system will be an online Pet Adoption and Care Platform designed to connect pet seekers with NGOs, pet owners. The system allows shelters and individuals to list pets, manage adoption requests, browse pets, complete adoptions online. A central database will manage users , pet profiles, and records.It also supports broder goals of reducing pet homelessness, promoting responsible ownership, and aligning with business strategies focused on social impact and digital innovation.
1.5 References
The following documents and resources have been referred to during the creation of this SRS:
- IEEE Std 830-1998 – IEEE Recommended Practice for Software Requirements Specifications
- Publisher: IEEE Standards Association, Version: 1998
- URL: https://ieeexplore.ieee.org/document/720574
- Description: This standard provides guidelines for writing clear and comprehensive software requirements specifications, ensuring consistency and completeness in documenting system requirements.
- Functional Requirements of Pet Adoption Portal with Non-Functional Requirements
- Author: Projects Inventory
- URL: https://projectsinventory.com/functional-requirements-of-pet-adoption-portal-with-non-functional/
- Description: This document outlines both functional and non-functional requirements for a pet adoption portal, including user management, pet profile management, search and filter functionalities, and performance, reliability, security, and usability considerations.
- iPET: The Design, Development, and Assessment of a Web-Based Application for Pet Adoption
- Authors: James E. Gatmaitan, Dan Victor P. Azurin, Jhon Patrick T. Saclolo, John Albert G. Yango, Keanu P. Lorenzo, Cris Norman P. Olipas, Rachel T. Alegado
- Published in: Formosa Journal of Computer and Information Science
- DOI: https://doi.org/10.55927/fjcis.v3i1.6031
- Description: This study presents the development and evaluation of the iPET web application for pet adoption, utilizing the waterfall model and ISO 25010 standards to assess various quality attributes.
- PetPal - Comprehensive Pet Adoption and Care Platform Proposal
- Author: CSSE6400 Project Team
- URL: https://csse6400.github.io/project-proposal-2024/s4799216/proposal.html
2. Overall Description
2.1 User Classes and Characteristics
In this pet adoption system, user classes can be distinguished to cater to the specific roles and needs of adopters, shelters, and administrators.
2.1.1 User Class: Adopters
Characteristics:
- Adopters actively browse the platform to explore pets.
- They engage in the selection process, evaluating various pets.
- Adopters initiate the adoption process by requesting to adopt specific pets, starting the process of interaction with pets’ owners or adoption centers.
- They communicate to clarify pets’ details and coordinate the adoption process.
- They manage their accounts, ensuring their profiles are up-to-date and reflecting accurate information.
- They can save pets to a 'Favorites' list for later review and track recently viewed pets.
- They interact with educational content (care tips) and community reviews to inform adoption decisions.
2.1.2 User Class: Shelters
Characteristics:
- Shelters actively list their pets on the platform, providing detailed information, images, and adoption terms.
- They manage the availability and status of their listed pets, marking them as available or unavailable for adoption.
- Shelters can highlight a 'Pet of the Week' with enhanced visibility on the platform.
- Shelters engage in communication with potential adopters, responding to inquiries, negotiating terms, and coordinating the adoption process. Once terms are agreed upon, shelters confirm the request, initiating the adoption process.
- Shelters ensure that the listed pets are in good condition.
- They follow through with the platform’s processes for completing transactions, like coordinating pet handover arrangements.
- Shelters manage their user accounts, keeping their profiles updated with accurate information.
- They respond to user reviews to maintain their shelter’s reputation.
2.1.3 User Class: Administrators
Characteristics:
- Admins have access to comprehensive controls, allowing them to manage and monitor all aspects of the pet adoption system.
- Admins manage user accounts, ensuring accuracy, compliance with policies, and a secure user base.
- They handle and resolve issues reported by users, ensuring a seamless experience for all participants.
- Admins enforce platform policies, ensuring that users adhere to terms of use and ethical guidelines.
- Audit user activity for compliance with animal welfare laws.
- Admins curate and update the 'Care Tips' educational section.
- Admins manage the 'Pet of the Week' feature, ensuring regular updates and compliance with platform standards.
- Admins implement and manage security measures to safeguard user data, adoption requests, and the overall integrity of the platform.
- Admins mediate disputes, send system-wide notifications, and broadcast policy updates.
Tailoring the system to these user classes ensures that adopters and shelters experience a seamless adoption process, while administrators have the necessary tools to manage and maintain the overall functionality of the platform.
2.2 User Needs
This section of the Software Requirements Specification (SRS) articulates the specific requirements and expectations of the end-users, encompassing both adopters and shelters, within the context of the Pet Adoption Center.
2.2.1 Adopters
- Search and Discovery: Adopters should have seamless experience discovering pets through a robust search and filtering system. This includes the ability to browse and search by category, breed, age, location and view detailed pet descriptions.
- Communication: A communication channel is essential, enabling shelters to interact with potential adopters, negotiate terms, and address inquiries.
- Request Placement: The system should facilitate a straightforward process to submit, track, or cancel adoption requests.
- Access to a 'Care Tips' section for educational resources on pet care.
- The adoption request form must collect adopter details such as contact information, home environment, and prior pet experience.
- Ability to save favorite pets and view a 'Recently Viewed' list for quick reference.
- Option to rate shelters and read/write reviews post-adoption.
- Mobile Responsiveness: The system interface should be responsive to the adopter’s device.
2.2.2 Shelters
- Pet Listing and Management: Shelters need a user-friendly interface to efficiently list their pets for adoption. This includes features such as uploading pet details, and images, and specifying adoption terms.
- User Feedback: Shelters need the ability to collect adopter reviews to improve shelter operations and foster trust.
- Feature to nominate pets for 'Pet of the Week' to increase visibility.
- Ability to respond to user reviews to address feedback.
- Mobile Responsiveness: The system interface should be responsive to the Shelter’s device.
2.2.3 General User Needs
- User Authentication and Authorization: A secure and user-friendly authentication system is crucial, ensuring that users can access and manage their accounts securely.
- Accessibility and Intuitiveness: The system should be accessible to users with varying levels of technological proficiency, offering an intuitive interface for a positive user experience.
- A responsive image gallery (carousel) to showcase featured pets.
- Notifications: Users should receive timely notifications about adoption request status, communication updates, and other relevant information to stay informed about their adoption processes.
2.3 Operating Environment
2.3.1 Hardware Platform
- Desktops: Intel Core i5 processor or equivalent, 8GB RAM, 256GB SSD or higher.
- Laptops: Intel Core i3 processor or equivalent, 4GB RAM, 128GB SSD or higher.
- Mobile Devices: iOS devices (iPhone X and above), Android devices (running Android 13 and above)
2.3.2 Operating System and Versions
- Windows: Windows 11
- macOS: macOS 13 (Ventura) and above
- Linux: Ubuntu 24.04 LTS and above, Fedora 40 and above
- Mobile: iOS 18 and above, Android 13 and above
2.3.3 Software Components and Applications
- Google Chrome (latest stable version)
- Mozilla Firefox (latest stable version)
- Safari (latest stable version)
2.3.4 Database and Storage Compatibility
- Firebase
- Image storage solutions for hosting pet galleries and carousel content.
2.3.5 Interoperability
The system utilizes RESTful APIs and adheres to JSON data interchange standards, ensuring compatibility with third-party services and applications.
2.3.6 Network Requirements
- The system requires a stable internet connection with a minimum bandwidth of 5 Mbps for optimal performance.
- Optimized image compression to ensure fast loading times for pet galleries and listings.
- It supports both wired (Ethernet) and wireless (Wi-Fi) network connections.
2.3.7 Security Considerations
- The system employs TLS encryption (SSL certificates) for secure data transmission.
- Secure client-side storage (
localStorage
) for user sessions and temporary data like 'Favorites' and 'Recently Viewed' lists. - It’s compatible with industry-standard firewalls and security software to ensure data protection.
2.4 Constraints
2.4.1 Technical Constraints
- Selection of appropriate frameworks and technologies for user authentication.
- Dependence on client-side storage (
localStorage
) limits persistence of user data like favorites and recently viewed pets. - Image-heavy features (gallery, carousel) require optimization to prevent performance bottlenecks.
- Consideration of scalability as the user base grows.
2.4.2 Time Constraints
- Development phases with set milestones for feature implementation and testing.
- Launch deadline considerations based on market analysis.
2.4.3 Budget Constraints
- Allocation of resources for development, hosting, and potentially marketing efforts.
2.4.4 Regulatory and Compliance Constraints
- Compliance with data protection laws, especially regarding user information and payment details.
- Consideration of any legal aspects related to adoption agreements and liabilities.
2.4.5 Resource Constraints
- Availability of skilled development resources and their expertise in the required technologies.
2.5 Assumptions
The Software Requirement Specification expects that users, including both adopters and shelters, will actively participate in platform activities, such as browsing, initiating transactions, and managing their accounts. This assumption forms the basis for the seamless borrowing and lending processes envisioned for the Pet Adoption System.
2.5.1 User Participation
Assumes that users (both adopters and shelters) will actively engage with the platform, listing products, initiating transactions, and following through with the adoption process.
2.5.2 User Proficiency
Assumes that both adopters and shelters have a basic understanding of online platforms, allowing them to navigate and utilize the system effectively. Also assume shelters will provide high-quality images and accurate descriptions for pet listings.
2.5.3 Administrator Authority
Assumes that administrators have the necessary skills and authority to manage and monitor all aspects of the Pet Adoption System, ensuring a secure and compliant user base.
2.5.4 Document Accessibility
Assumes that all intended users have access to the SRS and can comprehend its content effectively, fostering a unified understanding of the project.
2.5.5 Document Relevance
Assumes that the tailored information in the SRS accurately addresses the specific needs and concerns of each stakeholder group.
2.5.6 Aligned Objectives
Assumes that the information provided in the SRS accurately aligns with the objectives and expectations of developers, testers, project managers, stakeholders, and users.
2.5.7 Stakeholder Collaboration
Assumes effective collaboration and communication among diverse stakeholders, allowing for a shared understanding of the Software Requirements Specification (SRS) also assumes that administrators will regularly update the 'Care Tips' section and 'Pet of the Week' feature.
3. External Interface Requirements
3.1 User Interfaces
This section outlines the logical characteristics of each interface between the software product and its users. The system will follow a consistent, modern UI design aligned with commonly accepted Material Design or Tailwind UI standards to ensure usability and accessibility. The design will be responsive across desktops, tablets, and mobile devices.
3.1.1 General UI Standards
- Consistent Layouts: Each screen will follow a uniform layout with a top navigation bar, content body, and footer.
- Navigation Bar: Includes logo, main menu (Home, Pets, Tips, Favorites, Reviews), and user account options (Login/Register or Profile).
- Footer: Contains links to About, Contact, Terms of Use, and Privacy Policy.
- Standard Elements:
- A Help icon available on key pages.
- Back to Top button for long scrolling pages.
- Error Messages displayed inline and highlighted in red with tooltips or descriptions (e.g., "Please enter a valid email").
3.1.2 User Interface Components
- Pet Listing Page: Displays pets in a grid/list view with basic info and navigation to profiles.
- Pet Gallery: Shows high-quality pet images in a browsable, filterable gallery layout.
- Pet of the Week Feature: Highlights a featured pet with a call-to-action and adoption details.
- Pet Filter & Search: Allows users to search and filter pets by type, age, and other criteria.
- Recently Viewed Pets: Shows a quick-access list of pets the user has previously visited.
- Adoption Request Form: Collects user info and intent to adopt through a validated form.
- Favorite Pet List: Lets users bookmark pets and view them in a personalized list.
- Care Tips Section: Offers categorized pet care articles in a readable format.
- Review System: Enables users to rate and review pets or the adoption experience.
- User Registration/Login: Handles user account creation, login, and profile access.
3.2 Hardware Interfaces
The software product will run on standard computing devices and mobile hardware with no need for specialized peripherals. Below are the defined hardware interface characteristics:
- Supported Device Types: Desktop computers, laptops, tablets, and smartphones with modern web browsers.
- Interaction with Hardware: No direct hardware interaction is required beyond standard browser access to input/output devices (keyboard, mouse, touchscreen).
- Peripheral Support: Optional support for camera access (e.g., for profile pictures or pet images) using browser APIs.
- Communication Protocols: HTTP/HTTPS protocols for all client-server communication over standard network interfaces.
- Responsiveness & Adaptability: UI adapts seamlessly across screen sizes using responsive design; performance optimized for low- to high-end hardware.
3.3 Software Interfaces
This section describes the integration between the software product and its various software components, including Firebase services, frontend technologies, and the nature of data flow between them.
3.3.1. Frontend Technologies
- HTML5: Provides the semantic structure and layout of the web application. All user-facing interfaces are built using standard HTML elements, ensuring compatibility across modern browsers.
- CSS3: Used for styling the user interface, ensuring responsive design and a clean, visually appealing experience across devices. CSS frameworks such as Tailwind CSS or custom media queries may be applied for responsiveness and utility-first styling.
- JavaScript (ES6+): Powers all dynamic functionalities and user interactions, including form handling, DOM manipulation, real-time UI updates, API communication, and state management. Vanilla JS or lightweight libraries can be used to enhance UX.
3.3.2. Backend Services via Firebase
Firebase provides a complete suite of backend services integrated directly into the frontend using Firebase SDKs:
- Firebase Authentication:
- Manages user accounts, registration, and secure login using email/password and optionally social providers like Google or Facebook.
- Uses secure session management and supports password recovery, verification, and multi-device sync.
- Firebase Firestore (NoSQL Database):
- Stores structured and semi-structured data such as user profiles, pet listings, adoption forms, favorites, reviews, and care tips.
- Supports real-time data synchronization between client and server.
- All read/write access is controlled via Firebase Security Rules based on user roles.
- Firebase Storage:
- Used for storing and retrieving user-uploaded media such as pet images or user profile pictures.
- Images are served via secure, scalable cloud storage links with access control.
- Firebase Hosting:
- Serves the web application over secure HTTPS with fast global content delivery and caching.
- Supports automatic deployment and versioning.
- Optional: Firebase Cloud Messaging (FCM):
- Can be used to send push notifications to users (e.g., adoption approval, pet status updates) if required in future expansion.
3.3.3. Data Flow and Communication
- Client-Side Communication: All communications between the frontend and Firebase services are handled through the Firebase JavaScript SDK, ensuring secure and efficient data transactions via HTTPS.
- Data Inflow Examples:
- User registration and login credentials.
- Pet submission forms (name, type, age, description, images).
- Adoption request forms.
- Reviews and care tips submissions.
- Data Outflow Examples:
- Displaying pet listings and galleries.
- Filtering pets based on user input.
- Showing care tips, reviews, and featured pets.
- Retrieving user-specific data (favorites, recently viewed, profile).
- State Management and Caching:
- User session data and recently viewed pets may be stored in
localStorage
/sessionStorage
. - Temporary app states are maintained using JavaScript variables or simple state patterns.
- User session data and recently viewed pets may be stored in
3.3.4. Integration Constraints
- All software components must communicate via Firebase client APIs using the prescribed SDK.
- Sensitive operations such as writing to Firestore or Storage are controlled by strict Firebase Security Rules.
- No global data areas or server-side code are used unless additional backend services are introduced later.
3.3.5. External Software Dependencies
- Browser Compatibility: Fully compatible with latest versions of Chrome, Firefox, Safari, and Edge.
- Optional Libraries/Tools:
- Tailwind CSS for UI utility classes.
- Lightweight libraries for sliders, modals, or animations (e.g., Swiper.js, AOS.js).
3.4 Communications Interfaces
This section outlines the communication mechanisms and protocols required for the operation of the web application, focusing on how the system transmits data between the client (user browser) and backend services (Firebase), along with relevant standards and security considerations.
3.4.1. Web Browser Interface
- The application will be accessed via modern web browsers including Google Chrome, Mozilla Firefox, Safari, and Microsoft Edge.
- All communication between the browser and Firebase services will occur over HTTPS, ensuring secure and encrypted transmission of data.
- Users will interact with the system through dynamic HTML pages enhanced with JavaScript, and all actions (e.g., logging in, submitting forms, viewing pets) will result in communication with Firebase servers.
3.4.2. Communication Protocols
- HTTPS (Hypertext Transfer Protocol Secure): Used for all client-server interactions, ensuring encrypted and secure data transmission.
- WebSocket / Real-time Listeners (Optional via Firestore): Enables real-time updates for features like recently viewed pets or live status changes (e.g., if a pet becomes unavailable).
- Firebase REST APIs & SDKs: Communication with Firebase Authentication, Firestore, and Storage is handled using Firebase JavaScript SDK and follows RESTful principles.
3.4.3. Communication Security
- All user data transmissions are encrypted via SSL/TLS.
- Firebase Authentication ensures secure identity verification using OAuth 2.0, JWT (JSON Web Tokens), and session management.
- Access to data is regulated using Firebase Security Rules, which define read/write permissions based on user roles and authentication state.
- Uploaded media is protected with signed URLs and storage rules.
3.4.4. Data Transfer Rates & Performance
The system is optimized for fast performance and responsiveness, with:
- Efficient Firebase queries to minimize bandwidth usage.
- Lazy loading of images and paginated data fetch to reduce loading time.
- No specific minimum data transfer rate is required, but a broadband internet connection is recommended for optimal experience.
3.4.5. Synchronization Mechanisms
- Firebase Firestore provides real-time synchronization for user data, enabling instant updates across devices (e.g., updating favorite pets or adoption form status).
- Local caching and
sessionStorage
may be used to maintain a smooth offline experience or to save temporary UI state.
4. System Features
This document organizes the functional requirements by system features. Each feature is broken down into a brief description with priority ratings, stimulus/response sequences (illustrating user interactions), and a list of detailed functional requirements written in user story format with confirmation (acceptance criteria) statements. Each requirement is uniquely identified for traceability.
4.1 Pet Listing System
4.1.1 Description and Priority
Description: This feature allows pet shelters, NGOs, and individual pet owners to create and manage detailed pet listings on the platform. Each listing includes attributes such as species, breed, age, medical history, vaccination records, behavior notes, and multimedia (images/videos). The listings help adopters make informed decisions and streamline the adoption process. Listings can be updated, archived, or marked as adopted. The system also allows tagging of pets (e.g., “urgent,” “special needs”), which can influence search results and alerts. Priority: High Component Ratings (Example):
- Benefit: 9
- Penalty for Non-Compliance: 8
- Implementation Cost: 5
- Risk: 6
4.1.2 Stimulus/Response Sequences
- Pet Upload:
- Stimulus: A shelter staff or pet owner accesses the listing dashboard and submits pet details along with media.
- Response: The system validates data, stores it in the database, and displays the listing publicly.
- Update or Archive Listing:
- Stimulus: A staff or owner edits pet details or marks the listing as adopted.
- Response: The system updates or archives the record and reflects the status in search filters and user dashboards.
- Multimedia Upload:
- Stimulus: The user uploads pet photos or videos.
- Response: The system optimizes and attaches media to the listing for better visual presentation.
4.1.3 Functional Requirements
Each requirement is listed with a unique ID and formatted as a user story with confirmation criteria.
- REQ-PL1: As a shelter staff, I want to add a new pet listing so that adopters can view and adopt pets.
- Confirmation: The system stores the listing and shows it in the “Available Pets” section.
- REQ-PL2: As a pet owner, I want to include images and videos with listings so that the pet profile is more appealing.
- Confirmation: Uploaded files are displayed on the pet detail page in optimized format.
- REQ-PL3: As a shelter, I want to list medical history and vaccinations so that adopters know the pet’s condition.
- Confirmation: Medical info is displayed in a structured section within the pet profile.
- REQ-PL4: As a staff, I want to mark pets as adopted so that they are no longer shown in search results.
- Confirmation: Status updates move the listing to an "Adopted" archive view.
- REQ-PL5: As a user, I want to filter pets by species, breed, and age so that I find suitable pets faster.
- Confirmation: Filtered results reflect correct listings based on selected criteria.
- REQ-PL6: As an admin, I want to remove inappropriate or outdated listings so that the platform maintains quality.
- Confirmation: The listing is removed from public view and logged as an admin action.
- REQ-PL7: As a shelter, I want to edit listings after publishing so that I can update pet details.
- Confirmation: Edits are saved and visible immediately after submission.
- REQ-PL8: As a user, I want to see tags like “Urgent” or “Special Needs” on listings so that I can prioritize those pets.
- Confirmation: Tags are visible on cards and detail pages of applicable pets.
- REQ-PL9: As a staff, I want to upload bulk listings via a CSV or form so that I can save time during mass entry.
- Confirmation: System parses the file and creates individual listings with validation feedback.
- REQ-PL10: As a mobile user, I want listings to be responsive and readable on small screens so that I can browse on the go.
- Confirmation: Listings display correctly across different devices and screen sizes.
4.2 Adoption Request Form
4.2.1 Description and Priority
Description: This feature allows prospective adopters to submit detailed online adoption requests to pet shelters or individual pet owners. The form includes necessary adopter details, preferred pet attributes, home environment information, and consent to care guidelines. It enables shelters and owners to review requests, evaluate adopter suitability, and respond accordingly. The system improves decision-making, ensures transparency, and reduces communication delays by automating and centralizing adoption request workflows. Priority: High Component Ratings (Example):
- Benefit: 9
- Penalty for Non-Compliance: 8
- Implementation Cost: 5
- Risk: 7
4.2.2 Stimulus/Response Sequences
- Adoption Request Submission:
- Stimulus: A user navigates to a pet’s profile and clicks “Adopt Me,” filling out the adoption request form.
- Response: The system validates the form, logs the request, and notifies the shelter or owner for review.
- Request Review by Shelter/Owner:
- Stimulus: A shelter staff or pet owner accesses their dashboard to view new adoption requests.
- Response: The system displays pending requests along with adopter details, and allows for approval, rejection, or follow-up.
- Status Updates:
- Stimulus: A decision (approve/reject) is made by the shelter or owner.
- Response: The system updates the request status and sends a notification to the adopter via email/SMS.
4.2.3 Functional Requirements
- REQ-AR1: Submit Adoption Request
- User Story: As an adopter, I want to submit an online form so that I can request to adopt a specific pet.
- Confirmation: The system records the form data, confirms submission, and sends a notification to the pet’s current custodian.
- REQ-AR2: View Request Status
- User Story: As an adopter, I want to view the status of my adoption request so that I stay informed.
- Confirmation: A request dashboard shows real-time status (pending, approved, rejected) and time of last update.
- REQ-AR3: Admin/Shelter Review Panel
- User Story: As a shelter staff, I want to view and evaluate adoption requests so that I can select suitable adopters.
- Confirmation: The system displays a sortable list of requests with profile details and pet information.
- REQ-AR4: Automated Notifications
- User Story: As a system, I want to notify both adopters and pet owners about request status changes so that communication is timely.
- Confirmation: Upon any status update, an email/SMS is sent to the adopter with relevant details.
- REQ-AR5: Editable Requests Before Review
- User Story: As an adopter, I want to edit my adoption request before it is reviewed so that I can correct or update information.
- Confirmation: The system allows form edits until the shelter/owner opens the request.
- REQ-AR6: Rejection Reason Feedback
- User Story: As an adopter, I want to know why my request was rejected so that I understand the outcome.
- Confirmation: Upon rejection, a feedback message is displayed in the adopter’s dashboard and sent via email.
- REQ-AR7: Multiple Pet Requests
- User Story: As an adopter, I want to request adoption for multiple pets individually so that I increase my chances.
- Confirmation: The system allows multiple requests, each tracked and processed separately.
- REQ-AR8: Responsive Form Design
- User Story: As a mobile user, I want the form to be usable on all devices so that I can submit it anytime, anywhere.
- Confirmation: The form is tested for responsiveness and accessibility across desktop and mobile interfaces.
4.3 User Registration / Login System
4.3.1 Description and Priority
Description: This feature allows users—such as adopters, pet owners, shelter staff, and admins—to register and log in securely. It includes account creation, password encryption, role-based access, social login support, and session management. The system ensures data integrity, enforces security policies, and enables personalized user dashboards upon login. Priority: High Component Ratings (Example):
- Benefit: 10
- Penalty for Non-Compliance: 10
- Implementation Cost: 4
- Risk: 7
4.3.2 Stimulus/Response Sequences
- User Registration:
- Stimulus: A new user accesses the registration page and submits personal information and credentials.
- Response: The system validates and stores the data, creates a user profile, and sends a welcome confirmation email.
- User Login:
- Stimulus: A registered user enters login credentials.
- Response: The system verifies credentials, starts a user session, and redirects to the appropriate dashboard.
- Forgot Password:
- Stimulus: A user clicks “Forgot Password” and enters their email.
- Response: The system sends a password reset link with secure token validation.
4.3.3 Functional Requirements
- REQ-UL1: As a new user, I want to register an account so that I can access platform services.
- Confirmation: Registration completes after entering valid data, and a confirmation email is sent.
- REQ-UL2: As a registered user, I want to log in securely so that I can access my dashboard.
- Confirmation: After entering valid credentials, the system redirects to the role-specific dashboard.
- REQ-UL3: As a user, I want to reset my password if I forget it so that I can regain access.
- Confirmation: Upon submitting a valid email, the system sends a secure reset link.
- REQ-UL4: As a user, I want my password to be stored securely so that my data is protected.
- Confirmation: Passwords are hashed and encrypted in storage and never displayed in plain text.
- REQ-UL5: As a returning user, I want a “Remember Me” option so that I don’t need to log in every time.
- Confirmation: If selected, the system stores a secure session token on the device.
- REQ-UL6: As an admin, I want to assign roles to users so that permissions are properly managed.
- Confirmation: The system supports role selection (e.g., adopter, owner, shelter staff) at registration or by admin after.
- REQ-UL7: As a user, I want to log in with my Google account so that I can sign in faster.
- Confirmation: The system supports OAuth-based sign-in and retrieves basic profile info securely.
- REQ-UL8: As a user, I want to be automatically logged out after inactivity so that my session is secure.
- Confirmation: After a set idle time, the system logs out the user and redirects to the login page.
- REQ-UL9: As a system, I want to log login attempts so that suspicious activity can be monitored.
- Confirmation: Login actions (success/failure) are recorded in the audit log with timestamps and IPs.
- REQ-UL10: As a user, I want to view login activity history so that I can detect unauthorized access.
- Confirmation: The user dashboard shows a history of successful and failed login attempts.
4.4 Pet Filter and Search
4.4.1 Description and Priority
Description: The filter feature enables users to refine search results using pet attributes such as species (dog, cat, etc.), age, gender, and location. This reduces the time users spend browsing and improves the overall user experience. Filters can be combined, reset, or updated in real time without needing to reload the entire page. Priority: High Component Ratings:
- Benefit: 9
- Penalty for Non-Compliance: 7
- Implementation Cost: 6
- Risk: 4
4.4.2 Stimulus/Response Sequences
- Apply Filter:
- Stimulus: A user selects “Dog” and “Under 2 years” as filters.
- Response: The system shows listings that match both criteria.
- Reset Filters:
- Stimulus: A user clicks the “Clear All Filters” button.
- Response: All filters are removed and the complete pet listing is shown.
- No Matching Results:
- Stimulus: The selected filters return no results.
- Response: The system displays “No pets found” and suggests adjusting the filters.
4.4.3 Functional Requirements
- REQ-F1: Multi-Criteria Filtering
- User Story: As a user, I want to filter pet listings by species, age, and location so I can find the exact type of pet I want.
- Confirmation: The system updates the listing in real time based on selected filters.
- REQ-F2: Filter Reset Function
- User Story: As a user, I want to be able to reset all filters easily so I can start a new search from scratch.
- Confirmation: Clicking “Clear All Filters” returns the full list of pets.
- REQ-F3: Filter with No Match
- User Story: As a user, I want the system to notify me if no listings match my filters so I can change them.
- Confirmation: A message appears indicating no matches were found and suggests removing or adjusting filters.
- REQ-F4: Real-Time Filter Update
- User Story: As a user, I want the filter results to update instantly as I select options so that I can see relevant pets without refreshing the page.
- Confirmation: The system dynamically updates the pet listings without page reload as filter selections are changed.
- REQ-F5: Combined Filter Functionality
- User Story: As a user, I want to apply multiple filters at once (e.g., species + age + gender) so I can narrow down results quickly and precisely.
- Confirmation: The system returns only those pet listings that match all selected filters simultaneously.
4.5 Pet Gallery
4.5.1 Description and Priority
The Pet Gallery provides a visual grid of pet images, allowing users to browse pets by appearance. This is a Medium Priority feature, intended to enhance engagement.
- Benefit: 7
- Penalty: 4
- Cost: 2
- Risk: 2
4.5.2 Stimulus/Response Sequences
- Stimulus: User selects the Gallery page.
- Response: The system displays pet images retrieved from Firebase Storage, with optional category filters.
- Stimulus: User clicks or hovers on an image.
- Response: The system either opens a preview modal or redirects to the pet’s detail page.
4.5.3 Functional Requirements
- REQ-PG-1: Display Pet Images in Grid The system shall present all pet images in a visually appealing grid layout.
- REQ-PG-2: Load Images from Firebase The system shall load image URLs from Firebase Storage and metadata from Firestore.
- REQ-PG-3: Support Responsive Layout The gallery layout shall adapt to different screen sizes and devices.
- REQ-PG-4: Category-based Filtering The system shall provide options to filter images by pet type, such as dog, cat, or others.
- REQ-PG-5: Handle Missing Images If an image fails to load, a default placeholder shall be shown in its place.
- REQ-PG-6: Image Interaction Clicking or hovering over a gallery image shall trigger either a detail page redirect or preview popup.
4.6 Care Tips Section
4.6.1 Description and Priority
Description: This feature provides users with access to curated articles and videos on pet health, nutrition, behavior, and training. It aims to educate potential and current pet adopters to ensure better care for animals. The content will be categorized (e.g., diet, grooming, common illnesses, training basics) and regularly updated by administrators or verified contributors. This enhances user engagement, improves pet well-being, and adds credibility to the adoption centre. Priority: Medium Component Ratings:
- Benefit: 7
- Penalty for Non-Compliance: 5
- Implementation Cost: 6
- Risk: 4
4.6.2 Stimulus/Response Sequences
- View Content:
- Stimulus: A user navigates to the "Care Tips" section and selects a topic.
- Response: The system loads a list of relevant articles or videos along with summaries.
- Play Video or Read Article:
- Stimulus: A user selects an individual article or video.
- Response: The system renders the full article or plays the video with related content suggestions.
- Admin Uploads Content:
- Stimulus: An admin submits a new article or video with metadata tags.
- Response: The system stores the content, indexes it by topic and pet type, and publishes it in the Care Tips feed.
4.6.3 Functional Requirements
- REQ-CT1: View Pet Care Tips
- User Story: As a user, I want to access pet care tips so I can take better care of my adopted pet.
- Confirmation: The system displays categorized articles/videos when the user visits the Care Tips section.
- REQ-CT2: Play Videos or Read Articles
- User Story: As a user, I want to view detailed content in my preferred format (text/video) so I can learn more effectively.
- Confirmation: Selecting an article or video opens the full content or embedded media with no delay.
- REQ-CT3: Admin Adds New Tips
- User Story: As an admin, I want to upload new tips with tags so users can find them easily.
- Confirmation: Once submitted, the system stores and displays the new content under the appropriate category.
- REQ-CT4: Search Tips by Keyword or Pet Type
- User Story: As a user, I want to search for care tips by keyword or pet type so I can find relevant advice.
- Confirmation: Entering a keyword or filter returns matching results instantly.
4.7 Pet of the Week Feature
4.7.1 Description and Priority
Description: The “Pet of the Week” feature showcases a highlighted pet on the homepage or a featured section of the platform to boost its visibility. Pets selected for this feature may include those with low visibility, long shelter stays, or compelling backstories. It supports manual selection by admins, scheduled rotation, and user engagement through story views and social sharing. Priority: Medium Component Ratings (Example):
- Benefit: 7
- Penalty for Non-Compliance: 5
- Implementation Cost: 3
- Risk: 2
4.7.2 Stimulus/Response Sequences
- Manual Selection:
- Stimulus: An admin designates a pet as “Pet of the Week.”
- Response: The platform displays the selected pet on the homepage and in the featured section.
- Scheduled Rotation:
- Stimulus: A scheduled time is reached for the next featured pet.
- Response: The system automatically updates the section with the next pet in the queue.
- User Interaction:
- Stimulus: A user clicks on the Pet of the Week feature.
- Response: The system redirects to the pet's detailed profile page.
4.7.3 Functional Requirements
- REQ-PW1: As an admin, I want to select a pet manually to feature as Pet of the Week so that I can highlight special cases.
- Confirmation: The featured section updates instantly after selection.
- REQ-PW2: As an admin, I want to schedule upcoming Pet of the Week entries so that the system rotates them automatically.
- Confirmation: Pets are displayed based on the scheduled timeline without manual intervention.
- REQ-PW3: As a user, I want to view the Pet of the Week on the homepage so that I can learn about highlighted pets.
- Confirmation: A designated homepage section always shows the current featured pet with image and title.
- REQ-PW4: As a user, I want to click on the featured pet and view its story so that I can understand its background before adopting.
- Confirmation: Clicking the feature opens the pet's full profile and story.
- REQ-PW5: As a staff member, I want to nominate pets for Pet of the Week so that we can promote those in greater need.
- Confirmation: A nomination form allows staff to submit a pet for admin review and selection.
- REQ-PW6: As an admin, I want to track views and clicks on the Pet of the Week so that I can evaluate its impact.
- Confirmation: Engagement metrics are shown in the admin dashboard.
- REQ-PW7: As a system, I want to show a default pet if no pet is selected so that the section is never left blank.
- Confirmation: A pre-configured placeholder pet is displayed with a general message.
- REQ-PW8: As a user, I want to share the Pet of the Week on social media so that I can help increase its adoption chances.
- Confirmation: Share buttons generate social-ready posts linking to the pet profile.
- REQ-PW9: As a UI designer, I want to display a badge or banner for Pet of the Week so that it stands out visually.
- Confirmation: A visual label appears on the featured pet’s card and profile.
- REQ-PW10: As a user, I want to filter previously featured pets so that I can revisit them later.
- Confirmation: A filterable archive lists past Pet of the Week entries with links to their profiles.
4.8 Favorite Pets List
4.8.1 Description and Priority
Description: This feature allows registered users to mark pets as "favorites" by clicking a heart or star icon. These pets are stored in a personalized list under the user’s account, enabling easy access for later viewing or decision-making. It encourages return visits, increases the likelihood of adoption, and provides insight into user interests. Priority: High Component Ratings:
- Benefit: 8
- Penalty for Non-Compliance: 7
- Implementation Cost: 4
- Risk: 3
4.8.2 Stimulus/Response Sequences
- Add to Favorites:
- Stimulus: A logged-in user clicks the "Favorite" icon on a pet profile.
- Response: The system adds the pet to the user’s Favorites list and updates the UI.
- View Favorites List:
- Stimulus: A user navigates to their Favorites section.
- Response: The system retrieves and displays all previously favorited pets with current adoption status.
- Remove from Favorites:
- Stimulus: A user clicks "Unfavorite" on a pet in their list.
- Response: The system removes the pet from the list and updates the user’s view.
4.8.3 Functional Requirements
- REQ-FP1: Mark Pets as Favorite
- User Story: As a user, I want to favorite pets I like so I can easily return to them later.
- Confirmation: Clicking the favorite icon highlights it and adds the pet to the user’s list.
- REQ-FP2: View My Favorite Pets
- User Story: As a user, I want to view all pets I’ve favorited so I can consider adopting one.
- Confirmation: Visiting the "My Favorites" page shows all favorite pets with thumbnails and brief info.
- REQ-FP3: Remove Pet from Favorites
- User Story: As a user, I want to unfavorite pets if I change my mind.
- Confirmation: Clicking the icon again removes the pet from the list, and the change is reflected immediately.
- REQ-FP4: Persistent Favorites Across Sessions
- User Story: As a user, I want my favorites to be saved even after logging out so I don’t lose them.
- Confirmation: Pets added to the Favorites list remain available upon next login.
4.9 Recently Viewed Pet
4.9.1 Description and Priority
Description: The "Recently Viewed Pet" feature allows users to view a list of pets they have previously interacted with during their session. This feature helps users quickly revisit listings they showed interest in, reducing the need to repeat searches. It improves the overall user experience by providing personalized browsing history, stored locally per session or optionally for logged-in users. Priority: Medium Component Ratings:
- Benefit: 8
- Penalty for Non-Compliance: 5
- Implementation Cost: 5
- Risk: 3
4.9.2 Stimulus/Response Sequences
- View Pet Listing:
- Stimulus: A user clicks on a pet's detail page.
- Response: The system stores that pet in the "Recently Viewed" list for the session.
- Access Recently Viewed Pets:
- Stimulus: A user navigates to the "Recently Viewed" section.
- Response: The system displays a scrollable list of previously viewed pets with thumbnails and brief information.
- Session Timeout or Logout:
- Stimulus: A user ends the session or logs out (if not logged in).
- Response: The recently viewed list is cleared or preserved only if stored in the user’s account.
4.9.3 Functional Requirements
- REQ-RV1: Session-Based Viewing History
- User Story: As a user, I want the system to remember the pets I’ve viewed in this session so I can revisit them without searching again.
- Confirmation: The system stores and displays the last X pets viewed during the session.
- REQ-RV2: Display Recently Viewed Pets
- User Story: As a user, I want to see a separate section that shows my recently viewed pets for easier access.
- Confirmation: A sidebar or section on the homepage/dashboard displays pet names, images, and links to detail pages.
- REQ-RV3: Persistent Viewing History for Logged-In Users
- User Story: As a logged-in user, I want my viewing history to be saved even after logging out so I can come back later and continue browsing.
- Confirmation: The system stores viewing data in the user profile and retrieves it on the next login.
- REQ-RV4: Limit and Manage Viewed Items
- User Story: As a user, I want to see only a limited number of recently viewed pets to avoid clutter.
- Confirmation: The system displays up to the last 5–10 pets and removes the oldest when the limit is exceeded.
- REQ-RV5: Clear Recently Viewed List
- User Story: As a user, I want to clear my recently viewed pet history so I can reset my browsing preferences.
- Confirmation: The system provides a “Clear History” button that, when clicked, removes all items from the recently viewed list and confirms the action with a message.
- REQ-RV6: Visual Indicator for Viewed Pets
- User Story: As a user, I want a visual cue (like a tag or icon) on pet listings I have already viewed so I can avoid revisiting the same pet unnecessarily.
- Confirmation: Previously viewed pet cards are marked with a “Viewed” label or similar visual tag across the site.
4.10 Review System
4.10.1 Description and Priority
Description: This feature enables adopters and pet owners to submit and view reviews after an adoption process. Reviews may include star ratings, written feedback, and tags describing the experience. The system allows shelters, pet owners, and adopters to build credibility and improve transparency across the platform. It supports moderation, helps future users make informed decisions, and fosters trust between parties. Priority: Medium Component Ratings (Example):
- Benefit: 8
- Penalty for Non-Compliance: 6
- Implementation Cost: 4
- Risk: 5
4.10.2 Stimulus/Response Sequences
- Post-Adoption Review Submission:
- Stimulus: An adopter completes an adoption and visits the review section of their dashboard.
- Response: The system allows the user to rate the experience, leave feedback, and submit it for display under the pet profile or shelter page.
- Review Moderation:
- Stimulus: A new review is submitted or flagged.
- Response: The system scans for offensive content and sends it for admin review if necessary. Accepted reviews are published automatically.
- Review Browsing:
- Stimulus: A user navigates to a pet owner or shelter’s profile.
- Response: The system displays a list of verified reviews and average ratings, sorted by date or helpfulness.
4.10.3 Functional Requirements
- REQ-RV1: Submit Review After Adoption
- User Story: As an adopter, I want to submit a review after an adoption so that I can share my experience with others.
- Confirmation: Once the adoption is marked as complete, a review form becomes available; upon submission, the system logs and displays it.
- REQ-RV2: Rate Experience Using Stars and Comments
- User Story: As a user, I want to give a star rating and write comments so that I can provide meaningful feedback.
- Confirmation: The system accepts a 1–5 star rating and an optional text comment, storing both for each review.
- REQ-RV3: View Reviews for Shelter/Owner
- User Story: As a pet seeker, I want to read reviews of shelters or pet owners so that I can decide whom to trust.
- Confirmation: When visiting a profile, the system shows all public reviews and an average rating.
- REQ-RV4: Report Inappropriate Reviews
- User Story: As a user, I want to report a review if it is offensive or false so that platform quality is maintained.
- Confirmation: A "Report" button is present on each review; reported items are hidden pending admin review.
- REQ-RV5: Edit or Delete My Review
- User Story: As a reviewer, I want to edit or delete my review within a time window so that I can correct mistakes.
- Confirmation: Users can modify or remove their review within 48 hours of posting, after which it becomes read-only.
- REQ-RV6: Admin Moderation Dashboard
- User Story: As an admin, I want to monitor reviews and respond to flagged ones so that inappropriate content is handled.
- Confirmation: The admin panel shows a queue of flagged reviews, with actions for approval, edit, or remove.
- REQ-RV7: One Review per Adoption Rule
- User Story: As a system, I want to restrict users to one review per completed adoption so that reviews are fair and not duplicated.
- Confirmation: The system allows a single review submission per adoption event, linked to its unique adoption ID.
5. Other Non-Functional Requirements
5.1 Performance Requirements
- Page Loading Speed: To enable flawless navigation and the smooth flow of the user experience, the website’s homepage, pet listings, and gallery section must open up within 3 seconds with a standard broadband connection.
- Search and Filter Responsiveness: The search and filter options must be able to deliver relevant results within 2 seconds from the request made by the user to increase responsiveness and efficiency in the system.
- Recently Viewed Pets: The recently viewed pets list must be updated according to the user's action. It should show the changes by observing the user’s browsing activity.
- Favorite Pets Functionality: User’s favourite pets must be stored in the local storage of the system without any delay. It makes it possible to retrieve them if needed.
5.2 Safety Requirements
- Input Validation: All forms like the adoption request form must check if the entered information is correct and safe before it is submitted. It keeps the system secure and prevents errors and incomplete, malformed, or harmful data.
- Content Accuracy: Listing pets, which are not available in the system, must be avoided. Because it may create confusion and emotional distress for users.
- Content Security: Any content such as articles or videos from outside or third party sources must always be checked to make sure it’s safe and free from any kind of malware. Also proper recognition must be given to the original creator before it is used in the website.
5.3 Security Requirements
- Input Sanitization: To keep the site secure, all kinds of forms such as user registration, pet adoption and user review must be checked to prevent harmful code from being entered. All form inputs must be sanitized to protect against cross-site scripting (XSS) and script injection attacks.
- Review Moderation: The review section should have a simple system to spot and filter out inappropriate or offensive language. This could be done using keyword filters or simple moderation tools that flag suspicious content for review.
5.4 Software Quality Attributes
- Usability: The website must be easy to use and work smoothly on both computers and smartphones. The icons should be clear and simple enough that even first-time visitors can find their way without getting confused.
- Maintainability: The application must be designed in a simple way with well-organized code written in a commented manner. It allows the developers to update the site and add any new features like adding dashboards for pet shelters in the future without having to start from scratch.
- Portability: The system should run on all the latest versions of modern browsers such as Chrome, Firefox, Edge, and Safari-without relying on features that only work on specific platforms.
- Reliability: User information like “Favourite Pets” and “Recently Viewed Pets” must be saved between visits unless users choose to clear the data. These features should work without causing crashes, data loss or other unexpected issues when users enter unusual data.
- Scalability: The system should be designed with future growth in mind. The code should be flexible enough to later switch to a more updated version. Also, pages like pet listings and galleries should be designed in a way so that they can handle larger amounts of content without slowing down. The pet listings and gallery must support pagination or lazy loading to handle increased content volume.
- Availability: The application should be accessible almost all the time such as maintaining an uptime of 99% under standard hosting conditions so that consistent accessibility is ensured and users can rely on it more.
5.5 Business Rules
- Favorites and Reviews Access: Only registered users may favourite pets or leave reviews of them. It helps to keep the site responsible and under control.
- Recently Viewed Pets Limit: Users can view up to five recently viewed pets. The list will be updated automatically according to their recent activity.
- Adoption Request Policy: To prevent duplicate submissions, each user can request only once per pet.
- Review Limitations: Users can post only one review per pet, although they are allowed to edit their review whenever they want.
6. Other Requirements
This section defines additional requirements not covered under functional or non-functional categories.
6.1 Legal and Regulatory Compliance
The system must comply with:
- GDPR (General Data Protection Regulation) for users in the European Union.
- CCPA (California Consumer Privacy Act) for users in California, USA.
- Regional laws governing animal adoption processes and pet listings.
- Explicit user consent is required for collecting, storing, and processing personal data (e.g., profiles, adoption preferences, messages).
6.2 Database Requirements
- User data, pet listings, adoption requests, and system logs will be stored in a relational database (e.g., MySQL, Firebase).
- Data integrity will be enforced through primary/foreign key constraints.
- Sensitive data (e.g., passwords) will be encrypted using industry-standard hashing (e.g., SHA-256).
6.3 Accessibility Requirements
Compliance with WCAG 2.1 Level AA standards, including:
- Text alternatives for non-text content (e.g., pet images).
- Full keyboard navigation support.
- Color contrast ratios ≥ 4.5:1 for text.
- Compatibility with screen readers (e.g., ARIA labels).
6.4 Data Backup and Recovery
- Automated daily backups of critical data (pet listings, user accounts, messages).
- Recovery Point Objective (RPO): 24 hours.
- Recovery Time Objective (RTO): 4 hours.
6.5 Internationalization Requirements
- Initial support for English.
- Unicode (UTF-8) encoding to enable future localization (e.g., Spanish, French).
- UI design with placeholders for dynamic language switching.
6.6 Reusability Objectives
- Modular architecture for components like user registration, pet search filters, and adoption request forms.
- Plugin-based design for extensibility (e.g., integrating external shelters or payment gateways).
6.7 System Logging and Auditing
Log critical actions, including:
- User login attempts.
- Creation/modification/deletion of pet listings.
- User-to-user communications.
- Logs must support diagnostics, audits, and security investigations.
6.8 Performance Requirements
- Support 500 concurrent users without performance degradation.
- Pet search and filter operations must respond in ≤ 2 seconds.
6.9 Advertising and Monetization (Future)
- Configurable modules for non-intrusive ad displays (if implemented).
- User consent required for targeted ads.
- Premium listing options for shelters/pet owners.
Appendix A: Glossary
Term | Definition |
---|---|
GDPR | General Data Protection Regulation for EU user data privacy. |
CCPA | California Consumer Privacy Act for California residents. |
WCAG | Web Content Accessibility Guidelines for inclusive design. |
RTO | Maximum acceptable downtime after a system failure. |
RPO | Maximum acceptable data loss measured in time. |
Appendix B: Analysis Models
The following models will be included to represent system functionality:
- Use Case Diagram: Illustrates interactions for pet browsing, adoption requests, user registration, and reviews.
- Class Diagram: Key classes include User, Pet, AdoptionRequest, Shelter, and Review.
- Activity Diagrams: Workflows for adoption applications, pet filtering, and user profile management.
- Entity-Relationship Diagram (ERD): Models relationships between pets, users, shelters, and adoption records.
Appendix C: To Be Determined List
# | TBD Item | Description |
---|---|---|
1 | Monetization Strategy | Ad integration tools (e.g., Google Ad Manager) or premium features are pending stakeholder approval. |
2 | Localization Languages | Additional languages for future releases are not finalized. |
3 | Third-Party APIs | APIs for integrating shelters or veterinary services are under evaluation. |
4 | Hosting Platform | Decision pending between cloud (AWS, Azure) or on-premise hosting. |
Revision History
Name | Date | Reason For Changes | Version |
---|---|---|---|