Skip to content

Kanishkau4/Recipe_App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Quick Bites App Icon

🍴 Quick Bites

Discover, save, and cook delicious recipes β€” all in one place.


✨ Features

  • 🏠 Home Feed β€” Browse a curated, always-fresh selection of random recipes
  • ⭐ Featured Recipe β€” A daily highlighted recipe to spark your culinary inspiration
  • πŸ—‚οΈ Category Filtering β€” Filter recipes by cuisine category (Chicken, Beef, Dessert, and more)
  • πŸ” Search β€” Instantly search across thousands of meals
  • ❀️ Favorites β€” Save your favourite recipes to a personal collection, synced to the cloud
  • πŸŒ™ Dark / Light Themes β€” Switch between multiple gorgeous colour themes on the fly
  • πŸ” Authentication β€” Secure sign-up, sign-in, and email verification powered by Clerk
  • πŸ’¨ Custom Splash Screen β€” A branded launch experience for a polished first impression
  • πŸ“± Cross-Platform β€” Runs natively on both Android and iOS

πŸ—οΈ Project Structure

Quick_Bites/
β”œβ”€β”€ πŸ“± mobile/               # Expo React Native app
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ (auth)/          # Sign-in, Sign-up, Verify Email screens
β”‚   β”‚   β”œβ”€β”€ (tabs)/          # Home, Search, Favorites tab screens
β”‚   β”‚   └── recipe/          # Recipe detail screen
β”‚   β”œβ”€β”€ components/          # Reusable UI components
β”‚   β”œβ”€β”€ context/             # Theme & Auth context providers
β”‚   β”œβ”€β”€ services/            # MealDB API service layer
β”‚   β”œβ”€β”€ assets/              # Images, icons, styles
β”‚   └── app.json             # Expo configuration
β”‚
└── πŸ–₯️ backend/              # Node.js / Express REST API
    └── src/
        β”œβ”€β”€ config/          # DB, env, cron configuration
        β”œβ”€β”€ db/              # Drizzle ORM schema
        └── server.js        # API entry point

πŸ› οΈ Tech Stack

πŸ“± Mobile (Frontend)

Technology Purpose
React Native 0.81 Core mobile framework
Expo SDK 54 Development toolchain & native APIs
Expo Router File-based navigation
Clerk Authentication (sign-up, sign-in, email verify)
React Native Reanimated Smooth animations
Expo Linear Gradient Beautiful gradient UI elements
Expo Image High-performance image loading
Expo Secure Store Secure local token storage

πŸ–₯️ Backend (API)

Technology Purpose
Express 5.1 REST API server
Neon Serverless DB PostgreSQL (serverless)
Drizzle ORM Type-safe database queries
Cron Periodic jobs (e.g. keep-alive pings)
dotenv Environment variable management

🌐 External APIs

API Purpose
TheMealDB Recipe data, images, categories

πŸš€ Getting Started

Prerequisites


1. Clone the Repository

git clone https://github.com/Kanishkau4/Recipte_App.git
cd Recipte_App

2. Backend Setup

cd backend

# Install dependencies
npm install

# Create environment file
cp .env.example .env
# Fill in DATABASE_URL, PORT, and NODE_ENV

# Start the development server
npm run dev

Backend API Endpoints:

Method Endpoint Description
GET /api/health Health check
POST /api/favorites Add a recipe to favourites
GET /api/favorites/:userId Get all favourites for a user
DELETE /api/favorites/:userId/:recipeId Remove a recipe from favourites

3. Mobile App Setup

cd mobile

# Install dependencies
npm install

# Create environment file and add your Clerk Publishable Key & Backend URL
# EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_key
# EXPO_PUBLIC_API_URL=http://your-backend-url

# Start the Expo dev server
npx expo start -c

Scan the QR code with Expo Go or press a for Android / i for iOS emulator.


πŸ“Έ App Screens

Home Search Favorites
Featured recipe hero card, category filters & recipe grid Live meal search with instant results Cloud-synced personal recipe collection
Recipe Detail Sign In Theme Picker
Full ingredients, step-by-step instructions & YouTube link Clerk-powered auth with email verification Switch app accent color in real-time

πŸ” Environment Variables

mobile/.env

EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
EXPO_PUBLIC_API_URL=https://your-backend-api-url

backend/.env

DATABASE_URL=your_neon_database_url
PORT=3000
NODE_ENV=development

🀝 Contributing

Contributions, issues, and feature requests are welcome! Feel free to open a pull request or issue.

  1. Fork the repository
  2. Create your feature branch: git checkout -b feature/awesome-feature
  3. Commit your changes: git commit -m 'Add awesome feature'
  4. Push to the branch: git push origin feature/awesome-feature
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the ISC License.


Made with ❀️ by Kanishka  ·  Powered by TheMealDB

About

🍴 Quick Bites β€” A full-stack recipe mobile app built with React Native, Expo, Express & NeonDB. Browse, search, and save your favourite meals with real-time theme switching and Clerk authentication.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors