A restaurant discovery and recommendation application that helps users find their next favorite dining spot.
- Restaurant discovery and search
- User authentication with Clerk
- Restaurant recommendations
- Supabase database integration
- Modern React frontend with TypeScript
- FastAPI backend with Python
- Python 3.9+ (3.9.18 recommended)
- Node.js 16+
- Poetry (Python package manager)
- npm (Node package manager)
-
Clone the repository
git clone https://github.com/yourusername/hungry-monkey.git cd hungry-monkey
-
Install Poetry (if not already installed)
curl -sSL https://install.python-poetry.org | python3 -
-
Install backend dependencies
poetry install
-
Install frontend dependencies
cd frontend npm install cd ..
The project uses two separate .env
files. Example files (.env.example
) are provided for both:
-
Root
.env
(Backend)# Copy the example env file cp .env.example .env # Then edit .env with your actual values
Required variables:
# API Keys YELP_API_KEY=your_yelp_api_key ANTHROPIC_API_KEY=your_anthropic_api_key # API Base URLs YELP_API_BASE_URL=https://api.yelp.com/v3 ANTHROPIC_API_BASE_URL=https://api.anthropic.com # Supabase Configuration SUPABASE_URL=your_supabase_url SUPABASE_KEY=your_supabase_key # VAPI Configuration VAPI_API_KEY=your_vapi_key VAPI_ASSISTANT_ID=your_vapi_assistant_id VAPI_PHONE_NUMBER_ID=your_vapi_phone_number_id # Google Custom Search GOOGLE_API_KEY=your_google_api_key GOOGLE_SEARCH_ENGINE_ID=your_search_engine_id # Clerk Configuration CLERK_SECRET_KEY=your_clerk_secret_key CLERK_JWT_ISSUER=your_clerk_jwt_issuer
-
Frontend
.env
# Copy the example env file cp frontend/.env.example frontend/.env # Then edit .env with your actual values
Required variables:
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
See the .env.example
files for additional configuration variables.
npm run dev
npm run dev:backend
npm run dev:frontend
The application will be available at:
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
hungry-monkey/
├── app/ # Backend application
│ ├── routers/ # API route handlers
│ ├── auth/ # Authentication logic
│ └── main.py # FastAPI application entry point
├── frontend/ # React frontend application
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── services/ # API service layers
│ │ └── pages/ # Page components
│ └── package.json # Node.js dependencies and scripts
│ │
│ └── .env #Frontend Environment variables (kinda weird i know)
├── pyproject.toml # Python dependencies and project metadata
└── .env # Environment variables (global)
# bro fr thought we were gonna run tests
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.