A modern recipe management platform celebrating African cuisine, built with Next.js, TypeScript, and Supabase.
- π 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
- Framework: Next.js 16+ (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Database: Supabase (PostgreSQL)
- Authentication: Supabase Auth
- Package Manager: pnpm
- Node.js 18+ installed
- pnpm installed (
npm install -g pnpm) - A Supabase account and project
- Clone the repository:
git clone https://github.com/DripCode-Studio/afro-chef.git
cd afro-chef- Install dependencies:
pnpm install- Set up environment variables:
Copy the .env file and fill in your Supabase credentials:
# ==========================================
# 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=http://localhost:3000/my
# ==========================================
# AI/LLM CONFIGURATION
# ==========================================
# The AI SDK uses the Vercel AI Gateway by default
# OpenAI models are supported without additional configuration
# If using other AI providers, add their API keys hereWhere to find these values:
- Go to your Supabase project dashboard
- Navigate to
Settings>API - Copy the
Project URLandAPI Keys(anon/public and service_role) - The JWT secret is also found in the API settings
- Set up the database:
Run the SQL scripts in order from the scripts/ directory in your Supabase SQL editor:
001_create_tables.sql
002_enable_rls.sql
003_profile_trigger.sql
004_seed_recipes.sql
005_seed_ingredients.sql
006_seed_steps.sql
- Run the development server:
pnpm devOpen http://localhost:3000 to view the application.
afro-chef/
βββ app/ # Next.js app router pages
β βββ api/ # API routes
β βββ auth/ # Authentication pages
β βββ builder/ # Recipe builder
β βββ my/ # User dashboard
β βββ recipes/ # Recipe pages
βββ components/ # React components
β βββ ai/ # AI-related components
β βββ dashboard/ # Dashboard components
β βββ editor/ # Recipe editor components
β βββ layout/ # Layout components
β βββ recipes/ # Recipe components
β βββ ui/ # UI components
βββ lib/ # Utility functions and types
β βββ supabase/ # Supabase client configuration
βββ public/ # Static assets
βββ scripts/ # Database scripts
βββ styles/ # Global styles
pnpm dev- Start development serverpnpm build- Build for productionpnpm start- Start production serverpnpm lint- Run ESLint
The application uses the following main tables:
profiles- User profilesrecipes- Recipe dataingredients- Recipe ingredientssteps- Recipe cooking stepsfavorites- User favorite recipes
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
For support, please open an issue in the GitHub repository.