{"id":20880293,"url":"https://github.com/26remph/api_final_yatube","last_synced_at":"2026-04-17T04:02:24.658Z","repository":{"id":119176752,"uuid":"492715206","full_name":"26remph/api_final_yatube","owner":"26remph","description":"REST API для проекта 'социальная сеть Yatube', git: https://github.com/26remph/hw05_final","archived":false,"fork":false,"pushed_at":"2022-05-19T17:51:27.000Z","size":55,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-31T21:16:15.369Z","etag":null,"topics":["django-rest-framework","pillow","rest-api"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/26remph.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-05-16T06:47:58.000Z","updated_at":"2022-08-24T09:39:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"bcd4fca1-2b67-49d9-87a4-c404ca580cb2","html_url":"https://github.com/26remph/api_final_yatube","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/26remph/api_final_yatube","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/26remph%2Fapi_final_yatube","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/26remph%2Fapi_final_yatube/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/26remph%2Fapi_final_yatube/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/26remph%2Fapi_final_yatube/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/26remph","download_url":"https://codeload.github.com/26remph/api_final_yatube/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/26remph%2Fapi_final_yatube/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31914458,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["django-rest-framework","pillow","rest-api"],"created_at":"2024-11-18T07:19:48.550Z","updated_at":"2026-04-17T04:02:24.628Z","avatar_url":"https://github.com/26remph.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](./yatube_api/static/header.png)\n\nФинальная версия API, в которой применены все знания теоретической части по теме\ndjango-rest-framework. [Yatube](http://vidim.pythonanywhere.com/) - это социальная сеть для публикации своих постов. Поддерживает разные тематические группы. Авторство и подписки.  \n___\n![DjangoREST](https://img.shields.io/badge/DJANGO-REST-ff1709?style=for-the-badge\u0026logo=django\u0026logoColor=white\u0026color=ff1709\u0026labelColor=gray)\n![Django](https://img.shields.io/badge/django-%23092E20.svg?style=for-the-badge\u0026logo=django\u0026logoColor=white)\n![SQLite](https://img.shields.io/badge/sqlite-%2307405e.svg?style=for-the-badge\u0026logo=sqlite\u0026logoColor=white)\n\n![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/26remph/api_final_yatube)\n![GitHub repo size](https://img.shields.io/github/repo-size/26remph/api_final_yatube)\n![GitHub](https://img.shields.io/github/license/26remph/api_final_yatube)\n![pythonversion](https://img.shields.io/badge/python-%3E%3D3.7-blue)\n\n## Оглавление\n0. [Как запустить проект](#как-запустить-проект)\n1. [Создание пользователей](#cоздание-пользователей)\n2. [Документация по api для yatoube](#документация-по-api)\n3. [Поиск в базе данных](#поиск-в-базе-данных)\n4. [Демонстрационная версия API](#Демонстрационная-версия-API)\n5. [Об авторе](#об-авторе)\n6. [Контрольная сумма репозитария](#контрольная-сумма-проекта)\n\n### Как запустить проект  \n- клонировать репозиторий и перейти в него в командной строке:  \n```\ngit clone https://github.com/yandex-praktikum/kittygram.git\ncd kittygram\n```  \n\n\n- создать и активировать виртуальное окружение:  \n```md\npython3 -m venv env\nsource env/bin/activate\n```\n- установить зависимости из файла requirements.txt:  \n```\npython3 -m pip install --upgrade pip\npip install -r requirements.txt\n```\n- выполнить миграции:\n```\npython3 manage.py migrate\n```  \n- запустить проект:\n```\npython3 manage.py runserver\n```\n\n### Создание пользователей\nСоздание пользователей через API не предусмотрено. Работа с API доступна, только авторизированным пользователям через JSON WEB Token (JWT). Как получить и установить токен [читайте ниже](#авторизация-API-пользователей). \n\nДля создания пользователей имеющих доступ к API вам необходимо созадать суперпоьзователя и войти под ним в админ панель.\nДля создания суперпользователя вызовите следующую команду из той же папки, где расположен **manage.py**. Вас попросят ввести имя пользователя, адрес электронной почты и надёжный пароль. \n```md\npython3 manage.py createsuperuser \n```\nДля входа в админ-панель откройте ссылку /admin (например  http://127.0.0.1:8000/admin) и введите логин и пароль вашего нового суперпользователя  (вас перенаправят на login-страницу и потом обратно на /admin после ввода всех деталей).  \n[[подробнее]](https://developer.mozilla.org/ru/docs/Learn/Server-side/Django/Admin_site)\n\n###Авторизация API пользователей. \nПосле регистрации пользователей вам и каждомму из зарегистрированных пользователей будут дступны два эндпоинта для создания токенов авторизации.\n\n| Эндпоинт                                      | Описание                  |\n|-----------------------------------------------|---------------------------|\n| http://127.0.0.1:8000/api/v1/jwt/create/      | Получение JWT-токена      |\n| http://127.0.0.1:8000/api/v1/jwt/refresh/     | Обновление JWT-токена.    |\n| http://127.0.0.1:8000/api/v1/jwt/verify/      | Проверка JWT-токена       |\n\nДля получения токена отправьте POST запрос с данными в формате JSON следующего вида. \n```json\n{\n  \"username\": \"string\",\n  \"password\": \"string\"\n}\n```\nВ ответ придет json ответ:\n```json\n{\n    \"refresh\": \"string\",\n    \"access\": \"string\"\n}\n```\nДля доступа к апи используйте токен из поля `access`, тип авторизации при запросах: Bearer Token.\nДанные эндпоинты доступны без авторизации, остальные энпоинты доступны в большинстве своем, только авторизированным пользователям. Полный перечень эндпоинтов, их подробное описание представлено в [документации к API](#документация-по-API)\n\n### Документация по API\n\nКогда вы запустите проект, по адресу http://127.0.0.1:8000/redoc/ будет доступна документация для **API Yatube**.  \nДокументация представлена в формате [Redoc](https://github.com/Redocly/redoc).\n\n### Поиск в базе данных\nПо умолчанию к проекту подключена база данны sqlite\nи встроенный бэкенд `SearchFilter`. Встроенные фильтрующие бэкенды импортируются из библиотеки `filters`.   \n[[подробнее]](https://www.django-rest-framework.org/api-guide/filtering/#searchfilter) \n\nЭто накладывает определенные ограничения.\n- поиск можно вести только по текстовым полям\n- при использовании базы данных sqlite поиск нечувствителен к регистру только при запросах на латинице  \n\nМожно искать по нескольким совпадениям: в запросе их надо разделить запятыми, без пробелов.\nНапример, при запросе http://127.0.0.1:8000/posts/?search=Сн,ок в выдачу попадут только те посты, где в тексе есть одновременно все совпадения, например — «Снежок».\n\nПоиск можно производить с использованием [регулярных выражений](https://regex101.com/), что существенно облегчает задачу и повышает гибкость текстового поиска.\n\n### Демонстрационная версия API\nДля тестирования API развернута демонстрационная база [проекта Yatube](http://vidim.pythonanywhere.com/).\nНеобходимо пройти регистрацию на сайте, после чего получить токен, перейти в раздел документации\nhttp://vidim.pythonanywhere.com/redoc и провести тестирование. На сайте доступен интерактивный режим, то есть все запросы к API можно выполнить к демонстрационной демо базе прямо из документации. \n\nP.S. На данный момент времени 18 Мая 2022 года, доступна только основная демонстарционная база, API проекта подключится не позднее 30 Мая 2022 года. Приносим свои извинения. \n\n### Об авторе\nВадим Барсуков,  \nстудент 33 когорты,  \nЯндекс Практикум  \n:e-mail: v.bars@vidim.ru\n\n### Контрольная сумма репозитария\n`SHA-1: ab09e0fb0ed739ce2a5d5c28eb49db1b2834dbcf`\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n___\n\u003cp\u003e\n    \u003cimg align=\"center\" src=\"./yatube_api/static/fav.svg\" title=\"home page\"/\u003e\n    \u003cspan\u003e© 2022, Vidim, Inc., temet nosce ツ \u003c/span\u003e\n\u003c/p\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F26remph%2Fapi_final_yatube","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F26remph%2Fapi_final_yatube","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F26remph%2Fapi_final_yatube/lists"}