Skip to content

ArnavPandey6/MadData26

Repository files navigation

Savour

Cook with intention, eat well.

Savour is a dark-themed iOS cooking app built with Expo/React Native and a local Express backend that normalizes recipes from MealDB.

Tech Stack

  • Expo SDK 54
  • React Native + expo-router
  • Node.js + Express
  • MealDB API
  • Gemini API (optional endpoint)

Repository Structure

  • app/ - Expo Router screens and navigation
  • assets/ - fonts and app/splash icons
  • backend/server.js - scraper-style backend and recipe endpoints
  • constants/, context/, data/ - app config, state, and recipe logic

Prerequisites

  • Node.js 22.x
  • npm
  • Expo Go (for iOS device testing)

Environment Setup

Create your local env file:

cp .env.example .env

Then fill values in .env:

  • EXPO_PUBLIC_GEMINI_API_KEY
  • GEMINI_API_KEY
  • EXPO_PUBLIC_API_BASE_URL (example: http://<YOUR_MAC_LAN_IP>:5050)
  • PORT (default 5050)

Install

npm ci

Run

Terminal 1 (backend):

npm run server

Terminal 2 (app):

npx expo start -c

Validation

npx tsc --noEmit
node --check backend/server.js

Runtime health check (with backend running):

curl -i 'http://localhost:5050/recipes/discover?limit=2'

API Endpoints

  • GET /recipes/discover
  • GET /recipes/:id
  • POST /rewrite (Gemini-dependent)

Devpost Submission Notes

  • Submit this GitHub repository publicly.
  • Do not commit .env.
  • .env.example is included for judges.

About

Project for MadData 26

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors