{"id":26997251,"url":"https://github.com/omarj9/recipo","last_synced_at":"2026-03-16T20:05:11.445Z","repository":{"id":285619799,"uuid":"953697823","full_name":"OmarJ9/recipo","owner":"OmarJ9","description":"A Recipe Finder Web App with admin dashboard, built using Nextjs 15 and Postgresql database","archived":false,"fork":false,"pushed_at":"2025-04-01T18:20:43.000Z","size":17764,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T19:32:38.704Z","etag":null,"topics":["better-auth","drizzle-kit","drizzle-orm","google-auth","nextjs","otpauth","zod"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OmarJ9.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-23T23:29:02.000Z","updated_at":"2025-04-01T18:20:46.000Z","dependencies_parsed_at":"2025-04-01T19:42:47.839Z","dependency_job_id":null,"html_url":"https://github.com/OmarJ9/recipo","commit_stats":null,"previous_names":["omarj9/recipo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OmarJ9%2Frecipo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OmarJ9%2Frecipo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OmarJ9%2Frecipo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OmarJ9%2Frecipo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OmarJ9","download_url":"https://codeload.github.com/OmarJ9/recipo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247107818,"owners_count":20884797,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["better-auth","drizzle-kit","drizzle-orm","google-auth","nextjs","otpauth","zod"],"created_at":"2025-04-04T02:17:34.269Z","updated_at":"2026-03-16T20:05:11.419Z","avatar_url":"https://github.com/OmarJ9.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔥 Recipo - Find Your Perfect Recipe\n\nRecipo is your ultimate recipe finder web app that helps you discover delicious dishes from around the world! Browse recipes by country, save your favorites, and create your own culinary journey.\n\n## Star ⭐ the repo if you like what you see 😉.\n\n## 🚀 Features\n\n- 🌍 **Country-based Recipe Search** - Find recipes specific to different countries and cultures\n- 🔍 **Advanced Filtering** - Filter recipes by country or difficulty\n- 👤 **User Accounts** - Login with email OTP or Google Auth\n- ❤️ **Favorite Recipes** - Add the recipes you like to your favorites\n- 🌟 **Rate or Comment** - Add a rating and comments to recipes\n- 🔎 **SEO Optimization** - Optimize SEO for better search engine indexing\n- 👑 **Admin Dashboard** - Manage recipes, countries, and users (admin access only)\n\n## 🛠️ Tech Stack\n\n- ⚛️ **Frontend**: Next.js 15, React 19, Tailwind CSS, Shadcn UI\n- 🔐 **Authentication**: Better-Auth\n- 💾 **Database**: PostgreSQL, Drizzle ORM\n- 🧪 **Form Validation**: React Hook Form, Zod\n\n## 🔧 Getting Started\n\n### Prerequisites\n\n- Node.js 18+\n- npm or yarn\n- PostgreSQL database (supabase, neon...)\n\n### Installation\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/OmarJ9/recipo.git\n   cd recipo\n   ```\n\n2. Install dependencies:\n\n   ```bash\n   npm install\n   # or\n   yarn install\n   ```\n\n3. Set up environment variables:\n   Create a `.env` file in the root directory with:\n\n   ```\n   DATABASE_URL=your_postgresql_database_url\n   BETTER_AUTH_SECRET=your_better-auth_secret\n   BETTER_AUTH_URL=http://localhost:3000\n   GOOGLE_CLIENT_ID=your_google_client_id\n   GOOGLE_CLIENT_SECRET=your_google_client_secret\n   ```\n\n4. Migrate the database:\n\n   ```bash\n   npx drizzle-kit migrate\n   # or\n   yarn drizzle-kit migrate\n   ```\n\n5. Start the development server:\n\n   ```bash\n   npm run dev\n   # or\n   yarn dev\n   ```\n\n6. Open [http://localhost:3000](http://localhost:3000) in your browser.\n\n## 🖥️ Showcase\n\nHere are some screenshots showcasing the web application:\n\n\u003cimg src=\"./public/screenshots/Screenshot-1.png\" style=\"margin-bottom: 80px;\"\u003e\n\u003cimg src=\"./public/screenshots/Screenshot-2.png\" style=\"margin-bottom: 80px;\"\u003e\n\u003cimg src=\"./public/screenshots/Screenshot-3.png\" style=\"margin-bottom: 80px;\"\u003e\n\u003cimg src=\"./public/screenshots/Screenshot-4.png\" style=\"margin-bottom: 80px;\"\u003e\n\u003cimg src=\"./public/screenshots/Screenshot-5.png\" style=\"margin-bottom: 80px;\"\u003e\n\u003cimg src=\"./public/screenshots/Screenshot-6.png\" style=\"margin-bottom: 20px;\"\u003e\n\u003cimg src=\"./public/screenshots/Screenshot-7.png\" style=\"margin-bottom: 20px;\"\u003e\n\u003cimg src=\"./public/screenshots/Screenshot-8.png\" style=\"margin-bottom: 20px;\"\u003e\n\u003cimg src=\"./public/screenshots/Screenshot-9.png\" style=\"margin-bottom: 20px;\"\u003e\n\n## 📚 Project Structure\n\n```\nrecipo/\n├── src/                  # Source files\n│   ├── actions/          # Server actions\n│   ├── app/              # App router components\n│   │   ├── (auth)/       # Authentication routes\n│   │   ├── admin/        # Admin dashboard\n│   │   ├── recipes/      # Recipe-related pages\n│   │   └── api/          # API routes\n│   ├── components/       # UI components\n│   ├── database/         # Database configurations\n│   ├── hooks/            # Custom React hooks\n│   ├── lib/              # Utility functions\n│   └── types/            # TypeScript type definitions\n└── public/               # Static files\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomarj9%2Frecipo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomarj9%2Frecipo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomarj9%2Frecipo/lists"}