Skip to content

A website to search recipes, simplify it and send it to yourself/your friends!

License

Notifications You must be signed in to change notification settings

RitamPal26/Culinary-Compass

Repository files navigation

Culinary Compass 🍳

A modern full-stack culinary application built with Next.js, featuring AI-powered recipe assistance, web scraping, and comprehensive recipe management. Created for CustomHack.


🎥 Demo Video

Watch a full demo of the project on X:

(https://x.com/JuniorDev26/status/1942130221622464720)


✨ Features

  • 🍽️ Recipe Management - Browse, create, save, and rate recipes.
  • 🤖 AI Chat Assistant - Get culinary help powered by Groq and Ollama.
  • 🕷️ Recipe Scraping - Extract recipes from any website using Firecrawl.
  • 🔐 Secure Authentication - User management with Better Auth and Google OAuth.
  • 📧 Email Integration - Recipe sharing via Resend.
  • 🌐 Internationalization - Multi-language support with Lingo.dev.
  • 📱 Responsive Design - Beautiful UI with Tailwind CSS and Radix UI.
  • 🗄️ Database - PostgreSQL with Prisma ORM hosted on Supabase.

🚀 Tech Stack

Frontend

  • Next.js 15 - React framework with App Router
  • React 18 - Component-based UI
  • Tailwind CSS - Utility-first styling
  • Radix UI - Accessible component primitives
  • Framer Motion - Smooth animations
  • TypeScript - Type-safe development

Backend & Database

  • Supabase - PostgreSQL database hosting
  • Prisma - Type-safe database ORM
  • Better Auth - Authentication and session management
  • Google OAuth - Social authentication

AI & APIs

  • Groq - Fast AI inference for chat
  • Ollama - Self-hosting large language models
  • Firecrawl - Web scraping and content extraction
  • Resend - Transactional email service
  • Lingo.dev - AI-powered internationalization

🛠️ Getting Started

Prerequisites

  • Node.js 18+ and pnpm
  • Supabase project
  • API keys for: Groq, Firecrawl, Resend, Lingo.dev
  • Google OAuth credentials

Installation

  1. Clone the repository:
git clone https://github.com/RitamPal26/custom-hack-project.git
cd custom-hack-project
  1. Install dependencies:
pnpm install
  1. Set up environment variables:
cp .env.example .env

Fill in your API keys and database URL in .env.

  1. Set up the database:
pnpm prisma generate
pnpm prisma db push
  1. Run the development server:
pnpm dev

Open http://localhost:3000 to view the application.


📁 Project Structure

src/
├── app/                      # Next.js App Router pages
│   ├── api/                  # API routes
│   ├── auth/                 # Authentication pages
│   ├── chat/                 # AI chat interface
│   ├── dashboard/            # User dashboard
│   ├── recipes/              # Recipe management
│   └── scrape/               # Web scraping interface
├── components/               # Reusable React components
├── lib/                      # Utilities and configurations
└── lingo/                    # Internationalization files

prisma/
├── schema.prisma           # Database schema
└── migrations/             # Database migrations

🔑 Environment Variables

Required environment variables (see .env.example):

# Database
DATABASE_URL=your_supabase_postgresql_url
DIRECT_URL=your_supabase_direct_url

# Authentication
BETTER_AUTH_SECRET=your_random_secret
BETTER_AUTH_URL=http://localhost:3000
GOOGLE_CLIENT_ID=your_google_oauth_client_id
GOOGLE_CLIENT_SECRET=your_google_oauth_secret

# AI Services
GROQ_API_KEY=your_groq_api_key
NEXT_PUBLIC_TAMBO_API_KEY=your_tambo_api_key

# Web Scraping
FIRECRAWL_API_KEY=your_firecrawl_api_key

# Email
RESEND_API_KEY=your_resend_api_key
RESEND_FROM_EMAIL=your_verified_email

# Internationalization
LINGODOTDEV_API_KEY=your_lingo_api_key

🤝 Contributing

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

📄 License

This project is licensed under the MIT License.

🙏 Acknowledgments

Built with amazing tools and services:

About

A website to search recipes, simplify it and send it to yourself/your friends!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5