-
Notifications
You must be signed in to change notification settings - Fork 1
Requirements & Specifications
As the dining culture advances, there is a growing demand for recording and sharing one's dining experiences and favorite restaurants. Our app, Food Record, is a restaurant review-dedicated social networking service (SNS) where users can easily share and record reviews of restaurants with photos and ratings. Liked reviews can be marked with a thumbs-up icon. Additionally, by analyzing the preferences in user reviews, the app provides personalized tags for each user, allowing them to discover tastes they may not have been aware of. In the personal profile tab, users can neatly organize and see the reviews they have left. In the main tab, a personalized recommendation feed based on user tags is provided, including those of users they follow. If more information beyond the feed is needed, in addition to the basic restaurant search function, users can easily search for others with similar tastes using user tags. In other words, they can follow users with similar preferences or those who upload high-quality reviews. Now, there's no need to agonize over choosing a restaurant; enjoy a personalized feed through our app and experience a more exciting dining culture!
Our target involves everyone who wants to personalize their dining experience and find like-minded friends by sharing their food tastes.
Our app can share reviews from reliable users, which we follow, and can easily upload food-specialized reviews based on our app’s template. Also, we will provide user tags to make users find similar users and refer to their reviews with ease. These characteristics personalizes users’ dining experiences.
Service | Naver Map/Google Map | SNS | Catch Table (Food review apps) | Food record |
---|---|---|---|---|
can easily search for reliable and similar users | X | O | X | O |
purposed on uploading reviews | O | X | O | O |
specialized to restuarants | X | X | O | O |
Naver Map/Google Map :
- Reviews are generated based on locations, not users. Thus, following other users and sharing information with them is not active. They show reviews from randomized group of people, which makes it harder to find reviews from people with similar tastes and reliability.
- These services are not specialized to restaurants.
Instagram/Facebook/Twitter (SNS) :
- Social Network Services focus on displaying themselves, such as appearances or hobbies. They are not fit for purpose to express one’s food preferences to others, or to document one’s dining experiences.
- They are also not specialized to restuarants.
Catch Table (including other food review applications) :
- Reviews are generated based on locations, not users.
- They do not have enough keywords or hashtags, which makes it harder to search for reviews, users, or restaurants that users want.
- Use Case 1
Goal | User wishes to write a new review |
---|---|
Actor | User |
Pre-condition | App is currently running, user at login screen |
Main Scenario | 1. User enters account and password 2. System verifies and logs user in. 3. System presents main screen. 4. User presses the “write” button * 5. System shows submission screen to the user. 6. User writes review, including mandatory details(photos, restaurant name) and submits. 7. System verifies and records the new review. 8. System shows success message to the user, then returns user to the main screen |
Extensions (error scenarios) | 2a. Account is not registered or password is incorrect 2a.1. System returns user to login screen. 2a.2. User backs out or tries again (backup-email?) 7a. Mandatory details do not exist in review 7a.1. System shows a “please fill in required details” message to the user 7a.2. User backs out, or tries again |
- Use Case 2
Goal | User A wishes to follow another user B. |
---|---|
Actor | User A |
Pre-condition | App is currently running, user at login screen |
Main Scenario | 1. User A enters account and password 2. System verifies and logs user in. 3. System presents main screen. 4. User A presses the “follow” button. * 5. System presents search screen with two modes of searching. (via tag or uid) 6. User A selects mode and enters uid or combination* of tags. 7. System finds match and presents results to the user. 8. User A presses result of user B. 9. System shows profile screen of user B to user A. 10. User A presses “follow” button. 11. System updates user A’s and user B’s new follow. |
Extensions (error scenarios) | 2a. Account is not registered or password is incorrect 2a.1. System returns user to login screen. 2a.2. User backs out or tries again (backup-email?) 7a. Match doesn’t exist 7a.1. System shows a “match doesn’t exist” message to the user. 7a.2. User backs out, or tries again. |
- Use Case 3
Goal | User wishes to edit personal profile |
---|---|
Actor | User |
Pre-condition | User is currently on main screen |
Main Scenario | 1. User presses “my profile” button. 2. System shows user’s profile screen to the user. 3. User presses “profile edit” button. 4. System shows edit profile screen 5. User makes changes to the profile and presses “Save(Done)” button. 6. System verifies and records changes to the user’s account. |
Extensions (error scenarios) | 6a. Information submitted in the profile is not valid. 6a.1. System shows a “Information is not valid” message to the user 6a.2. User backs out, or tries again. |
- Use Case 4
Goal | User wishes to like a post |
---|---|
Actor | User |
Pre-condition | App is currently running, user at login screen |
Main Scenario | 1. User enters account and password 2. System verifies and logs user in. 3. System presents main screen. 4. User scrolls down and reads feed from following users. 5. User presses a post. 6. System shows post screen to user. 7. User presses “like” button. 8. System records ‘like’, and notifies it to the owner of the liked post. |
Extensions (error scenarios) | 2a. Account is not registered or password is incorrect 2a.1. System returns user to login screen. 2a.2. User backs out or tries again |
- As a user, I want to search for other users by their usernames or user tags, so I can connect with people who share similar food preferences."
-
Scenario : When a user enters a username or click a user tag in the search bar.
- Given: The user is on the search screen.
- When: The user enters a username or click a user tag.
- Then: The app should display relevant user profiles matching the entered username or user tag.
-
Scenario : When a user enters a username or click a user tag in the search bar.
- As a user, I want to receive personalized tags for my profile based on my previous reviews, so my profile accurately represents my food tastes."
-
Scenario : When a user submits multiple reviews with specific food preferences.
- Given: The user has submitted reviews with specific food preferences.
- When: The system analyzes the reviews.
- Then: The system should generate personalized tags for the user's profile based on the food preferences identified in their reviews.
-
Scenario : When a user submits multiple reviews with specific food preferences.
- As a food enthusiast, I want to write and post reviews for restaurants, including details like the restaurant's name, menu items, photos, ratings, and detailed feedback, so I can share my dining experiences with others."
-
Scenario : When a user submits a restaurant review with all required details.
- Given: The user is on the review submission screen.
- When: The user provides the restaurant's name, menu items, photos, ratings, and detailed feedback.
- Then: The review should be posted successfully.
-
Scenario : When a user submits a restaurant review with all required details.
- As a user, I want to record my dining history so that I can revisit and go down my memory lane."
-
Scenario : When a user wants to access their recorded dining history.
- Given: The user is on their profile.
- When: The user navigates to their own profile.
- Then: The user should be able to view and search their recorded dining experiences.
-
Scenario : When a user wants to access their recorded dining history.
- As a user, I want to be able to follow and unfollow other users, so I can keep up with their reviews and recommendations or tailor my feed to my preferences."
-
Scenario 1: When a user follows another user.
- Given: The user is viewing another user's profile.
- When: The user clicks the "Follow" button.
- Then: The user should start following the other user, and their updates should appear in the follower's feed.
-
Scenario 2: When a user unfollows another user.
- Given: The user is viewing a user they are following.
- When: The user clicks the "Unfollow" button.
- Then: The user should no longer follow the other user, and their updates should not appear in the follower's feed.
-
Scenario 1: When a user follows another user.
- Security: Users' personal data will be encrypted when stored, and will not be accessible to third-parties without approval.
- Efficiency: Images will be uploaded directly to S3, bypassing the API server to improve upload speed and reduce server load.
![UI_FigJam_Wireframe_v2](https://private-user-images.githubusercontent.com/106653382/273389038-3448100a-82d3-4c3a-a4db-2c28af9c73ec.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNTMxMTEsIm5iZiI6MTczOTA1MjgxMSwicGF0aCI6Ii8xMDY2NTMzODIvMjczMzg5MDM4LTM0NDgxMDBhLTgyZDMtNGMzYS1hNGRiLTJjMjhhZjljNzNlYy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwOFQyMjEzMzFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03NGY3OTA5MTkxODA4MWU1MGQ5ODE5MGQ3YTU4MTAyMmRjYjU0MjI4YmJmMTIzNDEzMzk1YmU0Y2QzYjY0NmZkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.Id__SFRfbZ8ffUXH4ZK5B21ZLFZUyljNFJemPZJFfmM)