{"id":19580529,"url":"https://github.com/curiousgecko/foodgram-project-react","last_synced_at":"2026-04-11T11:34:04.957Z","repository":{"id":220343186,"uuid":"729541666","full_name":"CuriousGecko/foodgram-project-react","owner":"CuriousGecko","description":"Foodgram - отличный сервис для любителей покушать.","archived":false,"fork":false,"pushed_at":"2024-02-01T15:11:10.000Z","size":1146,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-26T12:15:16.403Z","etag":null,"topics":["bash","django","django-rest-framework","djoser","docker-compose","gunicorn","oops-in-python","python3","workflow"],"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/CuriousGecko.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}},"created_at":"2023-12-09T15:00:14.000Z","updated_at":"2024-02-01T14:30:08.000Z","dependencies_parsed_at":"2024-02-01T16:21:55.216Z","dependency_job_id":null,"html_url":"https://github.com/CuriousGecko/foodgram-project-react","commit_stats":null,"previous_names":["curiousgecko/foodgram-project-react"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CuriousGecko/foodgram-project-react","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CuriousGecko%2Ffoodgram-project-react","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CuriousGecko%2Ffoodgram-project-react/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CuriousGecko%2Ffoodgram-project-react/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CuriousGecko%2Ffoodgram-project-react/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CuriousGecko","download_url":"https://codeload.github.com/CuriousGecko/foodgram-project-react/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CuriousGecko%2Ffoodgram-project-react/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31679478,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T08:18:19.405Z","status":"ssl_error","status_checked_at":"2026-04-11T08:17:08.892Z","response_time":54,"last_error":"SSL_read: 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":["bash","django","django-rest-framework","djoser","docker-compose","gunicorn","oops-in-python","python3","workflow"],"created_at":"2024-11-11T07:27:17.334Z","updated_at":"2026-04-11T11:34:04.943Z","avatar_url":"https://github.com/CuriousGecko.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Foodgram - отличный сервис для любителей покушать.\n\n##### Возможности сервиса:\n\n- Создание, просмотр, редактирование и удаление рецептов.\n- Добавление рецептов в избранное.\n- Формирование списка покупок.\n\n#### Развертывание проекта локально (для разработки):\n\n1. Установите Docker и Docker-compose. Запустите сервис Docker.\n\n2. Склонируйте репозиторий на свой компьютер:\n\n    ```bash\n    git clone git@github.com:CuriousGecko/foodgram-project-react.git\n    ```\n\n    ```bash\n    cd foodgram-project-react/for_devs/\n    ```\n\n3. Наполните файл env.dev своими данными.\n\n4. Перейдите в директорию:\n\n    ```bash\n    cd ../infra/\n    ```\n\n5. Запустите проект:\n\n    ```bash\n    sudo docker compose -f docker-compose-local.yml up\n    ```\n\n6. Выполните миграции:\n\n    ```bash\n    sudo docker exec foodgram-back python manage.py migrate\n    ```\n\n7. Соберите статические файлы бэкенда:\n\n    ```bash\n    sudo docker exec foodgram-back python manage.py collectstatic\n    ```\n\n8. Создайте суперпользователя:\n\n    ```bash\n    sudo docker exec -it foodgram-back python manage.py createsuperuser\n    ```\n\n9. Загрузите данные в базу (опционально):\n\n    ```bash\n    sudo docker exec foodgram-back python manage.py load_elements_from_json --file_path ./data_for_load/ingredients.json --model_name Ingredient --app_name ingredients\n    ```\n\n    ```bash\n    sudo docker exec foodgram-back python manage.py load_elements_from_json --file_path ./data_for_load/tags.json --model_name Tag --app_name tags\n    ```\n\n\n#### Автоматический деплой проекта на удаленном сервере:\n\n1. Файл workflow уже написан. Рекомендуется внимательно изучить содержимое. Файл находится в директории:\n\n    ```bash\n    foodgram-project-react/.github/workflows/main.yml\n    ```\n\n2. В GitHub Actions необходимо добавить следующие секреты (для полей БД можно взять в качестве образца файл /foodgram-project-react/for_devs/env.dev):\n\n    ```bash\n    DOCKER_USERNAME                # имя пользователя в DockerHub\n    DOCKER_PASSWORD                # пароль пользователя в DockerHub\n\n    HOST                           # IP-адрес сервера\n    USER                           # имя пользователя\n    SSH_KEY                        # приватный ssh-ключ (cat ~/.ssh/id_rsa)\n    SSH_PASSPHRASE                 # кодовая фраза (пароль) для ssh-ключа\n    \n    DB_ENGINE                      # какой движок будет использовать Django для БД\n    DB_USER                        # пользователь БД\n    DB_PASSWORD                    # пароль пользователя БД\n    DB_NAME                        # название БД\n    DB_HOST                        # к какому контейнеру подключаемся\n    DB_PORT                        # порт БД\n    POSTGRES_USER                  # == DB_USER\n    POSTGRES_PASSWORD              # == DB_PASSWORD\n    POSTGRES_DB                    # == DB_NAME\n   \n    SERVER_NAME                    # домен вашего проекта и\\или IP-адрес сервера\n    NGINX_EXTERNAL_PORT            # какой внешний порт будет слушать контейнер Nginx\n\n    TELEGRAM_TO                    # id телеграм-аккаунта (можно узнать у @userinfobot, команда /start)\n    TELEGRAM_TOKEN                 # токен бота (получить токен можно у @BotFather, /token, имя бота)\n    ```\n\n3. Опционально: измените данные для создания суперпользователя в скрипте deploy_data.sh в директории foodgram/infra удаленного сервера и запустите его. Будут применены миграции, БД наполнится стартовыми данными, создастся суперпользователь.\n\n\n### Запросы к API\n\nТеперь вы можете отправлять запросы к api, например, создать пользователя. Пример POST-запроса к api/users/:\n\n```\n{\n    \"email\": \"user@mail.com\",\n    \"username\": \"user\",\n    \"password\": \"user_password\",\n    \"first_name\": \"user_first_name\",\n    \"last_name\": \"user_last_name\"\n}\n```\n\nВся документация по API доступна по адресу api/docs/redoc.html\n\n\n### Технология\nПроект разработан на базе Django REST framework, аутентификация настроена с помощью Djoser + SimpleJWT.\nПолный список библиотек в файле backend/requirements.txt.\n\nAPI разработан: Леонид Цыбульский\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcuriousgecko%2Ffoodgram-project-react","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcuriousgecko%2Ffoodgram-project-react","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcuriousgecko%2Ffoodgram-project-react/lists"}