{"id":15003257,"url":"https://github.com/artem-babenko/recipewebapp","last_synced_at":"2026-02-01T23:03:29.653Z","repository":{"id":214184796,"uuid":"735243680","full_name":"Artem-Babenko/RecipeWebApp","owner":"Artem-Babenko","description":"Проект \"Рецепти приготування страв\" - це мій третій веб-додаток, основою якого є рецепти та їх харчова цінність. Головна ідея проекту полягає у створенні, редагуванні та перегляді рецептів користувачами сайту.","archived":false,"fork":false,"pushed_at":"2024-01-21T15:53:25.000Z","size":6080,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-12T04:25:12.262Z","etag":null,"topics":["asp-net-core","background-service","csharp","css","entity-framework-core","hostedservice","html","javascript","ms-sql-server","mvc-controller","mvc-model","rest-api"],"latest_commit_sha":null,"homepage":"","language":"C#","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/Artem-Babenko.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":"2023-12-24T07:32:32.000Z","updated_at":"2024-01-17T14:47:33.000Z","dependencies_parsed_at":"2024-01-21T16:46:36.347Z","dependency_job_id":null,"html_url":"https://github.com/Artem-Babenko/RecipeWebApp","commit_stats":null,"previous_names":["artem-babenko/recipewebapp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Artem-Babenko/RecipeWebApp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Artem-Babenko%2FRecipeWebApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Artem-Babenko%2FRecipeWebApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Artem-Babenko%2FRecipeWebApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Artem-Babenko%2FRecipeWebApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Artem-Babenko","download_url":"https://codeload.github.com/Artem-Babenko/RecipeWebApp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Artem-Babenko%2FRecipeWebApp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260563498,"owners_count":23028568,"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":["asp-net-core","background-service","csharp","css","entity-framework-core","hostedservice","html","javascript","ms-sql-server","mvc-controller","mvc-model","rest-api"],"created_at":"2024-09-24T18:57:39.032Z","updated_at":"2026-02-01T23:03:29.609Z","avatar_url":"https://github.com/Artem-Babenko.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Рецепти приготування страв\n**Проект \"Рецепти приготування страв\"** - це веб-додаток, основою якого є **рецепти та їх харчова цінність**. Головна ідея проекту полягає у створенні, редагуванні та перегляді рецептів користувачами сайту. Наприклад, якщо Ви захотіли приготувати рибні котлети то для того, щоб знати як їх приготувати, достатньо буде на головній сторінці написати у пошуку \"котлети\" або \"рибні котлети\" та вибрати один з рецептів, створених користувачами, та покроково зробити все, що написано у ньому, використовуючи **інгредієнти**, які вказані для кожного рецепта. [Відео користування сайтом.](https://www.youtube.com/watch?v=AAtlV8M_Plo)\n\nТакож шукати рецепти зручно буде за допомогою **дерева категорій**. Наприклад, якщо Ви захотіли зробити салат, то для того, щоб знайти рецепти салатів з курятини, буде достатньо трьох кліків по дереву категорій _(Салати \u003e Салати з м'ясом \u003e Салати з курятиною)_, щоб Вам відобразило бажані рецепти. \n\nЦей веб-додаток створений з використанням фреймворків **ASP.NET Core** та **Entity Framework Core**. Написаний на мовах: **C#, HTML, CSS та JavaScript**. Архітектура відповідає принципам **REST API**, а кінцеві точки обробляються за допомогою **Controllers**. Дані зберігаються у **Microsoft SQL Server**. Використовуючи файл [openapi.yaml](/openapi.yaml) кінцеві точки АPI можна переглянути [тут](https://editor.swagger.io/).\n\nТакож є один **Hosted Service**, який наслідується від класу **BackgroundService**, призначений для очищення тимчасових фото. **Тимчасові фото** - це кожне фото, яке користувач завантажив у процесі створення рецепту. Якщо він з різних причин буде видаляти та завантажувати нові фото, то завдяки сервісу, невикористані фото видалиться через 1 годину після додавання.\n\n![Фото головної сторінки](Screenshots/головна.jpg)\n\n### Сторінка рецепта\n\n![Фото сторінки рецепта](Screenshots/рецепт1.jpg)\n\nДля кожного рецепту є сторінка, яка відображатиме всю інформацію про нього. На першій частині сторінки відображається **назва** рецепту, **фото**, **складність та час приготування**, **короткий опис**, **рейтинг** (формується на основі оцінок користувачів) та **автор** рецепту.\n\n![Фото сторінки рецепта](Screenshots/рецепт2.jpg)\n\nДруга частина сторінки надає інформацію про **інгредієнти** та **калорійність страви**. Докладно вказана інформація скільки **білків**, **вуглеводів**, **жирів** та яка **вага** буде у результаті приготування.\n\n![Фото сторінки рецепта](Screenshots/рецепт3.jpg)\n\nТретя часина сторінки відображає **послідовні кроки приготування страви**, **список коментарів** та панель для їх додавання. Сторінка закінчується **датою створення** рецепта.\n\n![Фото сторінки рецепта](Screenshots/рецепт4.jpg)\n\n### Сторінка створення та редагування рецепта\n\n![Фото сторінки рецепта](Screenshots/створення1.jpg)\n\nПісля натиснення клавіши створення рецепта відкриється відповідна сторінка у якій буде форма для заповлення інформації про рецепт. Фото можливо додати не тільки натисненням на клавішу \"Обрати фото\", а тажож перетягуванням його у поле, так званим \"Drag and Drop(ом)\".\n\n![Фото сторінки рецепта](Screenshots/створення2.jpg)\n\nОбов'язковими для заповнення є всі поля. **Категорія** вибирається одна з випадаючого списку. **Час приготування** записується числом в одне або два поля у годинах та хвилинах відповідно. **Складність** обирається таким самим чином, як і категорія. **Назва** та **опис** записуються звичайним текстом.\n\n![Фото сторінки рецепта](Screenshots/створення3.jpg)\n\nДля того щоб **додати інгредієнти** треба написнути клавішу \"+ Додати\" у відповідному блоці. Після натиснення відкриється **список всіх продуктів** з швидким пошуком за ключовим словом. Вибравши продукт і натиснувши на \"**+**\" біля нього, він буде доданий на сторінку та стане доступним поле для редагування його кількості у вказаних одиницях вимірювання. Один і той самий продукт двічі вибрати - неможливо. У випадку помилкового вибору продукту є можливість його видалити та обрати інший, натиснувши клавішу \"x\" справа від інгредієнту.\n\n![Фото сторінки рецепта](Screenshots/створення4.jpg)\n\n**Кроки приготування** додаються схожим чином до додавання інгредієнтів, але при натисненні клавіши \"+ Додати\" одразу відбувається додавання поля для опису кроку. Кроки одразу нумеруються, уникаючи випадкової ситуації з перемішуванням їх при відкритті сторінки перегляду рецепта.\n\n![Фото сторінки рецепта](Screenshots/редагування.jpg)\n\nПісля створення рецепту, може статись таке, що Ви помилились при написанні слова чи щось інше, тому для вирішення цієї проблеми є сторінка **редагування рецепта**. Вона доступна для кожного рецепта у профілю користувача, який буде описаний нижче. Редагування відбувається таким чином, як і створення.\n\n### Сторінка профілю\n\n![Фото сторінки рецепта](Screenshots/профіль.jpg)\n\nКожен зареєсторований користувач має можливість переглянути рецепти, які додав раніше, та їх **загальну статистику** у своєму **профілю**. Також є панель з інформацією про користувача, у якій натиснувши на \"**олівець**\" буде надана можливість редагувати всі Ваші дані.\n\n### Сторінки входу та реєстрації\n\n![Фото сторінки рецепта](Screenshots/вхід.jpg)\n\nА для того щоб створювати, редагувати рецепти та користуватись профілем треба обов'язково **увійти** або **створити новий акаунт** на сторінках входу та реєстрації відповідно.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartem-babenko%2Frecipewebapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartem-babenko%2Frecipewebapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartem-babenko%2Frecipewebapp/lists"}