Skip to content

ShamanthShastry/FoodRunner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

33 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿฝ๏ธ FoodRunner

A Smart Route Planning App with Restaurant Discovery

Built for MHacks - University of Michigan's Premier Hackathon


๐Ÿ† About the Project

FoodRunner is an intelligent travel companion that revolutionizes the way you plan road trips by seamlessly integrating route planning with restaurant discovery. Instead of making separate stops to search for food, FoodRunner finds the best restaurants along your route based on your dietary preferences, cuisine choices, and meal timing.

๐ŸŽฏ The Problem We Solved

Traditional travel planning involves:

  • Planning your route separately from meal stops
  • Random searches for restaurants at unknown locations
  • No consideration for dietary restrictions or preferences
  • Inefficient detours that add unnecessary time and distance

๐Ÿ’ก Our Solution

FoodRunner combines route optimization with AI-powered restaurant discovery to:

  • Plan your entire journey with meal stops integrated into the route
  • Discover restaurants that match your dietary needs and cuisine preferences
  • Optimize timing by suggesting meal stops at appropriate travel intervals
  • Learn from your choices to provide better recommendations over time

โœจ Key Features

๐Ÿ—บ๏ธ Smart Route Planning

  • Interactive map visualization with route polylines
  • Real-time distance and duration calculations
  • Waypoint optimization for efficient travel

๐Ÿ• Intelligent Restaurant Discovery

  • 60+ restaurants found along each route using OpenStreetMap data
  • Dietary filtering: Vegan, vegetarian, gluten-free, kosher, halal, and more
  • Cuisine preferences: Italian, Mexican, Chinese, Indian, Thai, and 10+ others
  • Meal timing: Breakfast, lunch, and dinner recommendations based on travel schedule

๐Ÿ“ฑ Intuitive Mobile Experience

  • Seamless onboarding with personalized preferences setup
  • Dual view modes: Interactive map view and detailed list view
  • Color-coded markers: Green (breakfast), yellow (lunch), red (dinner)
  • Restaurant selection: Tap to select/deselect restaurants for your trip

๐Ÿค– AI Learning System

  • Tracks your restaurant selections and preferences
  • Learns from your choices to improve future recommendations
  • Adapts to your travel and dining patterns over time

๐ŸŽจ Beautiful UI/UX

  • Adaptive theming: Automatic dark/light mode based on system preferences
  • Smooth animations: Polished transitions between screens
  • Accessibility: Built with React Native best practices

๐Ÿ› ๏ธ Technical Architecture

Frontend (React Native + Expo)

๐Ÿ“ฑ Mobile App
โ”œโ”€โ”€ React Native 0.81.4
โ”œโ”€โ”€ Expo ~54.0.10  
โ”œโ”€โ”€ React Native Maps (route visualization)
โ”œโ”€โ”€ AsyncStorage (data persistence)
โ””โ”€โ”€ Custom UI components

Backend (Python Flask)

๐Ÿ–ฅ๏ธ API Server
โ”œโ”€โ”€ Flask 3.0.0 (REST API)
โ”œโ”€โ”€ OpenRouteService API (route calculation)  
โ”œโ”€โ”€ Overpass API (restaurant discovery)
โ”œโ”€โ”€ Geopy (geocoding & distance calculations)
โ””โ”€โ”€ CORS support for mobile app

Key APIs & Services

  • OpenRouteService: Professional routing with 9 waypoints for long-distance trips
  • Overpass API: Access to OpenStreetMap's restaurant database
  • Custom AI: Learning algorithms for personalized recommendations

๐Ÿš€ Getting Started

Prerequisites

  • Node.js 16+ and npm
  • Python 3.8+
  • Expo CLI: npm install -g @expo/cli
  • iOS Simulator or Android Emulator (or Expo Go app)

1๏ธโƒฃ Clone the Repository

git clone https://github.com/therealfiish/foodrunner.git
cd foodrunner

2๏ธโƒฃ Setup Frontend

# Install dependencies
npm install

# Start the development server
npm start

3๏ธโƒฃ Setup Backend

cd backend

# Install Python dependencies
pip install -r requirements.txt

# Start the Flask server
python server.py

4๏ธโƒฃ Run the App

  • iOS: Press i in the Expo CLI or scan QR code with Camera app
  • Android: Press a in the Expo CLI or scan QR code with Expo Go
  • Web: Press w in the Expo CLI

๐Ÿ“ฑ User Journey

1. Personalized Onboarding

  • Set dietary restrictions and preferences
  • Choose favorite cuisines
  • Configure meal timing and radius preferences
  • Set daily food budget

2. Trip Planning

  • Enter departure and destination locations
  • Select departure time
  • App calculates optimal route with meal stops

3. Restaurant Discovery

  • Browse 60+ restaurants along your route
  • Filter by meal type (breakfast, lunch, dinner)
  • View detailed restaurant information (rating, price, distance)

4. Route Visualization

  • Interactive map with route polyline
  • Color-coded restaurant markers
  • Tap to select restaurants for your trip

5. AI Learning

  • App learns from your selections
  • Future trips get better, personalized recommendations

๐Ÿ—๏ธ Project Structure

foodrunner/
โ”œโ”€โ”€ ๐Ÿ“ฑ Frontend (React Native)
โ”‚   โ”œโ”€โ”€ App.js                 # Main navigation
โ”‚   โ”œโ”€โ”€ RouteScreen.js         # Route planning & map
โ”‚   โ”œโ”€โ”€ *_rn.js               # Onboarding screens
โ”‚   โ”œโ”€โ”€ theme.js              # Dark/light theme system
โ”‚   โ””โ”€โ”€ datacollection.js     # Data management
โ”‚
โ”œโ”€โ”€ ๐Ÿ–ฅ๏ธ Backend (Python Flask)  
โ”‚   โ”œโ”€โ”€ server.py             # Main Flask application
โ”‚   โ”œโ”€โ”€ app/routes/           # API endpoints
โ”‚   โ”œโ”€โ”€ app/services/         # OpenRoute & Overpass integration
โ”‚   โ””โ”€โ”€ data/                 # User data storage
โ”‚
โ””โ”€โ”€ ๐Ÿ“ฆ Configuration
    โ”œโ”€โ”€ package.json          # Node.js dependencies
    โ”œโ”€โ”€ requirements.txt      # Python dependencies
    โ””โ”€โ”€ app.json             # Expo configuration

๐ŸŽจ Design Highlights

Adaptive Theming

  • Automatically switches between light and dark modes
  • Consistent color palette across all screens
  • Map styles adapt to theme preference

Interactive Maps

  • Real-time route rendering with polylines
  • Custom restaurant markers with meal-type indicators
  • Smooth zoom and pan interactions

Intuitive Navigation

  • Progressive onboarding flow
  • Clear visual hierarchy and typography
  • Smooth animations between screens

๐Ÿ”ฎ Future Enhancements

  • ๐Ÿ”— Google Calendar Integration: Auto-import travel plans
  • โ›ฝ Gas Station Discovery: Find fuel stops along the route
  • ๐Ÿ‘ฅ Group Trip Planning: Collaborative trip planning for multiple users
  • ๐ŸŽต Spotify Integration: Travel playlists based on trip duration
  • ๐Ÿ“Š Trip Analytics: Track your travel patterns and spending
  • ๐ŸŒŸ Advanced AI: More sophisticated recommendation algorithms

๐Ÿ† MHacks Achievement

This project was built during MHacks - University of Michigan's flagship hackathon. In just 48 hours, our team created a full-stack mobile application that combines:

  • Complex route optimization algorithms
  • Real-time restaurant discovery from OpenStreetMap
  • Machine learning for personalized recommendations
  • Polished mobile UI with native performance
  • Scalable backend architecture

The app demonstrates technical excellence, practical utility, and strong potential for real-world impact.


๐Ÿ‘ฅ Team

Built with โค๏ธ by passionate developers who love both coding and great food!


๐Ÿ“„ License

This project was created for educational and hackathon purposes.


๐Ÿ™ Acknowledgments

  • MHacks for providing the platform and inspiration
  • OpenStreetMap community for restaurant data
  • OpenRouteService for professional routing capabilities
  • React Native and Expo teams for excellent mobile development tools

Ready to revolutionize your road trips? Let FoodRunner guide you to your next great meal! ๐Ÿš—๐Ÿ•

About

Effortlessly manage and track food delivery orders, optimize routes, and streamline your food delivery workflow.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors