Подключите нашего Telegram-бота для уведомлений о новых проектах

Заказ закрыт
Фудграм япрактикум

Разместить заказ
a
Заказчик
Отзывы фрилансеров: + 0 - 0
Зарегистрирован на сайте меньше месяца
Бюджет: по договоренности
НА ГИТХАБЕ ЕСТЬ ГОТОВЫЕ ПРОЕКТЫ, но работа будет проходить через антиплагиат, поэтому нужно будет полностью изменить

Проект «Фудграм» — сайт, на котором пользователи будут публиковать рецепты, добавлять чужие рецепты в избранное и подписываться на публикации других авторов. Пользователям сайта также будет доступен сервис «Список покупок». Он позволит создавать список продуктов, которые нужно купить для приготовления выбранных блюд. 
У будущего веб-приложения уже есть готовый фронтенд — это одностраничное SPA-приложение, написанное на фреймворке React. Файлы, необходимые для его сборки, хранятся в репозитории foodgram-project-react в папке frontend. 
Ваша задача как бэкенд-разработчика — написать бэкенд, включая API, для веб-приложения «Фудграм», а также опубликовать это веб-приложение на вашем виртуальном удалённом сервере и сделать его доступным в интернете. 
Никаких жёстких рамок по структуре и содержанию кода нет, однако есть технические условия общего плана, которые должны быть соблюдены.  
Как должно работать веб-приложение 
Проект состоит из следующих страниц:  
главная, 
страница рецепта, 
страница пользователя, 
страница подписок, 
избранное, 
список покупок, 
создание и редактирование рецепта. 

Главная  
Содержимое главной — список первых шести рецептов, отсортированных по дате публикации «от новых к старым». На этой странице нужно реализовать постраничную пагинацию. Остальные рецепты должны быть доступны на следующих страницах. 

Страница пользователя 
На странице — имя пользователя, все рецепты, опубликованные пользователем и возможность подписаться на пользователя. 

Должна быть возможность скачать список покупок в формате .txt, pdf или любом другом, который вы посчитаете удобным для пользователя.  

Проект доступен по IP или доменному имени. 
Все сервисы и страницы доступны для пользователей в соответствии с их правами. 
Для авторизованных пользователей: 
  1. Доступна главная страница. 
  2. Доступна страница другого пользователя. 
  3. Доступна страница отдельного рецепта. 
  4. Доступна страница «Мои подписки»: 
      a. можно подписаться и отписаться на странице рецепта; 
      b. можно подписаться и отписаться на странице автора; 
      c. при подписке рецепты автора добавляются на страницу «Мои подписки» и удаляются оттуда при отказе от подписки. 
  5. Доступна страница «Избранное»: 
      a. на странице рецепта есть возможность добавить рецепт в список избранного и удалить его оттуда; 
      b. на любой странице со списком рецептов есть возможность добавить рецепт в список избранного и удалить его оттуда. 
  6. Доступна страница «Список покупок»: 
      a. на странице рецепта есть возможность добавить рецепт в список покупок и удалить его оттуда; 
      b. на любой странице со списком рецептов есть возможность добавить рецепт в список покупок и удалить его оттуда; 
      c. есть возможность выгрузить файл с перечнем и количеством необходимых ингредиентов для рецептов из «Списка покупок»; 
      d. ингредиенты в выгружаемом списке не повторяются, корректно подсчитывается общее количество для каждого ингредиента. 
  7. Доступна страница «Создать рецепт»: 
      a. есть возможность опубликовать свой рецепт; 
      b. есть возможность отредактировать и сохранить изменения в своём рецепте; 
      c. есть возможность удалить свой рецепт. 
  8. Доступна возможность выйти из системы. 
Для неавторизованных пользователей: 
  1. Доступна главная страница. 
  2. Доступна страница отдельного рецепта. 
  3. Доступна страница любого пользователя. 
  4. Доступна и работает форма авторизации. 
  5. Доступна и работает система восстановления пароля. 
  6. Доступна и работает форма регистрации. 
Администратор и админ-зона: 
  1. Все модели выведены в админ-зону. 
  2. Для модели пользователей включена фильтрация по имени и email. 
  3. Для модели рецептов включена фильтрация по названию, автору и тегам. 
  4. На админ-странице рецепта отображается общее число добавлений этого рецепта в избранное. 
  5. Для модели ингредиентов включена фильтрация по названию. 
Рецепты на всех страницах сортируются по дате публикации (новые — выше). 
Работает фильтрация по тегам, в том числе на странице избранного и на странице рецептов одного автора. 
Работает пагинатор, в том числе при фильтрации по тегам. 
Исходные данные предзагружены; добавлены тестовые пользователи и рецепты. 
Обрабатывается ошибка 404. 
Проект работает с СУБД PostgreSQL. 
Проект запущен на виртуальном удалённом сервере в трёх контейнерах: nginx, PostgreSQL и Django+Gunicorn. Заготовленный контейнер с фронтендом используется для сборки файлов. 
Контейнер с проектом обновляется на Docker Hub. 
В nginx настроена раздача статики, запросы с фронтенда переадресуются в контейнер с Gunicorn. Джанго-админка работает напрямую через Gunicorn. 
Данные сохраняются в volumes. 
Код соответствует PEP8. 
Проект мне нужно будет запушить на гитхаб-аккаунт и сделать деплой на боевой сервер в докер контейнерах и потом автоматизировать развертывание через GitHub Actions.
Разделы:
Опубликован:
11.05.2025 | 10:46 [поднят: 11.05.2025 | 10:46]
Заказ находится в архиве
Откликнуться Посмотреть другие заказы

Теги: написать программу, создать программу, разработать программу, разработчики программ, прикладной программист

Наши партнеры
Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».