Skip to content
jhu-oose-sp26Public

About

Resources

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

302 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues


YesChef

A social recipe app for rating, sharing, and discovering recipes with friends.
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. Contact

About The Project

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.

(back to top)

Screenshots

YesChef App Preview YesChef Preview YesChef Preview YesChef Preview YesChef Preview

Built With

  • React Native
  • Expo
  • TypeScript
  • Spring Boot
  • Java
  • PostgreSQL
  • Supabase

(back to top)

Getting Started

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.

Prerequisites

  • Node.js (v18+) and npm
    npm install npm@latest -g
  • Java 17
  • Maven (or use the included mvnw wrapper)
  • Expo CLI
    npm install -g expo-cli
  • A Supabase project with a PostgreSQL database (connection string required)

Installation

Backend

  1. Clone the repository
    git clone https://github.com/jhu-oose-sp26/yeschef.git
    cd yeschef/backend
  2. 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
  1. Build and run the Spring Boot server
    ./mvnw spring-boot:run
    The API will start on http://localhost:8080.

Frontend

  1. Navigate to the frontend directory
    cd ../frontend
  2. Install dependencies
    npm install
  3. Start the Expo dev server
    npm start
    Scan the QR code with the Expo Go app on your device, or press i for iOS simulator / a for Android emulator.

(back to top)

Usage

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/.

(back to top)

Roadmap

Must Have

  • 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

Nice to Have

  • 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.

(back to top)

Deployment

  • 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
  • Backend: REST API hosted on Render

(back to top)

Contributing

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Contact

Team JJARC — https://github.com/jhu-oose-sp26/yeschef

(back to top)

About

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages