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

Дата публикации: 10.05.2025 10:46:47
НА ГИТХАБЕ ЕСТЬ ГОТОВЫЕ ПРОЕКТЫ, но работа будет проходить через антиплагиат, поэтому нужно будет полностью изменить Проект «Фудграм» — сайт, на котором пользователи будут публиковать рецепты, добавлять чужие рецепты в избранное и подписываться на публикации других авторов. Пользователям сайта также будет доступен сервис «Список покупок». Он позволит создавать список продуктов, которые нужно купить для приготовления выбранных блюд.  У будущего веб-приложения уже есть готовый фронтенд — это одностраничное 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.  Проект мне нужно будет запушить на гитхаб-аккаунт и сделать деплой на боевой сервер в докер к
Источник: www.fl.ru
Число просмотров: 3

Еще проекты:

Пройти верификацию на Pari (Бюджет: 750 руб)

Пройти верификацию в букмекерской конторе Pari 18+

Настроить Supabase self-hosting (Бюджет: 1200 руб, для всех)

База данных Supabase на сервере уже развернута, но приложение не создает документы в базе данных.  Задача: Законнектить приложение и базу данных (таблицы, хранилище, функции).

Настройка акции подарок в1С УТ 11.5

Надо помочь в настройке покупок. При покупки товаров колбасные изделия на сумму более 1000 рублей  получи подарок 1 шт колбасы в  программе 1С УТ 11.5 Версия Программы Управление торговлей, редакция 11 (11.5.10.73) ( http://v8.1c.ru/trade/)

UI-дизайн для web-приложения

У нас имеется web-приложение на vue js 3, которое отображает адреса, модальную форму с деталями адресов, дает возможность купить. Будет окошко с авторизацией и некоторыми дополнительными функциями для авторизованных пользователей. Необходимо проработать дизайн всех элементов Адаптивность (десктоп / планшет / мобильный); UI-компоненты: кнопки, иконки, всплывающие уведомления; Цветовая палитра и шрифты в едином стиле; Требования:  Опыт в web-дизайне интерфейсов для приложений, а не прост...

Создать Web scraper для Douyin

подробности функционала в прикрепленном файле