Skip to content

Tan-Jia-Rong/Desti

Repository files navigation

Desti

A Social Food Review application

Logo

Proposed level of achievement: Apollo 11

Motivation

When visiting an unfamiliar area, one often finds themselves wondering about what kind of delicacies are there in the area.

A few features one would probably search are recent promotions, user review, and pictures of the dishes. However, searching the web for popular eateries nearby often returns ads and messy interfances, which leads to frustration.

Additionally, when comparing between eateries, one often have to open multiple tabs. As a result, people may find it a hassle and be iscouraged from discovering the hidden gems in their own neighborhoods.

Furthermore, when deciding on what to eat - especially with friends, one might find themselves having trouble deciding on what to eat.

So wouldn't it be nice if there exist a place where you can find and put all the information you need about eateries in your area and something to help you filter down the restaurants to choose from?

Aim

By providing relevant information to facilitate the decision-making process, we hope to make the process of choosing a restaurant easier by connecting users and store owners.

User Stories

  1. As a person having trouble deciding on what to eat, I would like to have someone to decide for me with the constraints that I have provided.

  2. As a food enthusiast, I want to be able to share my food experience with the public.

  3. As a person trying to find delicious food, I would want to look at honest reviews and ratings.

  4. As a person trying to eat, I want to be able to know what my friends and people I'm following are planning to eat.

  5. As a foodie, I want to have a collage of what I have eaten before and refer to past reviews of mine.

  6. As a foodie, I want to be able to safekeep restaurants that U feel is worth coming back to.

  7. As a person trying to decide on what to eat, I want to be able to compare between similarly-themed eateries to ultimately decide on one.

  8. As a money-conscious person, I want to know of promotions by eateries currently happening around me.

  9. As a money-conscious person, I would like to be updated of promotions by eateries around me.

  10. As a person planning to eat, I would like to have a list to organize and bookmark on what I plan to eat.

  11. As a person travelling to eat, I would like to know how to get to that location and the travelling time required.

Scope of Project

  1. A Home Page allows users to view food reviews by their friends and other users as well as post reviews.

  2. A Map feature will be provided for the users to identify popular eateries around them with highlighted icons.

  3. A Restaurant Search feature

    • Attached with brief details such as description and address
    • User can post reviews and ratings
    • User can bookmark the restaurants
  4. A User Search feature

    • Attached with brief details such as description
    • User can follow other users, priortizing their reviews in the Home Page
  5. A Roulette feature

    • Prompts the users for inputs - price range, maximum distance from current location, theme of eatery, several restaurants, etc
    • Construct a list of all available eateries that meets the constraints and return that list, while providing a roulette option to randomly decide on one.
  6. An Bookmark feature

    • Allows Users to bookmark restaurants for future reference

Software Development

Considerations

  • Goals

    • The application should be comprehensive to minimise the need to refer to other applications or website when choosing a restaurant. Thus, the features of the application should include most things that people need when choosing on what restaurant to dine in.
    • An easy-to-use interface
  • Assumptions

    • It is assumed that users will have connection to the internet.
  • How are we different from other platform?

    • Google Maps
      • Ranked according to ratings provided by all users and may not be accurate. We plan to rank the restaurants solely using ratings provided by our users.
    • Food Advisor
      • Does not provide ratings
      • Does not provide directions to restaurant
    • Burpple
      • Reviews can only be seen in restaurant page. We would like to provide a feeds screen similar to Instagram for users to view various restaurant other users reviewed to aid them in searching for a new restaurant.
      • Does not have a roulette function to aid the users in selecting a restaurant to dine in. Often users uses food application because they are unsure of what to eat.

Activity Diagram

Activity Diagram

The activity diagram shows the overview of the actions that users can take at various page and the relationship between pages in the application.

Technical Stack

  • Visual Studio Code
  • Firebase
  • React Native
  • Expo

Implementation

  • Account System
    • Link to Firebase Authentication: authentication using email and password
    • FirebaseAuth.AuthStateListener: If there is already a user signed in, application will skip login page when launched.

Development Plan

Week Tasks
4 (31/5 - 6/6)
  • Do up Firebase Database
  • Home Page : real time update of Review's + Add Review button
  • Review Page : Add Review to Home Page + Upload Photo
5 (7/6 - 13/6)
  • Restaurant Page + features
  • Link Reviews to Restaurant Page
6 (14/6 - 20/6)
  • Bookmark Page + features
  • Link Restaurant Page to Bookmarks
7 (21/6 - 27/6)
  • Map Feature
  • Search Feature
8 (28/6 - 4/7)
  • Roulette Feature
  • To be filled
9 (5/7 - 11/7)
  • Profile Page
  • Edit Profile Page
10 (12/7 - 18/7)
  • User Testing
  • System Testing
11 (19/7 - 25/7)
  • Consolidate testing
  • Final improvements

Project Log

Task Date Wei Rui Jia Rong Remarks
Mission Control 1 14/05/22 2hrs 2hrs React Native 1st Workshop
Mission Control 1 14/05/22 2hrs 2hrs SupaBase 1st Workshop
Mission Control 1 21/05/22 2hrs 2hrs React Native 2nd Workshop
Mission Control 1 21/05/22 2hrs 2hrs SupaBase 2nd Workshop
Mission Control 1 21/05/22 2hrs 2hrs Catch up on Git Workshop
Mission Control 2 28/05/22 2hrs 2hrs UI/UX 1st Workshop
Learning of React Native (React, CSS, HTML, JSX) 14/05/22-30/05/22 12hrs 12hrs Time spent on docs, YouTube guides etc
SignUp/Login Screen (UI) 23/05/22-26/05/22 6hrs 4hrs UI for login/signup screen
FireBase Authentication 23/05/22-29/05/22 4hrs 8hrs firebase Auth for login/signup screen
Mock Up of Application with Navigation
    Feeds Page
    Profile Page
    Map Page
    Settings Page
    Restaurants Page
    Roulette Page
28/05/22-30/05/22 2hrs 4hrs Various screens basic UI
Learning of firebase cloud firestore and storage 01/06/22-27/06/22 12 2 Time spent on docs, YouTube guides etc
Learning of google places API 01/06/22-27/06/22 2 12 Time spent on docs, YouTube guides etc
Add reviews screen and its functionality 01/06/22-02/06/22 10 2 Adding of reviews to firebase and displaying on feeds screen
Feeds screen and its functionality 01/06/22-03/06/22 5 1 Scroll feed and see other's reviews
Maps screen and its functionality 01/06/22-16/06/22 2 16 Map to see nearby restaurants with real time gps tracking and a get directions functionality
Direction screen and its functionality 01/06/22-27/06/22 0 4
Profile screen and its functionality 05/06/22-08/06/22 9 2 Edit own profile and see own posts
Restaurant screen and input screen 07/06/22-27/06/22 1 10 Search up restaurants and get restaurant details
Followers-based system 15/06/22-23/06/22 8 0 Emulate a social app with actual followers and following
Search users screen 22/06/22-23/06/22 4 2 Look up users to add followers
Sync firebase with google 26/06/22-27/06/22 8 3 Sync firebase data with google to potray restaurant screen
Design A1 poster 26/06/22-27/06/22 1 5 Redesign a new poster for milestone 2
Map Page: Fix Bugs and Improve UI of Maps 26/06/22-04/07/22 1 6 Improve UI by setting boundaries Implement description to restaurant page navigation
Add Review Screen: Implement Tags Feature 26/06/22-04/07/22 5 3
Restaurant Page: Link tags to restaurant 05/07/22-11/07/22 3 0
Roulette Feature: Link tags to users 05/07/22-11/07/22 3 1
Roulette Feature: Implement Algorithm 12/07/22-18/07/22 12 2 Create algorithm page and implement algorithm
Bookmark Page: Create CSS and details for bookmark Page 12/07/22-18/07/22 0 4 Made flatlist for bookmark, implemented navigation from bookmark, and added the swipe to delete bookmark feature
Input Screen: Implement search by filter functionality 12/07/22-18/07/22 6 0 Filter by ratings, price level, and tags
Improve UI of Restaurant Screen 12/07/22-18/07/22 0 5 Improve on the looks of Restaurant Screen
Improve on README for MS3 12/07/22-25/07/22 6 16 Drastically changed the direction of README to better align with the feedback from MS2
System Testing: Testing of application and fixing of bugs (if any) 18/07/22-21/06/22 6 6
User Testing: Design questionaire and distribute application to friends for feedback 18/07/22-25/07/22 4 2 Obtained valuable feedback for us to fix any urgent issues, and consider the rest as possible future improvements
Improve on app based on user testing and fixing of bugs 23/07/22-25/07/22 3 3 Time taken by us to fix urgent issues related to user testing
Final update of README for MS3 23/07/22-25/07/22 1 4 Improved the standard of MS3 with compiliations of everything project-related (eg how the app runs, tech stack used, the testing we did...)
Make video for MS3 and final product advertisement 23/07/22-25/07/22 4 2 Created a concise app-walkthrough video for advertisement uses
Total Hours NIL 152 153 NIL

About

Orbital Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published