A social recipe app for rating, sharing, and discovering recipes with friends.
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
YesChef is a social recipe app that helps home cooks evaluate, organize, and share recipes. Users can rate recipes they've tried on two key dimensions — taste/outcome quality and ease of execution — so they and their friends can quickly identify recipes that are both delicious and realistically achievable. The app supports importing recipes from external sources like NYT Cooking as well as uploading personal recipes to share within your social network.
Why YesChef?
- Existing platforms don't provide structured feedback on whether a recipe actually delivers good results for an average home cook.
- There's no great centralized place to organize recipes you've tried, saved, or want to make.
- Friends' recommendations are more trusted than anonymous reviews — YesChef builds a social feedback loop around cooking.
The project is split into two parts: a frontend (React Native / Expo) and a backend (Spring Boot REST API). Follow the steps below to get both running locally.
- Node.js (v18+) and npm
npm install npm@latest -g
- Java 17
- Maven (or use the included
mvnwwrapper) - Expo CLI
npm install -g expo-cli
- A Supabase project with a PostgreSQL database (connection string required)
- Clone the repository
git clone https://github.com/jhu-oose-sp26/yeschef.git cd yeschef/backend - Configure your environment variables in
src/main/resources/application.properties
DB_URL=jdbc:postgresql://your-host:5432/your-database?sslmode=require
DB_USERNAME=your-username
DB_PASSWORD=your-password
SUPABASE_URL=https://your-project-ref.supabase.co
SUPABASE_ANON_KEY=your-anon-key
SUPABASE_JWT_SECRET=your-jwt-secret
SUPABASE_SERVICE_KEY=your-service-role-key-here- Build and run the Spring Boot server
The API will start on
./mvnw spring-boot:run
http://localhost:8080.
- Navigate to the frontend directory
cd ../frontend - Install dependencies
npm install
- Start the Expo dev server
Scan the QR code with the Expo Go app on your device, or press
npm start
ifor iOS simulator /afor Android emulator.
Once both servers are running:
- Open the app on your device or simulator via Expo Go.
- Browse and search recipes from external sources or uploaded by users.
- Rate any recipe on taste quality and ease of execution.
- Save recipes to your personal collection.
- Like and view recipes shared by friends.
For API endpoint details, see the controller source at backend/src/main/java/com/yeschef/api/controller/.
- Rate recipes on taste quality and ease of execution
- Upload personal recipes
- Discover recipes from external sources (e.g. NYT Cooking)
- View friends' recipes and social feed
- User profile with stats and personal cookbook
- Search and filter ingredients, recipe time, and difficulty
- Save recipes to a personal collection
- Cross-device authentication
- Recipe recommendations based on activity
- Ingredient-based recipe suggestions to reduce food waste
- Upload recipes by photographing handwritten notes
- Short-form cooking videos
- Year-in-review "Wrapped" summary
- Comment on recipes
- Notifications for friend requests and recipe likes
- One-line recipe summaries
- Filter recipes by cuisine type and allergens
See the open issues for a full list of proposed features and known issues.
- Web Application: Live app hosted on Vercel
- Click here to open
- Sign up or Sign in to start using
- Need to verify your email to create an account
- You will receive a confirmation link in your email — click it to verify
- Forgot your password? Use the "Forgot Password" link on the sign-in page to receive a reset email
- Click here to open
- Backend: REST API hosted on Render
- https://yeschef-7zi4.onrender.com
- The first time you make an API call, the server may take several minutes to wake up.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Team JJARC — https://github.com/jhu-oose-sp26/yeschef