Skip to content

Cross-platform mobile app for restaurant discovery and recommendations

Notifications You must be signed in to change notification settings

ubclaunchpad/nom-appetit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation


Logo

Restaurant tracking and recommendation app


💡About The Project

Nom Appetit is a social restaurant tracking and recommendation app designed to answer the age-old question: “So… where do you want to eat?”

Key Features:

  1. Restaurant Tracking: Discover and explore a wide range of restaurants through an intuitive search feature. Save your favorite spots to a personal list, create reviews that include ratings and images, and share your experiences with the community by viewing others' reviews.

  2. Smart Recommendations: At the heart of Nom Appetit is its intelligent recommendation system. Using item-item collaborative filtering trained on Yelp's dataset, the app offers personalized suggestions, helping you find the perfect place to dine based on your preferences.

With Nom Appetit, finding your next meal becomes a collaborative and enjoyable experience, connecting food lovers and simplifying the decision-making process.

📷 Gallery

Review Submission Page Profile Page Recommendations Page

🚀 Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

API Credentials

Installation

Frontend

  1. Navigate to the frontend folder.
  2. Install the required Node.js modules.
npm install
  1. Generate Google Cloud Platform and Firebase credentials, and place them inside a .env file. (Note: You will need to manually add the storageBucket value in firebaseConfig.js.)
  2. Configure the server URL for your specific emulator device, and place the credentials inside a .env file.
EXPO_PUBLIC_GOOGLE_KEY = [GOOGLE KEY]
API_KEY = [FIREBASE]
AUTH_DOMAIN = [FIREBASE]
PROJECT_ID = [FIREBASE] 
MESSAGING_SENDER_ID = [FIREBASE]
APP_ID = [FIREBASE]
MEASUREMENT_ID = [FIREBASE]
EXPO_PUBLIC_SERVER_URL = [URL]
  1. Start the application and follow the instructions in the terminal.
npx expo start

Backend

  1. Navigate to the backend folder.
  2. Create a secrets folder in the services folder.
  3. Generate & download Firebase Admin SDK private key.
  4. Generate Yelp Fusion API key and place it inside a .env file.
YELP_API = [YELP FUSION KEY]
  1. Place both the Firebase Admin SDK private key & .env file in the secrets directory.
  2. Install the required Python modules.
pip install -r requirements.txt
  1. Run the server.
flask run

🤝 Contributing

Contributions are what make the community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  2. Commit your Changes (git commit -m 'Add some AmazingFeature')
  3. Push to the Branch (git push origin feature/AmazingFeature)
  4. Open a Pull Request

About

Cross-platform mobile app for restaurant discovery and recommendations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published