{"id":17737633,"url":"https://github.com/lazarenkov-e/foodgram-project-react","last_synced_at":"2026-04-07T09:32:13.969Z","repository":{"id":176903805,"uuid":"639050912","full_name":"lazarenkov-e/foodgram-project-react","owner":"lazarenkov-e","description":"май-июнь 2023. Дипломный проект для Яндекс Практикум. REST API для веб-приложение \"Продуктовый помощник\"","archived":false,"fork":false,"pushed_at":"2023-06-12T15:48:09.000Z","size":22609,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-30T16:17:36.673Z","etag":null,"topics":["ci","django","django-rest-framework","docker-compose","nginx","python"],"latest_commit_sha":null,"homepage":"","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/lazarenkov-e.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-05-10T16:48:10.000Z","updated_at":"2023-06-28T13:12:48.000Z","dependencies_parsed_at":"2023-07-02T06:43:20.353Z","dependency_job_id":null,"html_url":"https://github.com/lazarenkov-e/foodgram-project-react","commit_stats":null,"previous_names":["lazarenkov-e/foodgram-project-react"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lazarenkov-e/foodgram-project-react","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lazarenkov-e%2Ffoodgram-project-react","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lazarenkov-e%2Ffoodgram-project-react/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lazarenkov-e%2Ffoodgram-project-react/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lazarenkov-e%2Ffoodgram-project-react/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lazarenkov-e","download_url":"https://codeload.github.com/lazarenkov-e/foodgram-project-react/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lazarenkov-e%2Ffoodgram-project-react/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31508038,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"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":["ci","django","django-rest-framework","docker-compose","nginx","python"],"created_at":"2024-10-26T01:22:48.858Z","updated_at":"2026-04-07T09:32:13.950Z","avatar_url":"https://github.com/lazarenkov-e.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Foodgram\n\n[![foodgram-app workflow](https://github.com/lazarenkov-e/foodgram-project-react/actions/workflows/foodgram_workflow.yml/badge.svg)](https://github.com/lazarenkov-e/foodgram-project-react/actions/workflows/foodgram_workflow.yml)\n\nПриложение «Продуктовый помощник»: сайт, на котором пользователи могут опубликовать рецепты, добавлять чужие рецепты в избранное и подписываться на публикации других авторов. Сервис «Список покупок» позволяет пользователям создавать список продуктов, которые нужно купить для приготовления выбранных блюд.\n\nServer IP:  \n[158.160.19.199](http://158.160.19.199/)\n\n### Инструменты:\n![image](https://img.shields.io/badge/Python%203.9-FFD43B?style=for-the-badge\u0026logo=python\u0026logoColor=blue)\n![image](https://img.shields.io/badge/Django%204.2-092E20?style=for-the-badge\u0026logo=django\u0026logoColor=green)\n![image](https://img.shields.io/badge/PostgreSQL-316192?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white)\n![image](https://img.shields.io/badge/Docker-2CA5E0?style=for-the-badge\u0026logo=docker\u0026logoColor=white)\n![image](https://img.shields.io/badge/Nginx-009639?style=for-the-badge\u0026logo=nginx\u0026logoColor=white)\n### Как запустить проект на боевом сервере:\n\nУстановить на сервере docker и docker-compose. Скопировать на сервер файлы docker-compose.yaml и nginx.conf:\n\n```\nscp docker-compose.yml \u003cлогин_на_сервере\u003e@\u003cIP_сервера\u003e:/home/\u003cлогин_на_сервере\u003e/docker-compose.yml\nscp nginx.conf \u003cлогин_на_сервере\u003e@\u003cIP_сервера\u003e:/home/\u003cлогин_на_сервере\u003e/nginx.conf\n\n```\n\nДобавить в Secrets на Github следующие данные:\n\n```\nSECRET_KEY='ваш ключ от Django'\nALLOWED_HOSTS='\u003cадрес вашего сервера\u003e, 127.0.0.1, localhost'\nDB_ENGINE=django.db.backends.postgresql # указать, что проект работает с postgresql\nDB_NAME=postgres # имя базы данных\nPOSTGRES_USER=postgres # логин для подключения к базе данных\nPOSTGRES_PASSWORD=postgres # пароль для подключения к БД\nDB_HOST=db # название сервиса БД (контейнера) \nDB_PORT=5432 # порт для подключения к БД\nDOCKER_PASSWORD= # Пароль от аккаунта на DockerHub\nDOCKER_USERNAME= # Username в аккаунте на DockerHub\nHOST= # IP удалённого сервера\nUSER= # Логин на удалённом сервере\nSSH_KEY= # SSH-key компьютера, с которого будет происходить подключение к удалённому серверу\nPASSPHRASE= #Если для ssh используется фраза-пароль\nTELEGRAM_TO= #ID пользователя в Telegram\nTELEGRAM_TOKEN= #ID бота в Telegram\n\n```\n\nВыполнить команды:\n\n*   git add .\n*   git commit -m \"Коммит\"\n*   git push\n\nПосле этого будут запущены процессы workflow:\n\n*   проверка кода на соответствие стандарту PEP8 (с помощью пакета flake8) и запуск pytest\n*   сборка и доставка докер-образа для контейнера web на Docker Hub\n*   автоматический деплой проекта на боевой сервер\n*   отправка уведомления в Telegram о том, что процесс деплоя успешно завершился\n\nПосле успешного завершения процессов workflow на боевом сервере должны будут выполнены следующие команды:\n\n```\nsudo docker-compose exec web python manage.py migrate\n\n```\n\n\n```\nsudo docker-compose exec web python manage.py collectstatic --no-input \n```\n\nЗатем необходимо будет создать суперюзера и загрузить в базу данных информацию об ингредиентах:\n\n```\nsudo docker-compose exec web python manage.py createsuperuser\n\n```\n\n```\nsudo docker-compose exec web python manage.py load_data_csv --path \u003cпуть_к_файлу\u003e --model_name \u003cимя_модели\u003e --app_name \u003cназвание_приложения\u003e\n\n```\n### Автор проекта\n\n**Лазаренков Евгений** ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flazarenkov-e%2Ffoodgram-project-react","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flazarenkov-e%2Ffoodgram-project-react","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flazarenkov-e%2Ffoodgram-project-react/lists"}