Skip to content

Requirements and Specifications

HappyHangbok edited this page Dec 3, 2023 · 38 revisions

Document History

  • Version 1.0

  • Version 1.1

    • Make use case more specific.
    • Update user story so that each feature has a singular, focused user story and that the accompanying acceptance criteria are detailed and specific.
    • Modify the wireframe to highlight the directional flow between screens, ensuring the user's journey through the application is intuitive and clear.
  • Version 1.2

    • Slightly edited the format of this document
  • Version 1.3

    • Revised user stories
    • Modified use cases
    • Modified wireframe
  • Version 1.4 (Latest)

    • Revised use case and user stories for the friends feature - changed from request to follow
    • Updated user stories for UAT

Service Name

I'm Pine Thank You

pinelogo

Team Members

  • Hunsung Kim 2018-10649

  • Taekmin Kim 2014-10056

  • Kaheun Lee 2018-19981

  • Hyunsoo Ko 2021-16683

  • Hyungseok Choi 2017-17935

Abstract

I'm Pine Thank You" is a friendly app that offers a fun and new hobby to young people – growing real pineapples! The app gives everyone a break from screen time and a chance to develop responsibility while taking care of a plant. It's a peaceful pastime that also lets you see how your friends are doing with their own pineapple plants.

The app is not just about growing a plant but about enjoying a fresh, new activity. While taking care of their pineapples, users can also enjoy the quiet time away from the busy digital world, focusing on something simple and relaxing. The friendly peek into friends' pineapple journeys adds a light touch of connection, making growing your pineapple not only a personal hobby but also a shared joy with friends.

Customer

General Audience

  • Individuals who are looking for novel and calm hobbies to do with friends.
  • Those who might need a break from constant screen time and are looking for more serene and mindful activities.

Specific Target Audience

  • Young individuals who would like to share their gardening experiences with friends and family.
  • Young individuals who enjoy activities that allow them to share experiences and updates with friends in a light and non-intrusive way.
  • Users who are looking for activities that contribute to mental well-being and offer a break from fast-paced daily life.
  • School or community groups that might use the app as a fun, interactive learning tool about plant growth and taking care of a living organism. This could be particularly engaging for projects related to biology or environmental science.

Competitive Landscape

I'm Pine Thank You Planta Florish
Avatar Customization o x o
Daily Pineapple Diaries o x o
Predictive Disease Modeling o x x
Social Component o o x
Push Notifications o o o
Weather Integration o o o
Friend Invite & Sharing o o o

Use Cases

Use Case 1: Registering and Logging into the App

Goal:

  • User wants to create an account and log into the app to access personalized features.

Primary Actor:

  • New User

Precondition:

  • App is installed and opened.

Main Success Scenario:

  1. User launches the app and is presented with the welcome screen.
  2. User selects the option to create a new account.
  3. User signs up.
  4. User logs in using the credentials.
  5. User is navigated to the Home Screen.

Extensions:

3a. User tries to register with an email already in use - A message is displayed advising the user to log in or use a different email.

4a. Login credentials are incorrect - Login fails

Use Case 2: Tutorial and Home Page

Goal:

  • User aims to get tips on how to grow pineapples and create a personalized pineapple plant profile with a chosen avatar.

Primary Actor:

  • User

Main Success Scenario:

  1. User signs up and logs in for the first time.
  2. User is directed to the tutorial page with information on growing pineapples.
  3. After the tutorial, the user is prompted to enter details for a new pineapple plant.
  4. User chooses an avatar from five available options for personalization.
  5. On the "make plant page," the user inputs the plant name, plant height, and uploads a picture of their plant.
  6. When revisiting the app, the user bypasses the tutorial and is directed to the Home page.
  7. On the Home page, the user can view information about their pineapple, its picture, and the chosen avatar.

Extensions:

2a. Tutorial information is unclear - User seeks additional help or skips the tutorial.

3b. User skips entering pineapple plant details - A default plant profile is created.

4c. User does not select an avatar - A random avatar is assigned.

Variations:

6b. User requests to revisit the tutorial - Tutorial is accessible from the settings menu.

Use Case 3: Utilizing Pineapple Disease Prediction Model

Goal:

  • User wishes to predict the likelihood of diseases affecting their pineapple.

Primary Actor:

  • User

Main Success Scenario:

  1. User navigates to the "Disease Prediction" section.
  2. User inputs weather details.
  3. System processes the data and provides the likelihood of pineapple getting FCR recommends preventive actions.

Extensions:

2a. User provides inconsistent or conflicting data - A message prompts them to review their inputs.

Use Case 4: Following, Viewing, and Interacting with Friends

Goal:

  • User desires to connect with friends and view their pineapple details

Primary Actor:

  • User

Main Success Scenario:

  1. User navigates to the "Friends" tab.
  2. User searches for a friend using their Username and follows.
  3. The friend is added to user’s friend list.
  4. User views their friend's content.

Extensions:

2a. The provided username is invalid or nonexistent - Fails to search for friend.

Variations:

4b. User chooses to unfollow a friend - Friend's is deleted from user’s friend list.

Use Case 5: Writing Pineapple Diaries

Goal:

  • User desires to manage (create, read, update, and delete) diary entries with enhanced functionality, including photo attachments, categorization, and privacy controls.

Primary Actor:

  • User

Main Success Scenario:

  1. User decides to add a new diary entry.
  2. User is prompted to fill in all required fields to ensure completeness.
  3. User has the option to attach photos to the diary entry for a visual representation.
  4. User chooses a category for the diary entry to classify its topic or theme.
  5. User selects the privacy setting for the entry (private or public).
  6. User saves the new diary entry.
  7. User reviews and edits existing diary entries, updating information as needed.
  8. User deletes any diary entry they no longer wish to keep.

Extensions:

2a. User attempts to save an entry with incomplete fields - Prompted to complete all fields before saving.

3b. User faces issues with photo upload - Provides alternative text or skips photo attachment.

4c. Category selection is unclear or inappropriate - User is given guidance or more category options.

Variations:

5a. User changes the privacy setting of an existing entry - Updated privacy settings are immediately applied.

7b. User edits an entry multiple times - All changes are tracked and saved accordingly.

User Stories

1. Login, Sign-up, and Onboarding Tutorial

User Story:

As a new user, I want to sign up, log in, and be guided through a tutorial so I can make an account of my pineapple plant and understand how to grow pineapples.

Acceptance Criteria

  1. Given I am on the sign-up page, I must be required to input all the fields: username, email (in the correct format), password, and password confirmation.
  2. Given I am on the sign-up page, when I input an email that is already registered, I should receive an error message indicating that the email is already taken.
  3. Given I am on the sign-up page, I should ensure that the passwords I enter are longer than 6 characters and that the password and confirmation match.
  4. Given I am on the login page, I must be required to input all the fields: username, email, password and password confirmation.
  5. Given I input valid authentication data and logging in for the first time, I should be navigated to tutorial page where I can see tips on how to grow pineapples so that I can start growing pineapples.

2. Making Plant Profile and Home Page

User Story:

As a user, I want to make a new plant profile when I first sign up for the app and want to be able to view my plant details in the homepage so that I can keep track of my pineapple.

Acceptance Criteria:

  1. Given it's my first time logging in after signing up, after completing the tutorial, I should be prompted to input pineapple data to create a new pineapple plant.
  2. Given it's my first time logging in after signing up, I should be required to choose among 5 different avatars for a cute and personal experience.
  3. Given it's my first time logging in after signing up, on the "make plant page," I should be required to input plant name, plant height, and a picture of my plant to create my own pineapple plant.
  4. Given I revisit the app, I shouldn't be shown the tutorial again and go right to Home page.
  5. Given I am at home page, I should be able to see information about my pineapple and its picture and avatar.

3. Diary Entries

User Story:

As a user, I want to have the ability to create, read, update, and delete diary entries with various features for enhanced functionality and privacy control.

Acceptance Criteria:

  1. Given I am using the app, I should be able to create new diary entries.
  2. Given I am reviewing my diary entries, I should have the ability to update and edit existing entries.
  3. Given I am reviewing my diary entries, I should be able to delete entries I no longer wish to keep.
  4. Given I am creating a new diary entry, I should be prompted to fill in all required fields, ensuring that no fields are left empty.
  5. Given I am creating a new diary entry, I should have the option to attach photos to my entry, providing a visual element to my diary.
  6. Given I am creating a new diary entry, I should have the ability to choose a category that represents the topic or theme of my diary.
  7. Given I am creating a new diary entry, I should be able to select whether the diary entry is private or public. Private entries should not be visible to friends or other users unless specified otherwise.

4. Accessing the Pineapple Disease Prediction Model

User Story:

As a user, I want a prediction model to understand and counteract the fruitlet core rot (fcr) diseases affecting my pineapple.

Acceptance Criteria:

  1. Given I'm about to use the prediction model, when I haven't entered all necessary data, then the missing information is fetched from the current weather data by default.
  2. Given I receive a disease likelihood result, when the risk is above a certain threshold, then I am provided with tips on treating or preventing that disease.

5. Following and Interacting with Friends

User Story:

As a user, I want to connect with friends, see their pineapples, and engage with their diaries to share our pineapple cultivation experiences.

Acceptance Criteria:

  1. Given I am in the Friends Page and I searched a friend, when I click follow, then I can see friends pineapple details.

Non-Functional Requirements

  1. Usability: - The app should feature an intuitive, user-friendly interface to ensure it is accessible to users without a deep technical background or specialized knowledge in plant cultivation - Tutorials should be easy to understand, visually engaging, and provide clear, step-by-step instructions for users

  2. Performance: - The app should load within 5 seconds to provide a smooth user experience - The prediction model should return results in at leat 10 seconds

  3. Scalability - The app should support up to 10,000 concurrent users at launch, allowing room for initial growth without compromising performance.

  4. Compatibility: - The app should be compatible with at least the latest three versions of Android OS to accommodate a majority of users while considering the rapid updates of mobile OS.

Wireframe

wireframeNew