{"id":14985610,"url":"https://github.com/annamihailovna/recipebook-project-react","last_synced_at":"2025-04-11T22:04:46.099Z","repository":{"id":190853581,"uuid":"671547100","full_name":"AnnaMihailovna/RecipeBook-project-react","owner":"AnnaMihailovna","description":"🥗🥩🍰Проект «Книга рецептов» - RecipeBook. Деплой на удалённый сервер в контейнерах. Автоматизация CI/CD.","archived":false,"fork":false,"pushed_at":"2023-12-04T08:44:29.000Z","size":1455,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-11T22:03:44.246Z","etag":null,"topics":["api","ci-cd","django","django-rest-framework","docker","json","postgresql","python","sql","yml"],"latest_commit_sha":null,"homepage":"https://recipebook.hopto.org/","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/AnnaMihailovna.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-07-27T15:08:08.000Z","updated_at":"2023-10-10T13:24:05.000Z","dependencies_parsed_at":"2023-12-04T09:41:11.368Z","dependency_job_id":null,"html_url":"https://github.com/AnnaMihailovna/RecipeBook-project-react","commit_stats":{"total_commits":57,"total_committers":2,"mean_commits":28.5,"dds":0.01754385964912286,"last_synced_commit":"4bdced8e890d36409e4486b49c9557bb611a24b4"},"previous_names":["annamihailovna/recipebook-project-react"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnnaMihailovna%2FRecipeBook-project-react","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnnaMihailovna%2FRecipeBook-project-react/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnnaMihailovna%2FRecipeBook-project-react/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnnaMihailovna%2FRecipeBook-project-react/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AnnaMihailovna","download_url":"https://codeload.github.com/AnnaMihailovna/RecipeBook-project-react/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248487717,"owners_count":21112191,"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":["api","ci-cd","django","django-rest-framework","docker","json","postgresql","python","sql","yml"],"created_at":"2024-09-24T14:11:21.592Z","updated_at":"2025-04-11T22:04:46.058Z","avatar_url":"https://github.com/AnnaMihailovna.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Проект «Книга рецептов» - RecipeBook\n\n### Описание проекта\nПроект представляет собой онлайн-сервис и API для него. Сервис позволяет публиковать любимые рецепты, подписываться на других авторов, составлять список из избранных рецептов, а перед походом в магазин - скачивать сводный список продуктов для выбранных рецептов.\nПроект запущен на виртуальном удалённом сервере в трёх контейнерах: nginx, PostgreSQL и Django+Gunicorn. Заготовленный контейнер с фронтендом используется для сборки файлов. Контейнер с проектом обновляется на Docker Hub.\n\n### Технологический стек\n[![Python](https://img.shields.io/badge/-Python-464646?style=flat\u0026logo=Python\u0026logoColor=56C0C0\u0026color=cd5c5c)](https://www.python.org/)\n[![Django](https://img.shields.io/badge/-Django-464646?style=flat\u0026logo=Django\u0026logoColor=56C0C0\u0026color=0095b6)](https://www.djangoproject.com/)\n[![Django REST Framework](https://img.shields.io/badge/-Django%20REST%20Framework-464646?style=flat\u0026logo=Django%20REST%20Framework\u0026logoColor=56C0C0\u0026color=cd5c5c)](https://www.django-rest-framework.org/)\n[![PostgreSQL](https://img.shields.io/badge/-PostgreSQL-464646?style=flat\u0026logo=PostgreSQL\u0026logoColor=56C0C0\u0026color=0095b6)](https://www.postgresql.org/)\n[![Nginx](https://img.shields.io/badge/-NGINX-464646?style=flat\u0026logo=NGINX\u0026logoColor=56C0C0\u0026color=cd5c5c)](https://nginx.org/ru/)\n[![gunicorn](https://img.shields.io/badge/-gunicorn-464646?style=flat\u0026logo=gunicorn\u0026logoColor=56C0C0\u0026color=0095b6)](https://gunicorn.org/)\n[![Docker](https://img.shields.io/badge/-Docker-464646?style=flat\u0026logo=Docker\u0026logoColor=56C0C0\u0026color=cd5c5c)](https://www.docker.com/)\n[![Docker-compose](https://img.shields.io/badge/-Docker%20compose-464646?style=flat\u0026logo=Docker\u0026logoColor=56C0C0\u0026color=0095b6)](https://www.docker.com/)\n[![Docker Hub](https://img.shields.io/badge/-Docker%20Hub-464646?style=flat\u0026logo=Docker\u0026logoColor=56C0C0\u0026color=cd5c5c)](https://www.docker.com/products/docker-hub)\n[![GitHub%20Actions](https://img.shields.io/badge/-GitHub%20Actions-464646?style=flat\u0026logo=GitHub%20actions\u0026logoColor=56C0C0\u0026color=0095b6)](https://github.com/features/actions)\n[![Yandex.Cloud](https://img.shields.io/badge/-Yandex.Cloud-464646?style=flat\u0026logo=Yandex.Cloud\u0026logoColor=56C0C0\u0026color=cd5c5c)](https://cloud.yandex.ru/)\n\n### Запуск проекта в контейнерах\n- Клонирование удаленного репозитория\n```bash\ngit@github.com:AnnaMihailovna/RecipeBook-project-react.git\ncd infra\n```\n- В директории /infra создайте файл .env с переменными окружения\n- Сборка и развертывание контейнеров\n```bash\ndocker compose up -d --build\n```\n- Выполните миграции, соберите статику, создайте суперпользователя\n```bash\ndocker compose exec backend python manage.py makemigrations\ndocker compose exec backend python manage.py migrate\ndocker compose exec backend python manage.py collectstatic\nsudo docker compose exec backend cp -r /app/collected_static/. /app/backend_static/static/\ndocker compose exec backend python manage.py createsuperuser\n```\n- Наполните базу данных ингредиентами и тегами\n```bash\ndocker compose exec backend python manage.py import\n```\n\n### Суперпользователь:\nЛогин: ```admin``` \n\nEmail: ```admin@admin.xx```  \nПароль: ```1234``` \n\n### Тестовые пользователи:\nЛогин: ```user3new```  \nEmail: ```user3@user.xx```  \nПароль: ```user3123456```\n\n--------------------------\nЛогин: ```user7new```  \nEmail: ```user7@user.xx```  \nПароль: ```user7123456```\n\n--------------------------\nЛогин: ```user9new```  \nEmail: ```user9@user.xx```  \nПароль: ```user9123456```\n\n## Ссылки\n### Документация API проекта:\nhttp://recipebook.hopto.org/api/docs/redoc.html\n\n### Развёрнутый проект:\nhttp://recipebook.hopto.org\n\nhttp://recipebook.hopto.org/admin/\n\n(временно приостановлено, переезжаем)\n\n### Автор бэкенда и деплой\n[AnnaMihailovna](https://github.com/AnnaMihailovna/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fannamihailovna%2Frecipebook-project-react","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fannamihailovna%2Frecipebook-project-react","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fannamihailovna%2Frecipebook-project-react/lists"}