Logo Lanfrica

DripCode-Studio/afro-chef

Record type:

software
Creator:
Dri
Host:
[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 …