Coder Social home page Coder Social logo

api_final_yatube's Introduction

Проект «API для Yatube»

Yatube - проект социальной сети. «API для Yatube» расширяет возможности социальной сети. Новый функционал позволяет пользователям публиковать свои посты и управлять подписками через программный интерфейс взаимодействия.

Реализованы возможности

  • Получение, создание, обновление, удаление публикаций.
  • Получение, создание, обновление, удаление комментариев к публикациям.
  • Просмотр сообществ и детальной информации о них.
  • Отслеживание подписок на авторов, а так же возможность подписки на интересующего автора поста.
  • Получение, обновление и проверка JWT авторизации.

Технологии

  • Python
  • Django
  • Django REST Framework
  • Simple JWT

Как запустить проект:

  • Клонируйте репозитроий с проектом:
git clone [email protected]:Fedor-new-Hope/api_final_yatube.git
  • Установить виртуальное окружение для проекта:
python -m venv venv

source venv/Scripts/activate

pip install -r requirements.txt
  • Выполните миграции:
python manage.py migrate
  • Запустите сервер:
python manage.py runserver

Примеры запросов:

POST-запрос с токеном, добавление новой публикации в коллекцию публикаций.

POST http://localhost:port/api/v1/posts/

{
  "text": "Однажды в студеную зимнюю пору, я из лесу вышел, был сильный мороз!",
  "group": 1
}

Ответ:

{
    "id": 9,
    "author": "root",
    "text": "Однажды в студеную зимнююю пору, я из лесу вышел, был сильный мороз!",
    "pub_date": "2021-09-22T02:37:44.494905Z",
    "image": null,
    "group": 1
}

GET-запрос, получение информации о сообществе по id=2.

GET http://localhost:port/api/v1/groups/2/

Ответ:

{
    "id": 2,
    "title": "group2",
    "slug": "group2",
    "description": "group2"
}

POST-запрос, подписка авторизованного пользователя user=root от имени которого сделан запрос на автора интересующей публикации following=admin.

POST http://localhost:port/api/v1/follow/

{
  "following": "admin"
}

Ответ:

{
    "id": 6,
    "user": "root",
    "following": "admin"
}

api_final_yatube's People

Contributors

fedor-new-hope avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.