{"id":22732931,"url":"https://github.com/prashantzzz/mealplannerapi","last_synced_at":"2026-04-20T03:03:47.359Z","repository":{"id":267296139,"uuid":"896789041","full_name":"prashantzzz/MealPlannerApi","owner":"prashantzzz","description":"Backend of Guvi-Chubb Capstone Project","archived":false,"fork":false,"pushed_at":"2024-12-17T14:19:22.000Z","size":354,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-30T01:44:08.361Z","etag":null,"topics":["csharp","dotnet","sql-server"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prashantzzz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2024-12-01T10:09:31.000Z","updated_at":"2024-12-20T03:15:18.000Z","dependencies_parsed_at":"2024-12-09T15:22:19.191Z","dependency_job_id":"e2e2d716-f1ed-4d2b-82e1-e198eb7f26ee","html_url":"https://github.com/prashantzzz/MealPlannerApi","commit_stats":null,"previous_names":["prashantzzz/mealplannerapi"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prashantzzz%2FMealPlannerApi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prashantzzz%2FMealPlannerApi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prashantzzz%2FMealPlannerApi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prashantzzz%2FMealPlannerApi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prashantzzz","download_url":"https://codeload.github.com/prashantzzz/MealPlannerApi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246266251,"owners_count":20749754,"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":["csharp","dotnet","sql-server"],"created_at":"2024-12-10T20:11:55.521Z","updated_at":"2026-04-20T03:03:42.296Z","avatar_url":"https://github.com/prashantzzz.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# **Recipe and Meal Planning Management System**\n\n## **Check Swagger UI pdf**\n - Stores the pdf of all the endpoints\n\n## **Project Overview**  \n - User Authentication: Secure login with role-based access (Admin, Chef, Nutritionist, Customer, Meal Planner).\n - Recipe Management: Create and manage recipes with ingredients, cooking details, and nutritional info.\n - Meal Planning: Personalized meal plans based on dietary needs and preferences.\n - Shopping Lists: Auto-generated lists with ingredient tracking and stock management.\n - Nutritional Tracking: Track daily intake against goals with detailed recipe nutrition data.\n - Dietary Preferences: Custom meal suggestions based on dietary restrictions.\n - Cooking Instructions: Step-by-step recipes with ratings and reviews.\n - Subscription \u0026 Payments: Manage subscriptions for meal plans and services.\n - Analytics: Reports on nutrition, meal adherence, and recipe popularity.\n - Meal Prep \u0026 Portion Control: Adjust portions and get meal prep tips.\n - Multi-Platform: Accessible on desktop, tablet, and mobile.\n---\n\n## **Tech Stack**\n- **Backend:** .NET 8 (C#)  \n- **Frontend:** Angular 17+  \n- **Database:** SQL Server 2022  \n- **Authentication:** JWT  \n\n---\n\n## **Features**\n1. **User Authentication \u0026 RBAC**  \n   - Secure login for Admin, Chef, Nutritionist, Customer, and Meal Planner.  \n   - Role-specific permissions.  \n   - Only admin can register admins\n\n2. **Recipe Management**  \n   - Create, update, and manage recipes with categories and dietary preferences.  \n\n3. **Meal Planning**  \n   - Personalized meal plans with scheduling and nutritional tracking.  \n\n4. **Shopping List Management**  \n   - Generate and manage shopping lists based on meal plans.  \n\n5. **Analytics \u0026 Reporting**  \n   - Insights on recipe popularity, meal adherence, and grocery spending.\n\n---\n\n## **Setup Instructions**\n1. **Clone the Repository**\n   ```bash\n   git clone \u003crepository_url\u003e\n   cd MEALPLANNERAPI\n   ```\n\n2. **Database Configuration**  \n   Update the connection string in `appsettings.json`:\n   ```json\n   \"ConnectionStrings\": {\n       \"DefaultConnection\": \"Your_Connection_String_Here\"\n   }\n   ```\n\n3. **Install Dependencies**\n   ```bash\n   dotnet restore\n   ```\n\n4. **Run Migrations**\n   ```bash\n   dotnet ef database update\n   ```\n\n5. **Run the Application**\n   ```bash\n   dotnet run\n   ```\n\n---\n\n## **Few API Endpoints**\n![image](https://github.com/user-attachments/assets/9da8b9ac-cde0-4b43-a0dd-1a1bbdf16c27)\n![image](https://github.com/user-attachments/assets/ed38391d-83a2-4ff3-937f-ae293d592b4c)\n\n### **Authentication**  \n| Endpoint               | Method | Description                         |\n|------------------------|--------|-------------------------------------|\n| `/api/auth/login`      | POST   | User login with JWT generation      |\n| `/api/auth/register`   | POST   | Register a new user (Admin-only)    |\n| `/api/auth/logout`     | POST   | User logout                         |\n\n---\n\n### **User Management**  \n| Endpoint               | Method | Description                         |\n|------------------------|--------|-------------------------------------|\n| `/api/users`           | GET    | Get all users (Admin-only)          |\n| `/api/users/{id}`      | GET    | Get user details by ID              |\n| `/api/users/{id}`      | PUT    | Update user details (Admin-only)    |\n| `/api/users/{id}`      | DELETE | Delete user (Admin-only)            |\n\n---\n\n### **Recipes**  \n| Endpoint               | Method | Description                         |\n|------------------------|--------|-------------------------------------|\n| `/api/recipes`         | GET    | Get all recipes                     |\n| `/api/recipes/{id}`    | GET    | Get a recipe by ID                  |\n| `/api/recipes`         | POST   | Create a new recipe (Chef/Nutritionist) |\n| `/api/recipes/{id}`    | PUT    | Update a recipe (Chef/Nutritionist) |\n| `/api/recipes/{id}`    | DELETE | Delete a recipe (Chef/Nutritionist) |\n\n---\n\n### **Meal Planning**  \n| Endpoint                | Method | Description                               |\n|-------------------------|--------|-------------------------------------------|\n| `/api/mealplans`        | GET    | Get all meal plans for the logged-in user |\n| `/api/mealplans/{id}`   | GET    | Get a specific meal plan by ID            |\n| `/api/mealplans`        | POST   | Create a new meal plan                    |\n| `/api/mealplans/{id}`   | PUT    | Update an existing meal plan              |\n| `/api/mealplans/{id}`   | DELETE | Delete a meal plan                        |\n\n---\n\n### **Shopping List**  \n| Endpoint                    | Method | Description                         |\n|-----------------------------|--------|-------------------------------------|\n| `/api/shoppinglists`        | GET    | Get all shopping lists              |\n| `/api/shoppinglists/{id}`   | GET    | Get a shopping list by ID           |\n| `/api/shoppinglists`        | POST   | Add a shopping list for a meal plan |\n| `/api/shoppinglists/{id}`   | PUT    | Update shopping list item status    |\n| `/api/shoppinglists/{id}`   | DELETE | Delete a shopping list              |\n\n---\n\n---\n\n### **Assigned Users List**  \n| Endpoint                       | Method | Description                         |\n|--------------------------------|--------|-------------------------------------|\n| `/api/assignedusers`           | GET    | Retrieve all assigned users.        |\n| `/api/assignedusers/{id}`      | GET    | Retrieve a specific record by ID.   |\n| `/api/assignedusers`           | POST   | Add a new assigned user.            |\n| `/api/assignedusers/{id}`      | PUT    | Update an assigned user by ID.      |\n| `/api/assignedusers/{id}`      | DELETE | Delete an assigned user data.       |\n\n---\n\n---\n\n### **MealPrep List**  \n| Endpoint                 | Method | Description                         |\n|--------------------------|--------|-------------------------------------|\n| `/api/mealprep`          | GET    | Retrieve all meal preparations.     |\n| `/api/mealprep/{id}`     | GET    | Retrieve a specific meal preparation|\n| `/api/mealprep`          | POST   | Addd a new meal preparation.        |\n| `/api/mealprep/{id}`     | PUT    | Update a meal preparation by ID.    |\n| `/api/mealprep/{id}`     | DELETE | Delete a meal preparation by ID.    |\n\n---\n\n### **Reviews**  \n| Endpoint               | Method | Description                         |\n|------------------------|--------|-------------------------------------|\n| `/api/reviews`         | GET    | Get all reviews for a recipe        |\n| `/api/reviews`         | POST   | Add a new review for a recipe       |\n| `/api/reviews/{id}`    | GET    | Get review by Id                    |\n| `/api/reviews/{id}`    | PUT    | Update a review                     |\n| `/api/reviews/{id}`    | DELETE | Delete a review                     |\n\n---\n\n### **Subscriptions**  \n| Endpoint                   | Method | Description                         |\n|----------------------------|--------|-------------------------------------|\n| `/api/subscriptions`       | GET    | Get all subscriptions for a user    |\n| `/api/subscriptions/{id}`  | POST   | Create a new subscription           |\n| `/api/subscriptions/{id}`  | PUT    | Update subscription details         |\n| `/api/subscriptions/{id}`  | DELETE | Cancel a subscription               |\n\n---\n\n## **Frontend Integration**  \n- Connect Angular frontend to the backend using the base URL:  \n  `https://localhost:\u003cport\u003e/api/`\n\n---\n\n## **Additional Notes**\n- Use Swagger (`/swagger`) for testing APIs.  \n- Add CORS policies in `Program.cs` for external integrations.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprashantzzz%2Fmealplannerapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprashantzzz%2Fmealplannerapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprashantzzz%2Fmealplannerapi/lists"}