# Project Brief PawPaw is a responsive website with extra functions for pet lovers. Most recent e-com apps are designed for selling various stuffs, no e-com site with specilly designed activities for the pet owners so far. ### Motivations + Problems As a pet owner, I find it inconvinient to buy pet products at one place and move to another place for a pet spa service, then maybe I have to go somewhere else to see my pet's doctor. This is not only an e-com site with products and services but also a place where users can feel proud of their pets. My biggest problem is how to create more interesting activities/functions to attract pet owners & pet lovers as well ### Key Features and Technical Implementation Plan **1. E-com:** * Add to cart, order and payment, filter. Basic features of an e-com site. -- Design backend api & function to execute frontend command. * Membership program. Users gain more points after they pay an order or finish a service, accordingly level up with better benefits. -- Add one more function at the backend side when people satisfy the above condition. -- Frontend: notificate user when they got promoted and send them a gift. They can receive it as an typical order with price of 0. * Pet profile. User can add their pet profile into their account (as many as they want). -- Create one more model for pet and more functions. * Book a service. We have 2 types of service here: spa and healthcare. -- User can book a service from website. -- Only admin who can confirm its final cost and status (by PUT method). We would take these to calculate that user's point. **2. Competition: Pet of the Year** * Admin would choose 5 pet profiles from the accounts with the most total value order during a year * Users can see these pet profiles and vote for their favorite ones. * The number of vote is calculated from user's paid order, 1 vote for every 100k. E.x: 100k = +1 vote, 110k = +1 vote, 250k = +2 votes... * The pet who got the most votes wins. ### Key Models * Users (standard fields) -- Standard fields, email/pass/etc -- Profile Fields ++ Name ++ Role ++ Pet ++ Cart ++ Order ++ Schedule ++ Point ++ Tier ++ Reward * Product ++ name ++ category ++ images ++ description ++ price * Order ++ owner ++ order: [] ++ address ++ phone ++ totalCost ++ isPaid * Service ++ name ++ type ++ price ++ description ++ images * Schedule ++ owner ++ service ++ date ++ time ++ totalCost ++ isDone * Pet ++ owner ++ name ++ birthday ++ age ++ male ++ type ++ images ++ videos ++ description ++ vaccinationRecord ++ medicalRecord * Competition ++ competitor: [{pet, vote}] ++ time ++ result ### Landing Page N/A ### High-Level Sprint Planning **Week 0: Key Functionality Backend** * Users can register and sign up for the site. * Users can browse products and services. * Users can add to cart, order & pay, product filter by name & category. * Users can book a service. * Users can gain more point in term of membership program. * Users can create pet profiles. * Admin can create, update new products and services. * Admin can update final cost and status from a service booking * Competition backend **Week 1: E-com Frontend** * Set up frontend * Chooste template, color, style and flow (frontend) * Users can execute at least 4 core functions above **Week 2: Competition Frontend** * User can execute the rest functions * Admin can create a competition Pet of the Year * Users can join the competition