{"id":41207257,"url":"https://github.com/y-kanchan/cook","last_synced_at":"2026-01-22T22:14:23.104Z","repository":{"id":324839927,"uuid":"1098746358","full_name":"y-kanchan/cook","owner":"y-kanchan","description":null,"archived":false,"fork":false,"pushed_at":"2025-12-02T12:23:37.000Z","size":22915,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-05T09:41:49.460Z","etag":null,"topics":["cookbook","fullstack","project"],"latest_commit_sha":null,"homepage":"https://cook-93n7yq5jp-kanchanyadav0916-gmailcoms-projects.vercel.app/","language":"JavaScript","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/y-kanchan.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-18T04:59:04.000Z","updated_at":"2025-12-02T12:23:41.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/y-kanchan/cook","commit_stats":null,"previous_names":["y-kanchan/cook"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/y-kanchan/cook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y-kanchan%2Fcook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y-kanchan%2Fcook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y-kanchan%2Fcook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y-kanchan%2Fcook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/y-kanchan","download_url":"https://codeload.github.com/y-kanchan/cook/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y-kanchan%2Fcook/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28672909,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T20:48:19.482Z","status":"ssl_error","status_checked_at":"2026-01-22T20:48:14.968Z","response_time":144,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cookbook","fullstack","project"],"created_at":"2026-01-22T22:14:22.406Z","updated_at":"2026-01-22T22:14:23.093Z","avatar_url":"https://github.com/y-kanchan.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CookBook - Your Virtual Kitchen Assistant \n\n**CookBook** is a full-featured recipe application built with **React + Vite**, offering a complete modern cooking experience. It behaves like a real full-stack app by combining a **JSON Server backend** for user-created recipes and authentication with the **TheMealDB API** for public recipe data. Users can create, edit, delete, and browse recipes, save their favorites, manage their profile, and explore MealDB recipes all within a clean, intuitive, fully responsive UI.\n\n## Tech Stack\n\n![React](https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB)\n![Vite](https://img.shields.io/badge/Vite-B73BFE?style=for-the-badge\u0026logo=vite\u0026logoColor=FFD62E)\n![TailwindCSS](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge\u0026logo=tailwind-css\u0026logoColor=white)\n![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge\u0026logo=javascript\u0026logoColor=black)\n![JSON Server](https://img.shields.io/badge/JSON_Server-000000?style=for-the-badge\u0026logo=json\u0026logoColor=white)\n![TheMealDB](https://img.shields.io/badge/TheMealDB-FF4757?style=for-the-badge\u0026logo=foodpanda\u0026logoColor=white)\n![Vercel](https://img.shields.io/badge/Vercel-000000?style=for-the-badge\u0026logo=vercel\u0026logoColor=white)\n\n**Live Demo**: [CookBook](https://cook-93n7yq5jp-kanchanyadav0916-gmailcoms-projects.vercel.app/)\n\n### Video Walkthrough \u0026 Code Explanation\n\nWatch the project explanation + live demo here: \n\n[Watch Full Video → [Demo Video](https://drive.google.com/file/d/1nfgj2CfvSg8vuYLflhmvNsKMXQJqf958/view?usp=sharing)     /\n                    [Code Walkthrough](https://drive.google.com/file/d/1NKXN4SYluBV5jCOG1R5wQqWdFFiEiHQm/view?usp=sharing)\n\n---\n\n### Demo Login (Instant Access)\n\n```text\nEmail: demo@cookbook.app\nPassword: demo123\n```\nYou may also register a new account.\nAll user data, saved recipes, and user-created recipes are stored in JSON Server (db.json).\n\n## Features\n\n### Authentication\n- Login \u0026 Register forms\n- Protected routes (redirects to /login if not authenticated)\n- Persistent session using JSON Server user records\n- Logout functionality\n\n### Recipe Management (CRUD)\n- Add new recipes (stored in JSON Server)\n- Edit and delete your own recipes\n- View detailed recipe pages\n- Track all user-created recipes under My Recipes\n\n### Saved (Favorites)\n- Save/unsave recipes per user\n- Stored in JSON Server under savedRecipes\n- Dedicated Saved Recipes page\n\n### Smart Filtering \u0026 Search\n- Search by recipe title\n- Filter by:\n   - Category (Breakfast, Dinner, Dessert…)\n   - Difficulty (Easy, Medium, Hard)\n- Combine search + filters\n- Includes MealDB API recipes + user-created recipes\n\n### UI/UX\n- Clean and modern Tailwind CSS UI\n- Fully responsive (mobile-first design)\n- Smooth toast notifications using React Hot Toast\n- Intuitive navigation and polished layout\n  \n## Tech Stack\n\n| Technology      | Purpose                                     |\n| --------------- | ------------------------------------------- |\n| React + Vite    | Frontend framework \u0026 fast development setup |\n| React Router v6 | Client-side routing                         |\n| Context API     | Global state (auth + recipe data)           |\n| Tailwind CSS    | Styling \u0026 responsive design                 |\n| JSON Server     | Fake backend (users, recipes, saved items)  |\n| TheMealDB API   | Public recipe data (read-only)              |\n| React Hot Toast | Toast notifications                         |\n\n\n### Project Structure\n\n```\nCookbook/\n├── public/              # Images, icons, static assets\n├── src/\n│   ├── assets/          # SVGs, images\n│   ├── components/      # Reusable UI components\n│   ├── context/         # Auth \u0026 Recipe context providers\n│   ├── pages/           # All app pages (Home, Login, Recipes, etc.)\n│   ├── styles/          # Custom CSS files\n│   ├── utils/           # API helpers\n│   ├── App.jsx          # Main app component\n│   └── main.jsx         # React entry point\n├── db.json              # Fake API / local database\n├── package.json         # Project dependencies\n├── tailwind.config.js   # Tailwind CSS config\n├── vite.config.js       # Vite config\n└── README.md            # Documentation\n\n```\n## Installation \u0026 Run\n\n```bash\ngit clone https://github.com/yourusername/cookbook.git\ncd cookbook\nnpm install\nnpm run server\nnpm run dev\n\n```\n- Open http://localhost:5173\n \n### Protected Routes (Require Authentication)\n\nThese pages are only accessible when logged in.  \nUnauthenticated users are automatically redirected to `/login`.\n\n| Route         | Description                                  |\n|--------------|-----------------------------------------------|\n| `/add`        | Add a new recipe (stored in JSON Server)      |\n| `/edit/:id`   | Edit an existing recipe                       |\n| `/my-recipes` | View recipes created by the logged-in user    |\n| `/saved`      | View recipes saved by the user                |\n| `/profile`    | View and edit your profile                    |\n\n### Public Routes (No Login Needed)\n\n- `/` → Intro / Landing page  \n- `/home` → Home page  \n- `/recipes` → All recipes (MealDB + user recipes)  \n- `/recipes/:id` → Recipe detail  \n- `/login`  \n- `/register`\n\n---\n\n### JSON Server Backend (Fake API)\n\nAll user-generated data is stored in **db.json** using JSON Server.  \nThis acts as the project's backend, replacing LocalStorage.\n\n#### Data stored in JSON Server:\n\n```text\nusers          → Registered users (email, password, profile info)\nrecipes        → User-created recipes (full CRUD)\nsavedRecipes   → Saved/favorited recipe IDs per user\nprofiles       → Optional profile data (name, photo, etc.)\n```\n### External API: TheMealDB\n\nPublic recipe data is fetched from:\n```blash\nhttps://www.themealdb.com/api/json/v1/1/\n```\n### Screenshots\n\n| Intro Page | Home Page |\n|------------|-----------|\n| \u003cimg width=\"450\" src=\"https://github.com/user-attachments/assets/6b098936-3cce-4dea-b361-816198513a70\" /\u003e | \u003cimg width=\"450\" src=\"https://github.com/user-attachments/assets/70ee9d3e-c438-45ec-8dec-0cf5edf6e86a\" /\u003e |\n\n| All Recipes | Saved Recipes |\n|-------------|---------------|\n| \u003cimg width=\"450\" src=\"https://github.com/user-attachments/assets/14fe15de-c31d-4ae7-ac62-f04b3a6d39fe\" /\u003e | \u003cimg width=\"450\" src=\"https://github.com/user-attachments/assets/7ab95d76-68f4-4bb9-951c-aa1494b9d42a\" /\u003e |\n\n| Edit Recipe | Add Recipe |\n|-------------|-------------|\n| \u003cimg width=\"450\" src=\"https://github.com/user-attachments/assets/01103dc5-a750-4f3e-800b-af90b2ac1754\" /\u003e | \u003cimg width=\"450\" src=\"https://github.com/user-attachments/assets/fd5913a8-2fa8-45d2-b602-7fe2e38d09f6\" /\u003e |\n\n| Login | Register |\n|-------|----------|\n| \u003cimg width=\"450\" src=\"https://github.com/user-attachments/assets/2ed25057-5de1-4302-a427-59093a109d5e\" /\u003e | \u003cimg width=\"450\" src=\"https://github.com/user-attachments/assets/f93792be-6836-42de-ada4-a0f0ed8cce62\" /\u003e |\n\n## Future Enhancements\n\n- Real backend with **Node.js / Express + MongoDB** (or Firebase)\n- **Image upload** for recipes (Cloudinary or Firebase Storage)\n- Recipe **ratings \u0026 comments** system\n- User reviews and discussions\n- **Dark mode** toggle\n- Shopping list generator from ingredients\n- **Print recipe** functionality\n- Progressive Web App (**PWA**) support\n- Ingredient **unit converter** (grams ↔ cups ↔ tablespoons)\n\n---\n\n## Contributing\n\nContributions are very welcome!  \nFeel free to:\n\n- Open issues for bugs or feature requests  \n- Submit pull requests with improvements  \n- Suggest new features or recipe ideas  \n\n---\n\n## License\n\nThis project is open-source and licensed under the **MIT License**.\n\n© 2025\n\n---\n\n**Happy Cooking!**  \nMade with passion \n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fy-kanchan%2Fcook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fy-kanchan%2Fcook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fy-kanchan%2Fcook/lists"}