Skip to content

Latest commit

 

History

118 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

YelpMe

A Hackathon Submission by Edmond Abraham and Bryan Valadez

YelpMe is a personalized discovery platform powered by Yelp’s Conversational AI API. The app delivers fast, tailored recommendations for restaurants and local services by storing each user’s preferences and chat context. Our system keeps track of home, work, school, and current locations, dietary needs, price sensitivity, favorite and disliked cuisines, and other relevant preferences. Combined with a modern, interactive frontend and a robust backend API, YelpMe makes finding the right place seamless, contextual, and highly efficient.

Demo

Local Lens Demo

Tech Stack

Backend

  • Language: Python
  • Framework: Django, Django Ninja (for fast, typed API)
  • Database: SQLite (Supports PostgreSQL)
  • Authentication: Django Auth

Frontend

  • Language: TypeScript
  • Framework: React (built with Vite)
  • UI Library: Shadcn UI, TailwindCSS
  • Maps: Leaflet / React-Leaflet
  • State Management: React Query (TanStack Query)

Prerequisites

  • Docker Desktop (Recommended for easiest setup)
  • OR
  • Python 3.10+ (for manual backend setup)
  • Node.js 18+ (for manual frontend setup)

Getting Started (Docker)

The easiest way to get up and running is with Docker Compose.

  1. Clone the repository.
  2. Navigate to the project root:
    cd local-lens
  3. Start the services:
    docker compose up --build
    This will start:
    • Backend API at http://localhost:8000
    • Frontend Client at http://localhost:8080 (or http://localhost:5173 depending on Vite config, check console output)

Getting Started (Manual)

If you prefer to run services locally without Docker:

Backend

  1. Navigate to the backend directory:
    cd backend
  2. Create and activate a virtual environment:
    python -m venv venv
    # Windows
    .\venv\Scripts\activate
    # macOS/Linux
    source venv/bin/activate
  3. Install dependencies:
    pip install -r requirements.txt
  4. Apply migrations:
    python manage.py migrate
  5. Run the server:
    python manage.py runserver
    The API will be available at http://localhost:8000.

Frontend

  1. Navigate to the frontend directory:
    cd frontend
  2. Install dependencies:
    npm install
  3. Start the development server:
    npm run dev
    Access the app at the URL shown in the terminal (usually http://localhost:5173 or http://localhost:8080).

Environment Variables

Services require environment variables to function correctly.

Backend

Create a file at backend/backend/.env with the following keys:

  • SECRET_KEY: Your Django secret key.
  • YELP_API_KEY: Your Yelp Fusion API key.

Frontend

Create a file at frontend/.env.local with the following key:

  • VITE_API_BASE_URL=http://localhost:8000/

Project Structure

  • backend/: Django project code.
    • users/: User management and authentication.
    • preferences/: User preferences management.
    • yelp_api/: Integration with external data or core logic.
  • frontend/: React application.
    • src/components/: Reusable UI components.
    • src/pages/: Application views (Signup, etc.).
    • src/api/: API client functions.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages