Skip to content

nickjvm/restaurant-matcher

Repository files navigation

This is a Next.js project bootstrapped with create-next-app.

Overview

This app is basically a Tinder for restaurants. Start a matching session and share the link with a friend. You'll both vote on restuarants until you both like the same restaurant, then you'll both know where you're going for dinner!

Highlights

  • Votes are updated in realtime via a socket connection. As soon as a match is determined, both users are notified instantly.
  • Uses the Yelp Fusion API to find restaurants near a given location
  • Location can be determined by window.navigator (if the user gives permission), IP address, or by moving the pin on an interactive Google map.

Sessions are public - anyone with the link can join a session, assuming there aren't already two users joined

Getting Started

Environment Variables

You will need a .env with values for:

.env keys:

YELP_API_KEY=
TURSO_DATABASE_URL=
TURSO_AUTH_TOKEN=
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=
NEXT_PUBLIC_API_ROOT=http://localhost:3000

Setup the Database

Once you have your .env file created and populated, run npm run db:migrate. This should create the appropriate tables and columns. You can see the schema in ./src/lib/db/schema.ts.

Run It!

Then, run the development server:

npm run dev

Open http://localhost:3000 with your browser to see the app.

About

A tinder-swipe-style restaurant pairing game designed to answer the age-old question: “Where should we eat tonight?”

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors