Logo Lanfrica

DripCode-Studio/afro-chef

Type de record:

software
Créateur:
Dri
HĂ´te:
[case Study] - Cook Like a True African Chef # AfroChef 🍲 A modern recipe management platform celebrating African cuisine, built with Next.js, TypeScript, and Supabase. ## Features - 🔍 Browse and search authentic African recipes - 🤖 AI-powered recipe generation - 👤 User authentication and profiles - 📝 Create and edit your own recipes - ❤️ Save favorite recipes - 🎨 Neomorphic UI design - 📱 Responsive design for all devices ## Tech Stack - **Framework**: Next.js 16+ (App Router) - **Language**: TypeScript - **Styling**: Tailwind CSS - **Database**: Supabase (PostgreSQL) - **Authentication**: Supabase Auth - **Package Manager**: pnpm ## Getting Started ### Prerequisites - Node.js 18+ installed - pnpm installed (`npm install -g pnpm`) - A Supabase account and project ### Configuration 1. Clone the repository: ```bash git clone github.com cd afro-chef ``` 2. Install dependencies: ```bash pnpm install ``` 3. Set up environment variables: Copy the `.env` file and fill in your Supabase credentials: ```env # ========================================== # SUPABASE CONFIGURATION - PUBLIC (Browser) # ========================================== NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key # ========================================== # SUPABASE CONFIGURATION - PRIVATE (Server) # ========================================== SUPABASE_URL=your_supabase_project_url SUPABASE_ANON_KEY=your_supabase_anon_key SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key SUPABASE_JWT_SECRET=your_supabase_jwt_secret # ========================================== # AUTHENTICATION CONFIGURATION # ========================================== NEXT_PUBLIC_DEV_SUPABASE_REDIRECT_URL=localhost # ========================================== # AI/LLM CONFIGURATION # ========================================== # The AI SDK uses the Vercel AI Gateway by default # OpenAI models are supported without additional configuration # If using …