From abb79d4811f76b8b1aa572aa518cde72932da226 Mon Sep 17 00:00:00 2001 From: karine Date: Tue, 14 May 2024 15:00:26 +0200 Subject: [PATCH 01/26] changed team numbers and product name --- .github/workflows/build_pdf.yml | 4 ++-- template/0-heading.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_pdf.yml b/.github/workflows/build_pdf.yml index 96675673..d12b3e13 100644 --- a/.github/workflows/build_pdf.yml +++ b/.github/workflows/build_pdf.yml @@ -37,10 +37,10 @@ jobs: - name: Generate PDF run: | - swent_prd generate --team 26 template + swent_prd generate --team 19 template - name: Upload PDF as artifact uses: actions/upload-artifact@v3 with: name: PRD-PDF - path: Team_26_prd.pdf + path: Team_19_prd.pdf diff --git a/template/0-heading.md b/template/0-heading.md index ba21a556..13138449 100644 --- a/template/0-heading.md +++ b/template/0-heading.md @@ -1,4 +1,4 @@ -# MVP PRD: Project Name +# MVP PRD: PetPamper *[2024.04.20]* From 5c59423eb7c6b1ccaf5e929146162bea1adeca39 Mon Sep 17 00:00:00 2001 From: karine Date: Tue, 14 May 2024 15:22:43 +0200 Subject: [PATCH 02/26] first draft for overview --- template/1-overview.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/template/1-overview.md b/template/1-overview.md index 560c24c8..f519ed5e 100644 --- a/template/1-overview.md +++ b/template/1-overview.md @@ -8,3 +8,34 @@ *Include a 3-sentence (max) elevator pitch.* +## Project Summary +PetPamper is an innovative mobile application designed to connect pet owners with professional pet groomers, enhancing the pet care experience through convenient scheduling, localized service discovery, and interactive features. This platform centralizes various aspects of pet grooming, from finding nearby service providers to booking appointments to messaging the groomer, aiming to streamline pet care responsibilities for pet owners. PetPamper supports a seamless user experience that caters to both spontaneous and scheduled grooming needs, ensuring that pet care is efficient, enjoyable, and easily accessible. + +## Features and Functionality +The application is structured to offer a comprehensive range of services which include: + +Groomer Discovery: Users can discover certified groomers in their vicinity, view detailed profiles, and read reviews from other pet owners. + +Appointment Scheduling: The app provides a real-time booking system allowing owners to schedule grooming sessions based on their convenience and groomer availability. + +In-app Messaging System: PetPamper includes a robust in-app messaging feature that allows direct communication between pet owners and groomers. This feature facilitates seamless interactions in real-time. + +Authentication and Security: Secure user authentication ensures that information regarding pet owners and their transactions are kept confidential. + +Extensibility: The platform is designed to easily incorporate additional pet care services over time, such as veterinary appointments and pet dietary consultations, as well as catering personalized pet care tips. + +## Business Model and Target Audience +PetPamper is free for everyone, available on the Android Play Store. The primary target audience includes pet owners who value convenience and quality in pet grooming services as well as groomers, who have grooming salons or work from home. As the app evolves, services can expand to cater to other pet care professionals and businesses, potentially medical veterinary services. + +## Technological Framework +The app is developed for Android platforms, using a robust, scalable architecture that minimizes dependencies on external IT infrastructures. Integration with popular payment gateways and a planned adoption of OAuth2 for secure logins are pivotal components of our tech strategy. +s +## Goals for the MVP +The initial goal for the Minimum Viable Product (MVP) is to achieve substantial user engagement within the community of pet owners, aiming for high download rates, active monthly users, and a trusted reputation for quality and reliability in pet care services. We plan to leverage user feedback to refine and expand services, aiming to make PetPamper an indispensable tool for pet lovers. + +## Future Prospects +Following a successful MVP launch, potential expansions include partnerships with pet care product vendors and integration with pet health tracking devices, enhancing the overall pet wellness ecosystem. PetPamper aims to become a leading solution in the mobile pet care industry, supported by a sustainable, service-based revenue model. + +## Elevator Pitch +"PetPamper is your all-in-one mobile solution for pet grooming and care. Discover, book, and manage pet grooming appointments with top local professionals, all from the convenience of your smartphone. Make pet care effortless with PetPamper, where your pet's needs are met with just a few taps." + From 072c1a74c8e36788eb05237a65d098741dd20ffa Mon Sep 17 00:00:00 2001 From: karinerafla <91835061+karinerafla@users.noreply.github.com> Date: Wed, 5 Jun 2024 16:06:54 +0200 Subject: [PATCH 03/26] Update 1-overview.md Updated the overview with respect to the feedback Maxime gave us. --- template/1-overview.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/template/1-overview.md b/template/1-overview.md index f519ed5e..22bcedc2 100644 --- a/template/1-overview.md +++ b/template/1-overview.md @@ -9,7 +9,7 @@ *Include a 3-sentence (max) elevator pitch.* ## Project Summary -PetPamper is an innovative mobile application designed to connect pet owners with professional pet groomers, enhancing the pet care experience through convenient scheduling, localized service discovery, and interactive features. This platform centralizes various aspects of pet grooming, from finding nearby service providers to booking appointments to messaging the groomer, aiming to streamline pet care responsibilities for pet owners. PetPamper supports a seamless user experience that caters to both spontaneous and scheduled grooming needs, ensuring that pet care is efficient, enjoyable, and easily accessible. +PetPamper is an innovative mobile application designed to connect pet owners with professional pet groomers, enhancing the pet care experience through convenient scheduling, localized service discovery, and interactive features. This platform centralizes various aspects of pet grooming, from finding nearby service providers to booking appointments to messaging the groomer, aiming to streamline pet care responsibilities for pet owners and provide a marketplace for groomers. PetPamper supports a seamless user experience that caters to both spontaneous and scheduled grooming needs, ensuring that pet care is efficient, enjoyable, and easily accessible. ## Features and Functionality The application is structured to offer a comprehensive range of services which include: @@ -25,11 +25,11 @@ Authentication and Security: Secure user authentication ensures that information Extensibility: The platform is designed to easily incorporate additional pet care services over time, such as veterinary appointments and pet dietary consultations, as well as catering personalized pet care tips. ## Business Model and Target Audience -PetPamper is free for everyone, available on the Android Play Store. The primary target audience includes pet owners who value convenience and quality in pet grooming services as well as groomers, who have grooming salons or work from home. As the app evolves, services can expand to cater to other pet care professionals and businesses, potentially medical veterinary services. +PetPamper is free for everyone, available on the Android Play Store. The primary target audience includes pet owners who value convenience and quality in pet grooming services as well as groomers, who have grooming salons or work from home. Monetization strategies include charging groomers a small fee to appear on the app and taking a commission on each booking made through the platform. As the app evolves, services can expand to cater to other pet care professionals and businesses, potentially medical veterinary services. ## Technological Framework The app is developed for Android platforms, using a robust, scalable architecture that minimizes dependencies on external IT infrastructures. Integration with popular payment gateways and a planned adoption of OAuth2 for secure logins are pivotal components of our tech strategy. -s + ## Goals for the MVP The initial goal for the Minimum Viable Product (MVP) is to achieve substantial user engagement within the community of pet owners, aiming for high download rates, active monthly users, and a trusted reputation for quality and reliability in pet care services. We plan to leverage user feedback to refine and expand services, aiming to make PetPamper an indispensable tool for pet lovers. @@ -37,5 +37,5 @@ The initial goal for the Minimum Viable Product (MVP) is to achieve substantial Following a successful MVP launch, potential expansions include partnerships with pet care product vendors and integration with pet health tracking devices, enhancing the overall pet wellness ecosystem. PetPamper aims to become a leading solution in the mobile pet care industry, supported by a sustainable, service-based revenue model. ## Elevator Pitch -"PetPamper is your all-in-one mobile solution for pet grooming and care. Discover, book, and manage pet grooming appointments with top local professionals, all from the convenience of your smartphone. Make pet care effortless with PetPamper, where your pet's needs are met with just a few taps." +"PetPamper is your all-in-one mobile solution for pet grooming and care. Discover, book, and manage pet grooming appointments with top local professionals, all from the convenience of your smartphone. Groomers can expand their reach and manage their schedules effortlessly. PetPamper stands out by offering a comprehensive, user-friendly experience for both pet owners and groomers, ensuring that pet care is efficient, enjoyable, and accessible. Make pet care effortless with PetPamper, where your pet's needs are met with just a few taps." From a3aaa84fd90bde1433e5aef6adefc457f0e93be0 Mon Sep 17 00:00:00 2001 From: karinerafla <91835061+karinerafla@users.noreply.github.com> Date: Wed, 5 Jun 2024 17:16:38 +0200 Subject: [PATCH 04/26] 1st draft 2-history.md --- template/2-history.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/template/2-history.md b/template/2-history.md index 3372784b..beaff5f8 100644 --- a/template/2-history.md +++ b/template/2-history.md @@ -8,3 +8,28 @@ *What is missing to bridge from PoC to MVP?* +## V1 PoC for PetPamper + +The V1 proof-of-concept (PoC) for PetPamper was designed to showcase the fundamental functionality of the application and test its viability in a real-world setting. The PoC included essential features such as Groomer Discovery, Appointment Scheduling, and an In-app Messaging System. These features enabled users to locate nearby groomers, book grooming appointments, and communicate with groomers directly through the app. The primary objective was to create a streamlined user experience that demonstrated the potential of PetPamper to simplify pet grooming management. + +## What we learnt + +Through the implementation and testing of the PoC, we gathered valuable insights: + +User Engagement: We observed high user engagement with the Groomer Discovery and Appointment Scheduling features, indicating a strong demand for convenient pet grooming solutions. Users appreciated the ability to easily find and book grooming services. + +Technical Challenges: The PoC highlighted several technical challenges, particularly in ensuring real-time updates for appointment scheduling and maintaining secure user authentication. These challenges underscored the need for a more robust and scalable architecture. + +User Feedback: Feedback from initial users indicated a desire for additional features such as detailed groomer profiles, user reviews, and more flexible scheduling options. Users also expressed interest in expanding the app's capabilities to include other pet care services. + +## Bridging from PoC to MVP + +To transition from the PoC to a Minimum Viable Product (MVP), several key enhancements and features need to be implemented: + +Scalable Architecture: Redesigning the app's architecture to support scalability and extensibility. This includes modularizing features to allow for easier updates and integration of additional services in the future. + +Enhanced Security: Implementing more robust security measures, such as OAuth2 for secure logins and encrypted data storage, to protect user information and transactions. + +Payment Integration: Integrating secure and reliable payment gateways to facilitate transactions within the app. This is crucial for enabling the monetization strategy of taking a commission on bookings. + +User Experience Improvements: Refining the user interface and experience to ensure smooth and intuitive interactions. This includes optimizing the in-app messaging system and ensuring real-time updates for appointments. From 824abe3b61715d473bd7ed0dddbe7ae993e365e7 Mon Sep 17 00:00:00 2001 From: karinerafla <91835061+karinerafla@users.noreply.github.com> Date: Wed, 5 Jun 2024 17:22:17 +0200 Subject: [PATCH 05/26] 1st draft.2 2-history.md --- template/2-history.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/template/2-history.md b/template/2-history.md index beaff5f8..d899fec5 100644 --- a/template/2-history.md +++ b/template/2-history.md @@ -33,3 +33,5 @@ Enhanced Security: Implementing more robust security measures, such as OAuth2 fo Payment Integration: Integrating secure and reliable payment gateways to facilitate transactions within the app. This is crucial for enabling the monetization strategy of taking a commission on bookings. User Experience Improvements: Refining the user interface and experience to ensure smooth and intuitive interactions. This includes optimizing the in-app messaging system and ensuring real-time updates for appointments. + +By addressing these areas, we can ensure that the MVP of PetPamper not only meets the current needs of pet owners and groomers but also lays the foundation for future growth and expansion in the pet care industry. From 07bb68b7da77c6f78676d9a028b0787ebdc2426d Mon Sep 17 00:00:00 2001 From: karinerafla <91835061+karinerafla@users.noreply.github.com> Date: Wed, 5 Jun 2024 17:33:56 +0200 Subject: [PATCH 06/26] 1st draft 3-analysis.md --- template/3-analysis.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/template/3-analysis.md b/template/3-analysis.md index 509fbb0b..a690f65a 100644 --- a/template/3-analysis.md +++ b/template/3-analysis.md @@ -4,3 +4,6 @@ *What are the complementary products in the market today?* +PetPamper operates in a competitive market with several key players like Rover, Wag!, PetBacker, and Groomit, each offering various pet care services, including grooming. These competitors have strengths such as large user bases, comprehensive service offerings, and strong reputations, but also face challenges like high costs and limited service areas. + +However, there is currently no similar comprehensive pet grooming app available in Switzerland, providing PetPamper with a unique opportunity to fill this gap. Complementary products, such as pet health tracking devices, pet food delivery services, veterinary telehealth, and grooming tools, offer additional opportunities to enhance PetPamper’s offerings. PetPamper is designed to be useful for both university students and adults, providing a convenient, user-friendly platform for managing pet grooming needs. By integrating these complementary products and leveraging insights from the competitive landscape, PetPamper aims to differentiate itself with a unique value proposition that combines comprehensive grooming services, user-friendly features, and future expansion plans to cater to the holistic needs of pet owners. From dff407e42b2965d8cf7d31508d996fd78519a639 Mon Sep 17 00:00:00 2001 From: karinerafla <91835061+karinerafla@users.noreply.github.com> Date: Wed, 5 Jun 2024 17:47:59 +0200 Subject: [PATCH 07/26] 1st draft 4-value_proposition.md --- template/4-value_proposition.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/template/4-value_proposition.md b/template/4-value_proposition.md index 449ebbcb..f9059fab 100644 --- a/template/4-value_proposition.md +++ b/template/4-value_proposition.md @@ -8,3 +8,35 @@ *3. Relevant* +PetPamper offers a comprehensive, user-friendly mobile application designed to streamline and enhance the pet grooming experience for both pet owners and professional groomers. By providing convenient scheduling, localized service discovery, interactive features, and secure transactions, PetPamper ensures that pet care is efficient, enjoyable, and easily accessible. + +#### 1. Easy to Communicate +PetPamper’s value proposition is straightforward and easily communicated through the app’s key features: + +For Pet Owners: "Find, book, and manage pet grooming appointments with top local professionals effortlessly from your smartphone." +For Groomers: "Expand your reach and manage your schedule seamlessly through a dedicated platform designed to connect you with more clients." + +The simplicity of this message makes it easy to convey the app’s benefits in marketing materials, user guides, and through word-of-mouth recommendations. + + +#### 2. Defensible +PetPamper’s value proposition is defensible for several reasons: + +Unique Market Position in Switzerland: As there is currently no similar comprehensive pet grooming app in Switzerland, PetPamper has a first-mover advantage in this market, making it difficult for competitors to replicate its early success. + +Robust Feature Set: The combination of groomer discovery, real-time appointment scheduling, in-app messaging, and secure transactions sets PetPamper apart from competitors who may offer only a subset of these features. + +Scalability and Extensibility: The app’s architecture is designed to easily incorporate additional pet care services, such as veterinary appointments and dietary consultations, ensuring that PetPamper remains relevant and valuable as user needs evolve. + + +#### 3. Relevant +PetPamper addresses real and pressing needs for both pet owners and groomers: + +Convenience: Pet owners benefit from the ease of finding and booking grooming services, saving time and effort. + +Quality Assurance: Detailed groomer profiles and user reviews help pet owners make informed decisions, ensuring their pets receive high-quality care. + +Professional Support: Groomers gain access to a larger client base and efficient scheduling tools, which can help grow their business and improve customer satisfaction. + +Broad Audience Appeal: The app is useful for both university students, who may have busy schedules and appreciate the convenience, and adults, who seek reliable and quality pet care services. + From 998e7331a9cc9369c7f3ad447d1ee1bbd156c890 Mon Sep 17 00:00:00 2001 From: karinerafla <91835061+karinerafla@users.noreply.github.com> Date: Wed, 5 Jun 2024 20:19:23 +0200 Subject: [PATCH 08/26] 1st draft 5-mvp.md --- template/5-mvp.md | 124 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) diff --git a/template/5-mvp.md b/template/5-mvp.md index c735be65..29b89e7d 100644 --- a/template/5-mvp.md +++ b/template/5-mvp.md @@ -8,6 +8,30 @@ *High-level scenarios to adopt, use and share the product.* +## Target Personas for PetPamper: + +### Primary Persona - The busy pet owner: + +Profile: Emma is a 30-year-old marketing professional with a busy schedule. She owns a dog and values convenience in managing her pet's grooming needs. + +Needs: Easy access to reliable groomers, convenient appointment scheduling, and peace of mind knowing her pet is in good hands. + +### Secondary Persona - The professional groomer: + +Profile: Jack is a 40-year-old professional groomer who owns a small grooming salon. He is looking to expand his client base and streamline his appointment management. + +Needs: A platform to attract more clients, efficient scheduling tools, and a way to manage client communications. + +### Key Persona and Scenario to "Adopt, Use, Share" the product: + +Emma, The Busy Pet Owner: As the primary user, Emma's needs drive the core functionality of PetPamper, ensuring convenience, reliability, and ease of use. + +Adopt: Emma downloads PetPamper, creates a profile, and sets up her pet's details. She browses through groomer profiles, reads reviews, and selects a groomer. + +Use: Emma schedules an appointment with a groomer, communicates specific grooming instructions through the in-app messaging system, and receives confirmation and reminders about the appointment. + +Share: After a successful grooming session, Emma shares her positive experience on social media and leaves a review on PetPamper, recommending it to other pet owners. + ## User Stories and Key Features *User stories about how various personas will use the product in context.* @@ -16,6 +40,92 @@ *Justify the importance of each feature.* +### User Stories - Primary Persona, The busy pet owner: + +"As a user, I want to find reliable groomers near me." + +"As a user, I would like to be able to see groomer details and reviews." + +"As a user, I would also like to communicate directly with groomers." + +"As a user, I want to easily schedule grooming appointments at my convenience." + +"As a user, I would like to receive reminders for my pet's upcoming grooming appointments." + +"As a user, I want to securely pay for grooming services through the app." + +"As a user, I would like to create and manage profiles for multiple pets." + +"As a user, I want to see photos of the groomer's past work to help me decide." + +"As a user, I want to rate and review the groomers after each appointment." + +#### Key Features: +Groomer Discovery + +Detailed Groomer Profiles + +User Reviews + +In-App Messaging System + +Secure Communication + +Appointment Scheduling + +Secure Payment System + +Groomer Work Portfolio + +Rating and Review System + +### User Stories - Secondary Persona, The professional groomer: + +"As a groomer, I want to create and manage my professional profile so that potential clients can learn about my services and expertise." + +"As a groomer, I would like to receive booking requests and manage my availabilities through the app." + +"As a groomer, I want to communicate directly with pet owners to clarify grooming needs and preferences." + +"As a groomer, I would like to receive notifications for new appointments." + +"As a groomer, I would like to receive payments securely through the app." + +"As a groomer, I would like to see reviews and ratings left by pet owners to understand their feedback and improve my services." + +"As a groomer, I would like to upload and showcase photos of my grooming work to attract new clients." + +"As a groomer, I want to be able to specify the types of pets and grooming services I offer to match with suitable clients." + +#### Key Features: +Professional Profile Management + +Booking and Availability Management + +Direct Communication with Pet Owners + +Appointment Notifications + +Secure Payment System + +Review and Feedback System + +Real-Time Appointment Scheduling + + +### Prioritized Key Features and Justification: + +Groomer Discovery: Essential for connecting users with local groomers, addressing the core need for accessible grooming services. + +Real-Time Appointment Scheduling: Crucial for providing convenience and flexibility in booking grooming sessions, enhancing user satisfaction. + +In-App Messaging System: Facilitates clear communication between pet owners and groomers, ensuring specific grooming needs are met. + +User Reviews and Detailed Groomer Profiles: Builds trust and helps users make informed decisions, increasing platform credibility. + +Secure Authentication and Transactions: Protects user data and financial transactions, ensuring trust and reliability in the service. + + ## Success Criteria *How will you evaluate the success of the MVP?* @@ -24,6 +134,14 @@ *If applicable, progress in discussions with ecosystem partners / investors / customers.* +User Penetration: Measure the number of downloads, registrations, and active users within the first three months. + +Quality/Satisfaction: Collect user feedback through ratings and reviews, aiming for high satisfaction scores and positive testimonials. + +Engagement Metrics: Track the number of appointments booked, messages exchanged, and reviews written. + +Ecosystem Progress: Monitor discussions and agreements with potential ecosystem partners, investors, and initial customer feedback. + ## Features Outside the Scope *The MVP must be viable and minimal.* @@ -32,3 +150,9 @@ *How should these be eventually integrated and in what sequence.* +While additional pet services such as veterinary appointments and dietary consultations are valuable, they can be integrated in future updates after establishing the core grooming service. Advanced health tracking integration, which involves incorporating pet health tracking devices and features, will be introduced in later versions to enhance the overall wellness ecosystem. Developing a marketplace for pet care products will be considered once a substantial user base is established. + +### Integration Sequence: + +We would firstly, introduce additional pet services like veterinary appointments and dietary consultations based on user demand and feedback. Then, integrate advanced health tracking devices and features to provide comprehensive pet wellness solutions. Finally, launch a pet care product marketplace to offer users a one-stop-shop for all their pet care needs, leveraging the existing user base. + From 082e9386c3ac112a5d0a6420b2907cb2e9ab6991 Mon Sep 17 00:00:00 2001 From: chtidaba <126361921+chtidaba@users.noreply.github.com> Date: Fri, 7 Jun 2024 23:49:41 +0200 Subject: [PATCH 09/26] Update 11-monetization.md --- template/11-monetization.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/template/11-monetization.md b/template/11-monetization.md index 04263a3f..7e66d6c0 100644 --- a/template/11-monetization.md +++ b/template/11-monetization.md @@ -1,6 +1,32 @@ # Business Model -*Expected operating Costs* + +* If we start with a budget of 10 000 $ + +*Total Estimated Costs: +Development and Maintenance: $5,000, (this is optional, if we keep working together, we can work for free before the launch of the app) +Hosting and Infrastructure: $700 +Marketing and User Acquisition: $2,300 +Customer Support: $700 +Administrative Costs: $600 +Licenses and Subscriptions: $500 +Total: $9,800 + +Budget Utilization Summary: +Development and Maintenance: 50% +Hosting and Infrastructure: 7% +Marketing and User Acquisition: 23% +Customer Support: 7% +Administrative Costs: 6% +Licenses and Subscriptions: 5% +Contingency: +Remaining Budget: $200 (2% of total budget for unexpected expenses)* + *Revenue Streams* +*We will take a small commission for each reservation done bu a user, suppose the average reservation is 50$, we take 10%, so 5$ per reservation, +We will then need 2000 reservations to make our project lucrrative* + + + From c39da54df9d22786be88bf2e6c0a229cc3a9b121 Mon Sep 17 00:00:00 2001 From: chtidaba <126361921+chtidaba@users.noreply.github.com> Date: Fri, 7 Jun 2024 23:50:14 +0200 Subject: [PATCH 10/26] Update 11-monetization.md --- template/11-monetization.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/template/11-monetization.md b/template/11-monetization.md index 7e66d6c0..258d45e9 100644 --- a/template/11-monetization.md +++ b/template/11-monetization.md @@ -1,7 +1,7 @@ # Business Model -* If we start with a budget of 10 000 $ +If we start with a budget of 10 000 $ *Total Estimated Costs: Development and Maintenance: $5,000, (this is optional, if we keep working together, we can work for free before the launch of the app) @@ -23,10 +23,10 @@ Contingency: Remaining Budget: $200 (2% of total budget for unexpected expenses)* -*Revenue Streams* -*We will take a small commission for each reservation done bu a user, suppose the average reservation is 50$, we take 10%, so 5$ per reservation, -We will then need 2000 reservations to make our project lucrrative* + +We will take a small commission for each reservation done by a user, suppose the average reservation is 50$, we take 10%, so 5$ per reservation, +We will then need 2000 reservations to make our project lucrrative From 7b4896de941f6cb88749f88b6ba5a7786791d5d5 Mon Sep 17 00:00:00 2001 From: chtidaba <126361921+chtidaba@users.noreply.github.com> Date: Fri, 7 Jun 2024 23:51:43 +0200 Subject: [PATCH 11/26] Update 11-monetization.md --- template/11-monetization.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/template/11-monetization.md b/template/11-monetization.md index 258d45e9..be85d29d 100644 --- a/template/11-monetization.md +++ b/template/11-monetization.md @@ -4,27 +4,39 @@ If we start with a budget of 10 000 $ *Total Estimated Costs: + Development and Maintenance: $5,000, (this is optional, if we keep working together, we can work for free before the launch of the app) + Hosting and Infrastructure: $700 + Marketing and User Acquisition: $2,300 + Customer Support: $700 + Administrative Costs: $600 + Licenses and Subscriptions: $500 + Total: $9,800 Budget Utilization Summary: + Development and Maintenance: 50% + Hosting and Infrastructure: 7% + Marketing and User Acquisition: 23% + Customer Support: 7% + Administrative Costs: 6% + Licenses and Subscriptions: 5% + Contingency: Remaining Budget: $200 (2% of total budget for unexpected expenses)* - - We will take a small commission for each reservation done by a user, suppose the average reservation is 50$, we take 10%, so 5$ per reservation, We will then need 2000 reservations to make our project lucrrative From 2182d5d47a357e448db8addcf3711d81799a1020 Mon Sep 17 00:00:00 2001 From: karinerafla <91835061+karinerafla@users.noreply.github.com> Date: Sat, 8 Jun 2024 10:07:26 +0200 Subject: [PATCH 12/26] Draft 1 6-non_functional_requirements.md --- template/6-non_functional_requirements.md | 88 +++++++++++++++++++++++ 1 file changed, 88 insertions(+) diff --git a/template/6-non_functional_requirements.md b/template/6-non_functional_requirements.md index 76b0e5f5..a125b6ac 100644 --- a/template/6-non_functional_requirements.md +++ b/template/6-non_functional_requirements.md @@ -8,9 +8,97 @@ *Which privacy features do you need from the phone?* +The application's security critical components include the authentication and payment systems. Authentication will be delegated to third party authentication providers, and the payment will also be delegated to third-party payment gateways such as PayPal or Google Pay. + +PetPamper stores Personal Identifiable Information, and is therefore subject to privacy and data protection regulation laws. However, there is no further processing of this data, and data subjects can request for their data to be deleted at any time. + +The application may store data related to a pet's health, however privacy laws do not apply to animals. + +Below, are stated the laws and regulations thus applicable to PetPamper. + +### Applicable Laws and Regulations + +GDPR (General Data Protection Regulation): Ensures the protection of personal data for users in the European Union. + +Swiss Federal Act on Data Protection (FADP): Compliance with Switzerland's data protection laws to safeguard user information. + +PCI DSS (Payment Card Industry Data Security Standard): Ensures secure processing of payment information. + +### Internal Policies + +The internal policies therefore simply include: + +Data Encryption: Sensitive personal information and payment details are encrypted both in transit and at rest using Firebase's built-in security features. + +Access Control: Ensure only authorized personnel can access stored data on Firebase. + +Data Retention: Regular audits will be conducted within the Firebase environment to ensure data is deleted when no longer needed. + +Incident Response: Utilize Firebase's security features to monitor and respond to data breaches. + +### Privacy Features + +Privacy features that are needed from the phone are strictly optional, and the user will be asked whether they agree to the use of these features. + +Geolocation: Allows users to find groomers near them. Users will be asked for permission to access their location data. + +Camera: Allows users to upload pet photos and groomers to update their portfolios. Users will be asked for permission to access the camera. + +Push Notifications: Users may allow the application to send them push notifications for appointment reminders, and messaging updates. + ## Adoptions, Scalability and Availability *What kind of traffic patterns do you expect to see?* *Are there known periods of bursty traffic that the MVP must be designed to support?* +### Driving Adoption + +To drive adoption, the application should focus on ease of use for both users and groomers. Early adoption is crucial as one of the main value propositions of the app is to connect pet owners to local groomers. Key strategies include: + +User-Friendly Interface: Ensure the app is intuitive and easy to navigate for all users. + +Effective Onboarding: Provide clear instructions and support for new users and groomers to get started quickly. + +Marketing and Promotions: Utilize targeted marketing campaigns and promotional offers to attract initial users and groomers. + +### Traffic Patterns and Bursty Periods + +We expect traffic to remain fairly constant, with potential variations during specific periods: + +Daily Traffic: Steady flow of user interactions throughout the day, with peaks during morning and evening hours when users typically schedule appointments - say after a 9-5. + +Weekly and Monthly Trends: Higher traffic during weekends and at the start of each month when users tend to book grooming sessions. + +Seasonal Variations: Increased activity during warmer seasons when pets might require more frequent hair trimming. + + +Adoptions, Scalability, and Availability +Driving Adoption + +To drive adoption, the application should focus on ease of use for both users and groomers. Early adoption is crucial as one of the main value propositions of the app is to connect pet owners to local groomers. Key strategies include: + +User-Friendly Interface: Ensure the app is intuitive and easy to navigate for all users. +Effective Onboarding: Provide clear instructions and support for new users and groomers to get started quickly. +Marketing and Promotions: Utilize targeted marketing campaigns and promotional offers to attract initial users and groomers. +Traffic Patterns + +We expect traffic to remain fairly constant, with potential variations during specific periods: + +Daily Traffic: Steady flow of user interactions throughout the day, with peaks during morning and evening hours when users typically schedule appointments. + +Weekly and Monthly Trends: Higher traffic during weekends and at the start of each month when users tend to book grooming sessions. + +Seasonal Variations: Increased activity during warmer seasons when pets might require more frequent hair trimming. + +The MVP must be designed to support periods of bursty traffic, such as: + +Promotional Events: Spikes in traffic during promotional campaigns or special offers. + +Holiday Seasons: Increased activity when pet owners prepare for trips or events. + +Post-Launch Surge: Initial burst of traffic following the MVP launch as new users sign up and explore the app. + +Given that the MVP is primarily targeted at Swiss customers, there is a cap on the number of potential users (for now). +However, scalability and availability remain critical to ensure a seamless experience. Utilizing Firebase's auto-scaling and load-balancing capabilities while continuously monitoring performance metrics, PetPamper can ensure a secure, reliable, and scalable experience that drives adoption and handles varying traffic patterns effectively. + From 29b0c7563d4ec307e00ac826831e34ab2dcb09e3 Mon Sep 17 00:00:00 2001 From: karinerafla <91835061+karinerafla@users.noreply.github.com> Date: Sat, 8 Jun 2024 10:32:35 +0200 Subject: [PATCH 13/26] Draft 1 7-functional_requirements.md --- template/7-functional_requirements.md | 95 +++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/template/7-functional_requirements.md b/template/7-functional_requirements.md index 1a322ee1..23f6357c 100644 --- a/template/7-functional_requirements.md +++ b/template/7-functional_requirements.md @@ -8,3 +8,98 @@ *Describe key internal functionality.* +## Key Features + +#### User Authentication and Profile Management + +Sign in through Firebase Authentication (Google Sign-In). +Create and manage user profiles, including personal information and preferences. + +#### Groomer Discovery and Detailed Profiles + +Find nearby groomers using location data. +View detailed groomer profiles including services offered, reviews, and work portfolio. + +#### Appointment Scheduling + +Schedule grooming appointments in real-time. +Manage appointment availability and receive reminders. + +#### In-App Messaging System + +Communicate directly with groomers. +Send and receive messages within the app. + +#### Secure Payment System + +Process payments securely through integrated payment gateways. +Manage wallet and transaction history. + +#### Pet Profiles + +Create and manage profiles for multiple pets. +Store pet-specific information and grooming history. + +#### Reviews and Ratings + +Rate and review groomers after each appointment. +View reviews from other users to make informed decisions. + +#### Map Integration + +Display groomer locations. +Provide directions and navigation to the grooming location. + +## PetPamper's Architectural Diagram + +The architectural diagram outlines the main components of the PetPamper application, divided into three layers: UI layer, Data layer, and External services and SDKs. + +![image](https://github.com/PetPamper/prd/assets/91835061/48255cb7-36cb-4557-9c41-215aaf00ef21) + +## Key Internal Functionality + +#### Authentication and Authorization + +Use Firebase Authentication for secure user sign-in and management. +Handle user sessions and maintain authentication state. + +#### Data Management + +Store user, groomer, pet profiles, and appointment data in Firebase. +Use Firebase Firestore for real-time data synchronization and updates. + +#### Groomer Discovery + +Utilize geolocation services to find and display nearby groomers. +Query groomer data based on user location and preferences. + +#### Appointment Scheduling + +Implement a real-time booking system to manage appointments. +Sync appointment data between users and groomers. + +#### Messaging System + +Integrate Stream IO for real-time messaging between users and groomers. +Handle message storage and retrieval securely. + +#### Payment Processing + +Integrate payment gateways to handle transactions. +Securely manage user wallet and transaction history. + +#### Review and Rating System + +Allow users to leave ratings and reviews for groomers. +Store and display reviews to assist other users in decision-making. + +#### Map and Navigation + +Use Google Maps SDK for displaying groomer locations and providing navigation. +Implement geocoding to convert addresses into geographic coordinates. + +#### Geocoding and Location Services +Integrate Nominatim SDK for converting addresses into geographic coordinates. +Use Nominatim for additional location services, such as reverse geocoding to find addresses based on coordinates + + From cff6a858179b6c36733686aa2c4ffc12aff6082e Mon Sep 17 00:00:00 2001 From: karinerafla <91835061+karinerafla@users.noreply.github.com> Date: Sat, 8 Jun 2024 10:40:43 +0200 Subject: [PATCH 14/26] draft 1 8-user_analytics.md --- template/8-user_analytics.md | 48 ++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/template/8-user_analytics.md b/template/8-user_analytics.md index 3fdb9feb..66d64dd1 100644 --- a/template/8-user_analytics.md +++ b/template/8-user_analytics.md @@ -10,3 +10,51 @@ *Include relevant A/B testing ideas.* +#### Goal: Understand how users are using the app + +## Key Metrics + +#### Number of Registered Groomers: +The total number of groomers registered on the app. +Geographical distribution of groomers compared to demographic data. + +#### Number of Booked Appointments: +The key metric for measuring app usage. +Total appointments booked by users. + +#### User Retention: +The percentage of users who continue to use the app over time. +Repeat booking rates for both pet owners and groomers. + +## Success Criteria + +#### Sufficient Numbers of Registered Groomers: +Ensure that there are enough registered groomers in each populated area to provide users with options. + +#### User Engagement: +50% of users who booked one appointment should book several more. + +## Analysis Plan + +Data Collection: Use Firebase Analytics to collect and analyze data. Ensure that all collected data is anonymized to protect user privacy. + +Data Tracking: Implement tracking for key metrics such as user sign-ups, appointments booked, and user retention. + +Dashboard and Reports: Create dashboards and regular reports to monitor and analyze the key metrics. + +## A/B Testing Ideas + +1. Groomer Display Priority: + +Test different criteria for prioritizing groomers in search results (e.g., distance, ratings, availability) to determine which helps pet owners find suitable groomers more easily. + +2. Information Layout: + +Experiment with different layouts for displaying groomer profiles, including the arrangement of reviews, photos, and services offered, to see which format is more effective in helping users make decisions. + +## +By focusing on these key metrics, success criteria, and A/B testing ideas, PetPamper can effectively understand user behavior, improve user engagement, and continuously refine the app to better meet the needs of pet owners and groomers. + + + + From 1dfe0e7ccc8ada6846224640834065734e05a9e1 Mon Sep 17 00:00:00 2001 From: chtidaba <126361921+chtidaba@users.noreply.github.com> Date: Sat, 8 Jun 2024 15:03:13 +0200 Subject: [PATCH 15/26] Update 9-design.md --- template/9-design.md | 143 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) diff --git a/template/9-design.md b/template/9-design.md index d9872a1d..bc30b087 100644 --- a/template/9-design.md +++ b/template/9-design.md @@ -4,8 +4,55 @@ *List the key libraries, languages, components used by the MVP.* + *If applicable, describe essential screens.* +Frontend +Implementation Framework: + +Language: Kotlin +Framework: Jetpack Compose, optimized for Android +Architecture: Model-View-ViewModel (MVVM) +Dynamic UI Rendering Strategy: + +The data layer will fetch UI descriptions in a machine-readable format for each feature, such as groomer profiles, booking forms, and reviews. +These descriptions will contain details about what frontend fragments need to be rendered for each plugin. +The ViewModel will interpret these descriptions to determine the fragments to be displayed in the view of each activity. +This dynamic rendering will allow for flexible UI adjustments in response to changes in service APIs or UX improvements. +Adaptability to Service API Changes: + +The flexible UI design will be key in adapting to any future API changes. For example, if new features are added to the groomer profiles, these changes will be incorporated in the backend’s machine-readable UI description and seamlessly integrated into the app without major redevelopment. +Security and Data Management Focus: + +The frontend will securely store refresh tokens and cache necessary app data. +This approach will prioritize the security of sensitive information and the efficiency of the app’s performance. + +Essential Screens: + +Welcome Screen: +Sign in with Google or manual authentication +Brief introduction to the app’s features +Home Screen: + +Dashboard displaying available pet groomers +Search functionality to find groomers by location or specialty +Groomer Profile Screen: + +Detailed profile of each groomer +Services offered, pricing, reviews, and booking options +Booking Screen: + +Calendar for selecting appointment date and time +Booking form with pet details and special requests +User Profile Screen: + +User details and preferences +History of past bookings and reviews + +Home Screen that show reservation and pet management. + +Chat to discuss with groomers + ## Backend *Decompose the MVP into functional blocks.* @@ -20,6 +67,56 @@ *How is it shared/copied/cached?* +Data Model for PetPamper +What Data Are You Collecting / Managing? +User Data: + +Personal details: name, email, contact information +Profile picture +PawPoints +Preferences and settings + +Groomer Data: +Professional details: services offered, pricing, availability +Location information +Profile pictures and contact information + +Pet Data: +Pet details: name, type (dog, cat, etc.), description, age + +Reservation Data: +Booking information: date, experienceYears, groomerEmail, groomerName, hour, price, reservationId, services, userEmail + +Review Data: + +Ratings and reviews provided by users for groomers +Timestamp of reviews + +Chat Data: +Messages exchanged between pet owners and groomers +Timestamps and sender/receiver information +Authentication Data: + +Authentication tokens: access and refresh tokens (passwords are not collected or stored) +How Is It Organised? + + +Where Is It Stored? +All data is stored in Google Firebase Firestore, a NoSQL cloud database. +Firestore collections and documents are used to structure the data, ensuring efficient access and real-time updates. +How Is It Shared / Copied / Cached? + +Realtime Updates: Firestore automatically provides real-time updates to all connected clients, ensuring that users see the latest information instantly. +Local Caching: Firebase handles local caching for offline access and faster load times. Data is cached on the client device and synchronized with the server when the device reconnects to the internet. + +Data Sharing: + +Data is shared between the client app and the backend via Firebase APIs. +The frontend accesses data through ViewModels that interact with Firestore, ensuring a clear separation of concerns and adherence to the MVVM architecture. +Secure Storage: Sensitive data such as authentication tokens are securely stored using Android Keystore, ensuring data protection on client devices. +This clear organization and management of data ensure that PetPamper is robust, scalable, and secure, providing a seamless experience for users. + + ## Security Considerations ## Infrastructure and Deployment @@ -34,3 +131,49 @@ *Any special infrastructure requirements.* + + +Development Process: + +The application is developed using Android Studio with Kotlin and Jetpack Compose. +The development follows the MVVM architecture to ensure a structured separation of concerns between the UI and business logic. +Testing Process: + +Unit Tests: Conducted using JUnit to test individual components and business logic. +UI Tests: Conducted using Espresso to test user interface interactions and flows. +Regular code reviews and continuous integration (CI) are used to ensure code quality and catch issues early. +Deployment Process: + +CI/CD Pipeline: Set up using GitHub Actions to automate the build, test, and deployment processes. +Automated tests run on every commit to ensure code quality. +Successful builds are deployed to the Google Play Store. +Special Infrastructure Requirements: + +Firebase Integration: Configuration and integration of Firebase services such as Firestore, Authentication, Cloud Messaging, and Cloud Functions. +CI/CD Tools: GitHub Actions for continuous integration and continuous deployment. +Hosting: Backend services are hosted on a scalable cloud infrastructure, ensuring high availability and performance. +Test Plan +Development, Testing, and Deployment: + +Development: + +Code development in Android Studio using Kotlin and Jetpack Compose. +Use Git for version control and GitHub for repository management. +Testing: + +Unit Tests: Use JUnit to test individual components and business logic. +UI Tests: Use Espresso to test the user interface and user interactions. +Conduct integration tests to ensure different parts of the application work together seamlessly. +Perform security testing to identify and fix vulnerabilities. +Deployment: + +Use GitHub Actions to automate the build, test, and deployment processes. +Deploy the application to the Google Play Store for distribution. +Monitor application performance and errors using Firebase Crashlytics and Performance Monitoring. +Special Infrastructure Requirements: + +Firebase Services: Firestore for database, Authentication for user management, Cloud Messaging for notifications, and Cloud Functions for server-side logic. +CI/CD Pipeline: GitHub Actions for automating the testing and deployment processes. +Staging Environment: A separate environment for final testing before production deployment to ensure stability and reliability. + + From 121fe3ebbcf8707279db301f0ebbbe89f94ccf79 Mon Sep 17 00:00:00 2001 From: chtidaba <126361921+chtidaba@users.noreply.github.com> Date: Sat, 8 Jun 2024 20:47:21 +0200 Subject: [PATCH 16/26] Update 10-timeline.md --- template/10-timeline.md | 98 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) diff --git a/template/10-timeline.md b/template/10-timeline.md index a4efa719..1ff7afe5 100644 --- a/template/10-timeline.md +++ b/template/10-timeline.md @@ -8,3 +8,101 @@ *List identified sprints* +Execution Roadmap +The MVP development is planned to be executed over a 10-week time period. This includes setup, development, testing, rollout, and feature iteration to find product-market fit. We envision several intermediate milestones that will help us assess our progress with a team of 5 peoples. + +Milestone 1: Design Completion and Technical Setup (Sprint 1, 2, 3) +Week 1: Kickoff and Documentation + +Objective: EPFL API Investigation, Documentation, and Scraping prototype scripts; set up project tools, and establish MVP scope. +Outcomes: Project setup and initial documentation. +Week 2: Design and Technical Setup + +Objective: Initial wireframes and user flows created, started UI mockups with UI elements for plugins. Configure Google Auth. +Outcomes: Preliminary design and authentication setup. +Week 3: Design Finalization & Application Skeleton + +Objective: Finalized UI/UX designs, set up development environments, and backend APIs to populate simple UI elements. +Outcomes: Development environment ready, initial backend setup. +Tasks Completed: + +Add CI for automated testing using GitHub actions +Create project template +Set up project +Create the Figma project for the app +Draw Architecture Design for App +Figma of Login and SignUp as a groomer and password recovery by e-mail +Figma for Profile menu +Figma for Home Screen +Figma Sign in, sign Up, Groomer Screen with all the workflow +Implement the navigation bar +Implement the pet data class +Implement register functionality, and the main screen HomeScreen +Implement all the workflow for password recovery +User can signIn using Google Authenticator and fill in additional information +Write a nice ReadMe for Milestone 1 +Milestone 2: Core Feature Development (Sprint 4, 5, 6) +Week 4: Profile and Authentication Features + +Objective: Implement user and groomer profile screens, set up Google authentication and manual login. +Outcomes: Completed profile screens and authentication features. +Week 5: Groomer Services and Booking System + +Objective: Develop groomer service listing and booking functionality, integrate with the backend. +Outcomes: Working booking system and groomer services. +Week 6: Pet Management and Review System + +Objective: Implement pet management features and review system for groomers. +Outcomes: Functional pet management and review system. +Tasks Completed: + +Implement groomer profile on Figma +Implement the Map screen +Link up Google Maps SDK +Implement Groomer page with review screen +Implement the Groomer Data Class +Add edit profile button on profile and for profile pic +Implement register functionality for groomers +Fix workflow bugs that crash the app +Implement the nominatim API and integrate it with registration screens +Fetch groomers that are 10 km nearby with all their info and profile pictures +Continue implementing the user profile view for customers +Add unit tests on Groomer data class +Add unit tests on GroomerReview data class +Make the groomer interface and a calendar to enter available hours +Fix some workflow bugs that crash the app +Login Switch for user and groomer +Create instrumented tests for each e2e flow +Fetch data for user profile +Milestone 3: Internal Testing and Pre-Launch Preparation (Sprint 7, 8) +Week 7: Chat Functionality and Notification System + +Objective: Develop chat functionality between users and groomers, set up notifications. +Outcomes: Integrated chat system and notifications. +Week 8: Internal Testing & Analytics/Monitoring Pipelines + +Objective: Thorough internal testing, load testing, feedback collection, bug fixing, performance testing. +Outcomes: Identified and fixed critical bugs, optimized performance. +Tasks Completed: + +Fetch reservation data to appear on the user's side +Implement functionality that lets the user modify the address within the app +Move "I have already a user account" button showup in the login screen +Create the pet database: connect pet UI to database +Implement the reservation process with groomer using user account +Fix chat functionality or use Stream API for better use +Complete user flow on Home Screen by adding functionality to add pets and manage them +Add a marker of users' location and focus on it when launching the map screen +Edit functionality UI on user profile +Edit functionality logic on user profile +Build APK without bloating Git storage +Fix address lookups and usages to ensure uniformity across the app +Milestone 4: Initial Rollout and Feature Iterations for PMF (Sprint 9, 10) +Week 9: Pre-Launch Preparations and Alpha Testing + +Objective: Final bug fixes and optimizations, prepared app store and launch materials, started alpha testing with a small group of users. +Outcomes: App ready for initial rollout, feedback from alpha testing. +Week 10: Full Rollout and Feature Iteration + +Objective: Full rollout to users, monitor app performance, and gather user feedback for feature iterations. +Outcomes: Successful launch and user feedback for further improvements. From 2dca19e6a1f3aabd063639b321926883de620809 Mon Sep 17 00:00:00 2001 From: Ali Bentaleb Date: Sat, 8 Jun 2024 21:06:35 +0200 Subject: [PATCH 17/26] prd --- template/9-design.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/9-design.md b/template/9-design.md index bc30b087..74cf04a9 100644 --- a/template/9-design.md +++ b/template/9-design.md @@ -36,7 +36,7 @@ Home Screen: Dashboard displaying available pet groomers Search functionality to find groomers by location or specialty -Groomer Profile Screen: +Groomer Profile Screen 1: Detailed profile of each groomer Services offered, pricing, reviews, and booking options From fb710c85539e2258830e885b2a3592226280b76b Mon Sep 17 00:00:00 2001 From: Ali Bentaleb Date: Sat, 8 Jun 2024 21:32:55 +0200 Subject: [PATCH 18/26] prd --- .github/workflows/build_pdf.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/build_pdf.yml b/.github/workflows/build_pdf.yml index d12b3e13..77900f13 100644 --- a/.github/workflows/build_pdf.yml +++ b/.github/workflows/build_pdf.yml @@ -1,9 +1,5 @@ name: Build PDF from Markdown -on: - push: - branches: - - main jobs: build: From 0c3f78cc30239df3840639814bc769e729201504 Mon Sep 17 00:00:00 2001 From: Ali Bentaleb Date: Sat, 8 Jun 2024 21:34:00 +0200 Subject: [PATCH 19/26] prd --- .github/workflows/build_pdf.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build_pdf.yml b/.github/workflows/build_pdf.yml index 77900f13..d12b3e13 100644 --- a/.github/workflows/build_pdf.yml +++ b/.github/workflows/build_pdf.yml @@ -1,5 +1,9 @@ name: Build PDF from Markdown +on: + push: + branches: + - main jobs: build: From b76143f1dd923411fd4580b2e7c233f608b21d03 Mon Sep 17 00:00:00 2001 From: Ali Bentaleb Date: Sat, 8 Jun 2024 21:45:41 +0200 Subject: [PATCH 20/26] prd --- template/10-timeline.md | 35 +++++++++++++++++------------------ template/9-design.md | 22 +--------------------- 2 files changed, 18 insertions(+), 39 deletions(-) diff --git a/template/10-timeline.md b/template/10-timeline.md index 1ff7afe5..75dba5f9 100644 --- a/template/10-timeline.md +++ b/template/10-timeline.md @@ -1,29 +1,22 @@ # Timeline/Resource Planning -*What’s the overall schedule you’re working towards?* - -*What resources are required?* - -*What are the intermediate milestones?* - -*List identified sprints* - Execution Roadmap The MVP development is planned to be executed over a 10-week time period. This includes setup, development, testing, rollout, and feature iteration to find product-market fit. We envision several intermediate milestones that will help us assess our progress with a team of 5 peoples. Milestone 1: Design Completion and Technical Setup (Sprint 1, 2, 3) -Week 1: Kickoff and Documentation +Week 1: Kickoff and Documentation Objective: EPFL API Investigation, Documentation, and Scraping prototype scripts; set up project tools, and establish MVP scope. Outcomes: Project setup and initial documentation. -Week 2: Design and Technical Setup +Week 2: Design and Technical Setup Objective: Initial wireframes and user flows created, started UI mockups with UI elements for plugins. Configure Google Auth. Outcomes: Preliminary design and authentication setup. -Week 3: Design Finalization & Application Skeleton +Week 3: Design Finalization & Application Skeleton Objective: Finalized UI/UX designs, set up development environments, and backend APIs to populate simple UI elements. Outcomes: Development environment ready, initial backend setup. + Tasks Completed: Add CI for automated testing using GitHub actions @@ -41,17 +34,19 @@ Implement register functionality, and the main screen HomeScreen Implement all the workflow for password recovery User can signIn using Google Authenticator and fill in additional information Write a nice ReadMe for Milestone 1 + + Milestone 2: Core Feature Development (Sprint 4, 5, 6) -Week 4: Profile and Authentication Features +Week 4: Profile and Authentication Features Objective: Implement user and groomer profile screens, set up Google authentication and manual login. Outcomes: Completed profile screens and authentication features. -Week 5: Groomer Services and Booking System +Week 5: Groomer Services and Booking System Objective: Develop groomer service listing and booking functionality, integrate with the backend. Outcomes: Working booking system and groomer services. -Week 6: Pet Management and Review System +Week 6: Pet Management and Review System Objective: Implement pet management features and review system for groomers. Outcomes: Functional pet management and review system. Tasks Completed: @@ -74,15 +69,19 @@ Fix some workflow bugs that crash the app Login Switch for user and groomer Create instrumented tests for each e2e flow Fetch data for user profile + + Milestone 3: Internal Testing and Pre-Launch Preparation (Sprint 7, 8) -Week 7: Chat Functionality and Notification System +Week 7: Chat Functionality and Notification System Objective: Develop chat functionality between users and groomers, set up notifications. Outcomes: Integrated chat system and notifications. -Week 8: Internal Testing & Analytics/Monitoring Pipelines +Week 8: Internal Testing & Analytics/Monitoring Pipelines Objective: Thorough internal testing, load testing, feedback collection, bug fixing, performance testing. Outcomes: Identified and fixed critical bugs, optimized performance. + + Tasks Completed: Fetch reservation data to appear on the user's side @@ -98,11 +97,11 @@ Edit functionality logic on user profile Build APK without bloating Git storage Fix address lookups and usages to ensure uniformity across the app Milestone 4: Initial Rollout and Feature Iterations for PMF (Sprint 9, 10) -Week 9: Pre-Launch Preparations and Alpha Testing +Week 9: Pre-Launch Preparations and Alpha Testing Objective: Final bug fixes and optimizations, prepared app store and launch materials, started alpha testing with a small group of users. Outcomes: App ready for initial rollout, feedback from alpha testing. -Week 10: Full Rollout and Feature Iteration +Week 10: Full Rollout and Feature Iteration Objective: Full rollout to users, monitor app performance, and gather user feedback for feature iterations. Outcomes: Successful launch and user feedback for further improvements. diff --git a/template/9-design.md b/template/9-design.md index 74cf04a9..162a1545 100644 --- a/template/9-design.md +++ b/template/9-design.md @@ -55,17 +55,9 @@ Chat to discuss with groomers ## Backend -*Decompose the MVP into functional blocks.* ## Data Model -*What data are you collecting / managing?* - -*How is it organised?* - -*Where is it stored?* - -*How is it shared/copied/cached?* Data Model for PetPamper What Data Are You Collecting / Managing? @@ -117,20 +109,8 @@ Secure Storage: Sensitive data such as authentication tokens are securely stored This clear organization and management of data ensure that PetPamper is robust, scalable, and secure, providing a seamless experience for users. -## Security Considerations - -## Infrastructure and Deployment - -*How is the application developed, tested and deployed?* - -*Any special infrastructure requirements.* - -## Test Plan - -*How is the application developed, tested and deployed?* - -*Any special infrastructure requirements.* +## Test Plan and deployment Development Process: From e5f0138acbad7a45da09c1ee9c1a82d19b913005 Mon Sep 17 00:00:00 2001 From: Ali Bentaleb Date: Sat, 8 Jun 2024 22:12:30 +0200 Subject: [PATCH 21/26] prd --- template/3-analysis.md | 4 ---- template/4-value_proposition.md | 7 ------- template/5-mvp.md | 6 ------ template/6-non_functional_requirements.md | 6 ------ template/7-functional_requirements.md | 8 -------- template/8-user_analytics.md | 10 ---------- template/9-design.md | 5 ----- 7 files changed, 46 deletions(-) diff --git a/template/3-analysis.md b/template/3-analysis.md index a690f65a..825ee60d 100644 --- a/template/3-analysis.md +++ b/template/3-analysis.md @@ -1,9 +1,5 @@ # Analysis of the Situation -*What are the competing products in the market today?* - -*What are the complementary products in the market today?* - PetPamper operates in a competitive market with several key players like Rover, Wag!, PetBacker, and Groomit, each offering various pet care services, including grooming. These competitors have strengths such as large user bases, comprehensive service offerings, and strong reputations, but also face challenges like high costs and limited service areas. However, there is currently no similar comprehensive pet grooming app available in Switzerland, providing PetPamper with a unique opportunity to fill this gap. Complementary products, such as pet health tracking devices, pet food delivery services, veterinary telehealth, and grooming tools, offer additional opportunities to enhance PetPamper’s offerings. PetPamper is designed to be useful for both university students and adults, providing a convenient, user-friendly platform for managing pet grooming needs. By integrating these complementary products and leveraging insights from the competitive landscape, PetPamper aims to differentiate itself with a unique value proposition that combines comprehensive grooming services, user-friendly features, and future expansion plans to cater to the holistic needs of pet owners. diff --git a/template/4-value_proposition.md b/template/4-value_proposition.md index f9059fab..9222f070 100644 --- a/template/4-value_proposition.md +++ b/template/4-value_proposition.md @@ -1,12 +1,5 @@ # The Value Proposition -*Describe the value proposition and argue that it is:* - -*1. Easy to communicate* - -*2. Defensible* - -*3. Relevant* PetPamper offers a comprehensive, user-friendly mobile application designed to streamline and enhance the pet grooming experience for both pet owners and professional groomers. By providing convenient scheduling, localized service discovery, interactive features, and secure transactions, PetPamper ensures that pet care is efficient, enjoyable, and easily accessible. diff --git a/template/5-mvp.md b/template/5-mvp.md index 29b89e7d..4911c9fa 100644 --- a/template/5-mvp.md +++ b/template/5-mvp.md @@ -2,12 +2,6 @@ ## Personas and Scenarios -*Who are the target personas for this product?* - -*Which is the key persona?* - -*High-level scenarios to adopt, use and share the product.* - ## Target Personas for PetPamper: ### Primary Persona - The busy pet owner: diff --git a/template/6-non_functional_requirements.md b/template/6-non_functional_requirements.md index a125b6ac..230ce779 100644 --- a/template/6-non_functional_requirements.md +++ b/template/6-non_functional_requirements.md @@ -2,12 +2,6 @@ ## Security, privacy, and data retention policies -*Which are the applicable laws and regulations?* - -*What are your internal policies?* - -*Which privacy features do you need from the phone?* - The application's security critical components include the authentication and payment systems. Authentication will be delegated to third party authentication providers, and the payment will also be delegated to third-party payment gateways such as PayPal or Google Pay. PetPamper stores Personal Identifiable Information, and is therefore subject to privacy and data protection regulation laws. However, there is no further processing of this data, and data subjects can request for their data to be deleted at any time. diff --git a/template/7-functional_requirements.md b/template/7-functional_requirements.md index 23f6357c..e95a432b 100644 --- a/template/7-functional_requirements.md +++ b/template/7-functional_requirements.md @@ -1,13 +1,5 @@ # Functional Requirements -*Max 3 pages.* - -*List the key features of the MVP precisely.* - -*Include appropriate architectural diagrams.* - -*Describe key internal functionality.* - ## Key Features #### User Authentication and Profile Management diff --git a/template/8-user_analytics.md b/template/8-user_analytics.md index 66d64dd1..d7fedc30 100644 --- a/template/8-user_analytics.md +++ b/template/8-user_analytics.md @@ -1,15 +1,5 @@ # User Analytics and Acceptance -*Goal: understand how users are using the app.* - -*Which are the key metrics?* - -*What is the success criteria?* - -*What is the analysis plan (link to data collection)?* - -*Include relevant A/B testing ideas.* - #### Goal: Understand how users are using the app ## Key Metrics diff --git a/template/9-design.md b/template/9-design.md index 162a1545..3bffb22c 100644 --- a/template/9-design.md +++ b/template/9-design.md @@ -2,11 +2,6 @@ ## Frontend -*List the key libraries, languages, components used by the MVP.* - - -*If applicable, describe essential screens.* - Frontend Implementation Framework: From cdb8169238dd4d7e95dea1cc9fc92926781bf159 Mon Sep 17 00:00:00 2001 From: Ali Bentaleb Date: Sat, 8 Jun 2024 22:15:46 +0200 Subject: [PATCH 22/26] prd --- template/1-overview.md | 8 -------- template/2-history.md | 8 -------- 2 files changed, 16 deletions(-) diff --git a/template/1-overview.md b/template/1-overview.md index 22bcedc2..5406ffbf 100644 --- a/template/1-overview.md +++ b/template/1-overview.md @@ -1,13 +1,5 @@ # Overview -*Maximum: 2 pages* - -*What is this project about?* - -*Describe succinctly and precisely its purpose.* - -*Include a 3-sentence (max) elevator pitch.* - ## Project Summary PetPamper is an innovative mobile application designed to connect pet owners with professional pet groomers, enhancing the pet care experience through convenient scheduling, localized service discovery, and interactive features. This platform centralizes various aspects of pet grooming, from finding nearby service providers to booking appointments to messaging the groomer, aiming to streamline pet care responsibilities for pet owners and provide a marketplace for groomers. PetPamper supports a seamless user experience that caters to both spontaneous and scheduled grooming needs, ensuring that pet care is efficient, enjoyable, and easily accessible. diff --git a/template/2-history.md b/template/2-history.md index d899fec5..9ee90caf 100644 --- a/template/2-history.md +++ b/template/2-history.md @@ -1,13 +1,5 @@ # History -*Maximum 1 page* - -*Describe the V1 POC as planned by Sprint10.* - -*What did you learn?* - -*What is missing to bridge from PoC to MVP?* - ## V1 PoC for PetPamper The V1 proof-of-concept (PoC) for PetPamper was designed to showcase the fundamental functionality of the application and test its viability in a real-world setting. The PoC included essential features such as Groomer Discovery, Appointment Scheduling, and an In-app Messaging System. These features enabled users to locate nearby groomers, book grooming appointments, and communicate with groomers directly through the app. The primary objective was to create a streamlined user experience that demonstrated the potential of PetPamper to simplify pet grooming management. From 0854d303f89f35996d8fe7003d9113c59581b3ca Mon Sep 17 00:00:00 2001 From: karinerafla <91835061+karinerafla@users.noreply.github.com> Date: Sun, 9 Jun 2024 00:10:24 +0200 Subject: [PATCH 23/26] Update 6-non_functional_requirements.md --- template/6-non_functional_requirements.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/template/6-non_functional_requirements.md b/template/6-non_functional_requirements.md index 230ce779..6edfa429 100644 --- a/template/6-non_functional_requirements.md +++ b/template/6-non_functional_requirements.md @@ -42,10 +42,6 @@ Push Notifications: Users may allow the application to send them push notificati ## Adoptions, Scalability and Availability -*What kind of traffic patterns do you expect to see?* - -*Are there known periods of bursty traffic that the MVP must be designed to support?* - ### Driving Adoption To drive adoption, the application should focus on ease of use for both users and groomers. Early adoption is crucial as one of the main value propositions of the app is to connect pet owners to local groomers. Key strategies include: From ac27f536070ad1e66a106783677a0838536e9e20 Mon Sep 17 00:00:00 2001 From: karinerafla <91835061+karinerafla@users.noreply.github.com> Date: Sun, 9 Jun 2024 00:11:42 +0200 Subject: [PATCH 24/26] Update 5-mvp.md --- template/5-mvp.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/template/5-mvp.md b/template/5-mvp.md index 4911c9fa..3c8f006d 100644 --- a/template/5-mvp.md +++ b/template/5-mvp.md @@ -122,12 +122,6 @@ Secure Authentication and Transactions: Protects user data and financial transac ## Success Criteria -*How will you evaluate the success of the MVP?* - -*Metrics include user penetration, quality / satisfaction.* - -*If applicable, progress in discussions with ecosystem partners / investors / customers.* - User Penetration: Measure the number of downloads, registrations, and active users within the first three months. Quality/Satisfaction: Collect user feedback through ratings and reviews, aiming for high satisfaction scores and positive testimonials. @@ -138,12 +132,6 @@ Ecosystem Progress: Monitor discussions and agreements with potential ecosystem ## Features Outside the Scope -*The MVP must be viable and minimal.* - -*Which features don’t belong in it.* - -*How should these be eventually integrated and in what sequence.* - While additional pet services such as veterinary appointments and dietary consultations are valuable, they can be integrated in future updates after establishing the core grooming service. Advanced health tracking integration, which involves incorporating pet health tracking devices and features, will be introduced in later versions to enhance the overall wellness ecosystem. Developing a marketplace for pet care products will be considered once a substantial user base is established. ### Integration Sequence: From f237d639a4d12cdf6653edc3e318582dfbc5c184 Mon Sep 17 00:00:00 2001 From: Ali Bentaleb Date: Sun, 9 Jun 2024 01:01:19 +0200 Subject: [PATCH 25/26] prd --- template/5-mvp.md | 5 - template/7-functional_requirements.md | 56 ++++--- template/9-design.md | 203 ++++++++++++-------------- 3 files changed, 127 insertions(+), 137 deletions(-) diff --git a/template/5-mvp.md b/template/5-mvp.md index 3c8f006d..ec9f402a 100644 --- a/template/5-mvp.md +++ b/template/5-mvp.md @@ -28,11 +28,6 @@ Share: After a successful grooming session, Emma shares her positive experience ## User Stories and Key Features -*User stories about how various personas will use the product in context.* - -*Identify and prioritise the key features required.* - -*Justify the importance of each feature.* ### User Stories - Primary Persona, The busy pet owner: diff --git a/template/7-functional_requirements.md b/template/7-functional_requirements.md index e95a432b..86b60fc3 100644 --- a/template/7-functional_requirements.md +++ b/template/7-functional_requirements.md @@ -1,46 +1,60 @@ # Functional Requirements +Key features of the MVP include: + +- User management: + - Account creation: users can register an account as pet owners looking to find groomers for their pets, or as groomers looking to find customers. This will require an authentication management system which will be delegated to third party providers. + - User profile management: users can edit their profile information. For pet owners, this will include information about their pets, which will allow the application to find groomers matching their needs more easily. For groomers, this will include public information about the services they provide, which will allow them to reach potential customers more easily. Storing all of this data will be require a database management system. +- Groomer discovery: + - Using data provided by the groomers and pet owners, the application will display a list of groomers matching certain criteria, making it easy for pet owners to find groomers for their pets. This will notably make use of geographical data, allowing pet owners to find groomers in their area. +- Appointment booking: + - Groomers will be able to open reservation slots using a built-in booking system. Pet owners will then be able to book appointments with groomers. This will notably allow groomers to easily manage their schedule. + - Calendar integration: the application will integrate the booking system to the calendar, allowing both groomers and pet owners to + +# Functional Requirements + ## Key Features #### User Authentication and Profile Management -Sign in through Firebase Authentication (Google Sign-In). -Create and manage user profiles, including personal information and preferences. +- Account creation: users can register an account as pet owners looking to find groomers for their pets, or as groomers looking to find customers. +- User profile management: users can edit their profile information. For pet owners, this will include personal information and preferences which will allow the application to find groomers matching their needs more easily. For groomers, this will include public information about the services they provide, which will allow them to reach potential customers more easily. #### Groomer Discovery and Detailed Profiles -Find nearby groomers using location data. -View detailed groomer profiles including services offered, reviews, and work portfolio. +- Using data provided by the groomers and pet owners, the application will display a list of groomers matching certain criteria, making it easy for pet owners to find groomers for their pets. This will notably make use of geographical data, allowing pet owners to find groomers in their area. +- Users will be able to view detailed groomer profiles including offered services, reviews, and work portfolio. #### Appointment Scheduling -Schedule grooming appointments in real-time. -Manage appointment availability and receive reminders. +- Groomers will be able to open reservation slots using a built-in booking system. Pet owners will then be able to book appointments with groomers. This will notably allow groomers to easily manage their schedule. +- Calendar integration: the application will integrate the booking system to the calendar, allowing both groomers and pet owners to manage their reservations seamlessly with their other schedule constraints. +- Users will also have the ability to activate reminders and notifications about upcoming appointments #### In-App Messaging System -Communicate directly with groomers. -Send and receive messages within the app. +- This will allow pet owners to communicate directly with groomers. +- The messages will be sent and received within the app. #### Secure Payment System -Process payments securely through integrated payment gateways. -Manage wallet and transaction history. +- Pet owners will be able to pay groomers directly through the app +- Users will be able to manage their wallet and view their transaction history. #### Pet Profiles -Create and manage profiles for multiple pets. -Store pet-specific information and grooming history. +- Pet owners can create and manage profiles for multiple pets. +- Pet owners can store pet-specific information and grooming history. #### Reviews and Ratings -Rate and review groomers after each appointment. -View reviews from other users to make informed decisions. +- Pet owners can rate and review groomers after each appointment. +- Pet owners can view reviews from other users to make informed decisions. #### Map Integration -Display groomer locations. -Provide directions and navigation to the grooming location. +- The application can display groomer locations. +- It can provide directions and navigation to the grooming location. ## PetPamper's Architectural Diagram @@ -52,13 +66,13 @@ The architectural diagram outlines the main components of the PetPamper applicat #### Authentication and Authorization -Use Firebase Authentication for secure user sign-in and management. +Use Firebase Authentication and third-party OAuth2 providers for secure user sign-in and management. Handle user sessions and maintain authentication state. #### Data Management -Store user, groomer, pet profiles, and appointment data in Firebase. -Use Firebase Firestore for real-time data synchronization and updates. +Store user, groomer, pet profiles, and appointment data using Cloud Firestore. +Use Firestore for real-time data synchronization and updates. #### Groomer Discovery @@ -69,6 +83,7 @@ Query groomer data based on user location and preferences. Implement a real-time booking system to manage appointments. Sync appointment data between users and groomers. +Integrate with Google Calendar. #### Messaging System @@ -77,7 +92,7 @@ Handle message storage and retrieval securely. #### Payment Processing -Integrate payment gateways to handle transactions. +Integrate payment gateways to handle transactions, such as Stripe or PayPal. Securely manage user wallet and transaction history. #### Review and Rating System @@ -94,4 +109,3 @@ Implement geocoding to convert addresses into geographic coordinates. Integrate Nominatim SDK for converting addresses into geographic coordinates. Use Nominatim for additional location services, such as reverse geocoding to find addresses based on coordinates - diff --git a/template/9-design.md b/template/9-design.md index 3bffb22c..97a4debc 100644 --- a/template/9-design.md +++ b/template/9-design.md @@ -2,153 +2,134 @@ ## Frontend -Frontend -Implementation Framework: - -Language: Kotlin -Framework: Jetpack Compose, optimized for Android -Architecture: Model-View-ViewModel (MVVM) -Dynamic UI Rendering Strategy: - -The data layer will fetch UI descriptions in a machine-readable format for each feature, such as groomer profiles, booking forms, and reviews. -These descriptions will contain details about what frontend fragments need to be rendered for each plugin. -The ViewModel will interpret these descriptions to determine the fragments to be displayed in the view of each activity. -This dynamic rendering will allow for flexible UI adjustments in response to changes in service APIs or UX improvements. -Adaptability to Service API Changes: - -The flexible UI design will be key in adapting to any future API changes. For example, if new features are added to the groomer profiles, these changes will be incorporated in the backend’s machine-readable UI description and seamlessly integrated into the app without major redevelopment. -Security and Data Management Focus: - -The frontend will securely store refresh tokens and cache necessary app data. -This approach will prioritize the security of sensitive information and the efficiency of the app’s performance. - -Essential Screens: - -Welcome Screen: -Sign in with Google or manual authentication -Brief introduction to the app’s features -Home Screen: - -Dashboard displaying available pet groomers -Search functionality to find groomers by location or specialty -Groomer Profile Screen 1: - -Detailed profile of each groomer -Services offered, pricing, reviews, and booking options -Booking Screen: - -Calendar for selecting appointment date and time -Booking form with pet details and special requests -User Profile Screen: - -User details and preferences -History of past bookings and reviews - -Home Screen that show reservation and pet management. - -Chat to discuss with groomers +The frontend primarily consists of the application's UI. It will be done using the Kotlin programming language and the Jetpack Compose framework. In the future, we may also consider using the Swift programming language to port the application to iOS devices, but that will be further down the roadmap. + +The architecture will follow the MVVM pattern which is the norm for mobile applications. This allows for clean separation of concerns between the UI layer and the data layer, which makes replacing backend components easier without disrupting the user interface. +The UI components will therefore be agnostic of the information that they display, making them more reusable. + +The information that is displayed by the UI will be abstracted as a "news source", making it easier to test the UI separately from the backend logic. + +Coordinating the UI logic and the data layer will be done by the ViewModels and the domain layer of the application. They will be in charge of retrieving data from repositories, which constitute an additional layer of abstraction for the data layer. Their role is to choose from which data source to retrieve information from: for instance, in offline mode, the data source will change from the remote database to a local, cached database. + +Essential screens will include: +- A login screen and a registration screen so that users can create an account and authenticate themselves +- For pet owners: + - A home screen displaying their pets and booked reservations with groomers + - A groomer discovery screen displaying groomers in your area, information regarding their services and their ratings from other pet owners + - A more detailed groomer profile containing a description, pictures and more detailed user reviews + - An appointment booking screen for each groomer + - A chat to discuss details with groomers + - A profile screen with the ability to edit information, preferences and settings + - A screen to edit information concerning pets +- For groomers: + - A home screen displaying booked reservations + - A reservation screen to manage reservations and reservation slots + - A chat to discuss with potential customers + - A profile screen with the ability to edit information, provided services and settings ## Backend +*Decompose the MVP into functional blocks.* -## Data Model +The backend will deal with several important components: +- Authentication: this will be integrated within the application using Firebase Authentication and third-party OAuth 2 providers such as Google or Facebook +- Database management system: this will primarily use Cloud Firestore. +- A payment system: this will be done by integrating third-party payment gateways such as Stripe, PayPal or Google Pay +## Data Model -Data Model for PetPamper -What Data Are You Collecting / Managing? -User Data: +### What Data Are You Collecting / Managing? +- User Data: + - Personal details: name, email, contact information + - Profile picture + - PawPoints + - Preferences and settings -Personal details: name, email, contact information -Profile picture -PawPoints -Preferences and settings +- Groomer Data: + - Professional details: services offered, pricing, availability + - Location information + - Profile pictures and contact information -Groomer Data: -Professional details: services offered, pricing, availability -Location information -Profile pictures and contact information +- Pet Data: + - Pet details: name, type (dog, cat, etc.), description, age -Pet Data: -Pet details: name, type (dog, cat, etc.), description, age +- Reservation Data: + - Booking information: date and time, groomer email, groomer name, price, reservation ID, services, user email -Reservation Data: -Booking information: date, experienceYears, groomerEmail, groomerName, hour, price, reservationId, services, userEmail +- Review Data: + - Ratings and reviews provided by users for groomers + - Timestamp of reviews -Review Data: +- Chat Data: + - Messages exchanged between pet owners and groomers + - Timestamps and sender/receiver information -Ratings and reviews provided by users for groomers -Timestamp of reviews +- Authentication Data: + - Authentication tokens: access and refresh tokens (passwords are not collected or stored) -Chat Data: -Messages exchanged between pet owners and groomers -Timestamps and sender/receiver information -Authentication Data: +### How Is It Organised? Where Is It Stored? -Authentication tokens: access and refresh tokens (passwords are not collected or stored) -How Is It Organised? +All data is stored in Google Firebase Firestore, a NoSQL cloud database. Firestore collections and documents are used to structure the data, ensuring efficient access and real-time updates. +### How Is It Shared / Copied / Cached? -Where Is It Stored? -All data is stored in Google Firebase Firestore, a NoSQL cloud database. -Firestore collections and documents are used to structure the data, ensuring efficient access and real-time updates. -How Is It Shared / Copied / Cached? +- Realtime Updates: Firestore automatically provides real-time updates to all connected clients, ensuring that users see the latest information instantly. +- Local Caching: Firebase handles local caching for offline access and faster load times. Data is cached on the client device and synchronized with the server when the device reconnects to the internet. -Realtime Updates: Firestore automatically provides real-time updates to all connected clients, ensuring that users see the latest information instantly. -Local Caching: Firebase handles local caching for offline access and faster load times. Data is cached on the client device and synchronized with the server when the device reconnects to the internet. +### Data Sharing: -Data Sharing: +Data is shared between the client app and the backend via Firebase APIs. The frontend accesses data through ViewModels that interact with Firestore, ensuring a clear separation of concerns and adherence to the MVVM architecture. -Data is shared between the client app and the backend via Firebase APIs. -The frontend accesses data through ViewModels that interact with Firestore, ensuring a clear separation of concerns and adherence to the MVVM architecture. Secure Storage: Sensitive data such as authentication tokens are securely stored using Android Keystore, ensuring data protection on client devices. + This clear organization and management of data ensure that PetPamper is robust, scalable, and secure, providing a seamless experience for users. ## Test Plan and deployment - -Development Process: +### Development Process: The application is developed using Android Studio with Kotlin and Jetpack Compose. The development follows the MVVM architecture to ensure a structured separation of concerns between the UI and business logic. -Testing Process: -Unit Tests: Conducted using JUnit to test individual components and business logic. -UI Tests: Conducted using Espresso to test user interface interactions and flows. -Regular code reviews and continuous integration (CI) are used to ensure code quality and catch issues early. -Deployment Process: +- Testing Process: + + - Unit Tests: Conducted using JUnit to test individual components and business logic. + - UI Tests: Conducted using Espresso to test user interface interactions and flows. + - Regular code reviews and continuous integration (CI) are used to ensure code quality and catch issues early. -CI/CD Pipeline: Set up using GitHub Actions to automate the build, test, and deployment processes. -Automated tests run on every commit to ensure code quality. -Successful builds are deployed to the Google Play Store. -Special Infrastructure Requirements: +- Deployment Process: -Firebase Integration: Configuration and integration of Firebase services such as Firestore, Authentication, Cloud Messaging, and Cloud Functions. -CI/CD Tools: GitHub Actions for continuous integration and continuous deployment. -Hosting: Backend services are hosted on a scalable cloud infrastructure, ensuring high availability and performance. -Test Plan -Development, Testing, and Deployment: + - CI/CD Pipeline: Set up using GitHub Actions to automate the build, test, and deployment processes. + - Automated tests run on every commit to ensure code quality. + - Successful builds are deployed to the Google Play Store. -Development: +- Special Infrastructure Requirements: -Code development in Android Studio using Kotlin and Jetpack Compose. -Use Git for version control and GitHub for repository management. -Testing: + - Firebase Integration: Configuration and integration of Firebase services such as Firestore, Authentication, Cloud Messaging, and Cloud Functions. + - CI/CD Tools: GitHub Actions for continuous integration and continuous deployment. + - Hosting: Backend services are hosted on a scalable cloud infrastructure, ensuring high availability and performance. -Unit Tests: Use JUnit to test individual components and business logic. -UI Tests: Use Espresso to test the user interface and user interactions. -Conduct integration tests to ensure different parts of the application work together seamlessly. -Perform security testing to identify and fix vulnerabilities. -Deployment: +### Test Plan +#### Development, Testing, and Deployment: -Use GitHub Actions to automate the build, test, and deployment processes. -Deploy the application to the Google Play Store for distribution. -Monitor application performance and errors using Firebase Crashlytics and Performance Monitoring. -Special Infrastructure Requirements: +- Development: + - Code development in Android Studio using Kotlin and Jetpack Compose. + - Use Git for version control and GitHub for repository management. -Firebase Services: Firestore for database, Authentication for user management, Cloud Messaging for notifications, and Cloud Functions for server-side logic. -CI/CD Pipeline: GitHub Actions for automating the testing and deployment processes. -Staging Environment: A separate environment for final testing before production deployment to ensure stability and reliability. +- Testing: + - Unit Tests: Use JUnit to test individual components and business logic. + - UI Tests: Use Espresso to test the user interface and user interactions. + - Conduct integration tests to ensure different parts of the application work together seamlessly. + - Perform security testing to identify and fix vulnerabilities. +- Deployment: + - Use GitHub Actions to automate the build, test, and deployment processes. + - Deploy the application to the Google Play Store for distribution. + - Monitor application performance and errors using Firebase Crashlytics and Performance Monitoring. +- Special Infrastructure Requirements: + - Firebase Services: Firestore for database, Authentication for user management, Cloud Messaging for notifications, and Cloud Functions for server-side logic. + - CI/CD Pipeline: GitHub Actions for automating the testing and deployment processes. + - Staging Environment: A separate environment for final testing before production deployment to ensure stability and reliability. \ No newline at end of file From fcd8fc7c8da05560d579bdce46ea8fcb4fb0a238 Mon Sep 17 00:00:00 2001 From: Ali Bentaleb Date: Sun, 9 Jun 2024 01:06:16 +0200 Subject: [PATCH 26/26] prd --- template/12-appendix.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/template/12-appendix.md b/template/12-appendix.md index 377bc045..139597f9 100644 --- a/template/12-appendix.md +++ b/template/12-appendix.md @@ -1,6 +1,2 @@ -# Appendix -*This section is optional.* - -*Can include mockups, sequence diagrams, etc.*