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.
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)
- Docker Desktop (Recommended for easiest setup)
- OR
- Python 3.10+ (for manual backend setup)
- Node.js 18+ (for manual frontend setup)
The easiest way to get up and running is with Docker Compose.
- Clone the repository.
- Navigate to the project root:
cd local-lens - Start the services:
This will start:
docker compose up --build
- Backend API at
http://localhost:8000 - Frontend Client at
http://localhost:8080(orhttp://localhost:5173depending on Vite config, check console output)
- Backend API at
If you prefer to run services locally without Docker:
- Navigate to the
backenddirectory:cd backend - Create and activate a virtual environment:
python -m venv venv # Windows .\venv\Scripts\activate # macOS/Linux source venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
- Apply migrations:
python manage.py migrate
- Run the server:
The API will be available at
python manage.py runserver
http://localhost:8000.
- Navigate to the
frontenddirectory:cd frontend - Install dependencies:
npm install
- Start the development server:
Access the app at the URL shown in the terminal (usually
npm run dev
http://localhost:5173orhttp://localhost:8080).
Services require environment variables to function correctly.
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.
Create a file at frontend/.env.local with the following key:
VITE_API_BASE_URL=http://localhost:8000/
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.
