Проект "SnapJournal" - это уникальная платформа для ведения личных микроблогов и журналов. Основанный на мощном фреймворке Django-rest-framework, "SnapJournal" предоставляет REST API backend сервис, который позволяет пользователям создавать и управлять своими текстовыми и визуальными записями. "SnapJournal" разработан с акцентом на интуитивном интерфейсе и легкости в использовании, а также предоставляет возможность добавлять как текстовые, так и мультимедийные записи. Это идеальное решение для тех, кто ищет место, где можно свободно и креативно делиться своими мыслями и идеями.
SnapJournal(api) - это REST API сервис, который расширяет функциональность платформы SnapJournal, позволяя пользователям создавать и управлять своим контентом, отправляя CRUD запросы в формате JSON и таким образом взаимодействуя с базой данных "SnapJournal." Это предоставляет пользователям мощный инструмент для управления их контентом в системе.
-
🔐 Авторизация и безопасность: В проекте реализована надежная система аутентификации на основе JWT токенов, обеспечивая безопасное взаимодействие пользователей с платформой.
-
📖 Документация: API проекта снабжен документацией в формате OpenAPI, что делает его легким в использовании и понимании.
-
🔒 Защита данных: Для обеспечения целостности и безопасности данных, проект использует сериализаторы, которые фильтруют и проверяют информацию, предотвращая внесение некорректных данных в систему. Для хранения данных используется SQLite база данных, а использование Django ORM обеспечивает дополнительную безопасность от SQL инъекций.
-
🛠️ Функциональность API: Аутентифицированным пользователям разрешено добавление постов и комментариев, а также изменение и удаление своего контента; в остальных случаях доступ предоставляется только для чтения. Эндпоинт
/follow/
доступен только для аутентифицированных пользователей.
Этот проект, "SnapJournal(api)," обеспечивает мощное и безопасное API для управления данными и взаимодействия с контентом пользователей и является важной частью платформы "SnapJournal."
Для начала, клонируйте проект "SnapJournal-api" с помощью следующей команды:
git clone https://github.com/kluevevga/SnapJournal-api.git
Далее создайте виртуальное окружение:
python3 -m venv venv
Активируйте виртуальное окружение в зависимости от вашей операционной системы:
🪟 Windows (PowerShell):
venv\Scripts\Activate
🪟 Windows (Git Bash):
source venv/Scripts/activate
🐧 Linux (Bash):
source venv/bin/activate
Установите необходимые зависимости из файла requirements.txt
:
pip3 install -r requirements.txt
Перейдите в папку с проектом:
cd SnapJournal-api/
Выполните миграции:
python3 manage.py migrate
Запустите сервер:
py manage.py runserver
Здесь представлены диаграммы эндпоинтов для API проекта "SnapJournal-api":
Общий вид
graph TD;
api/v1/ --> posts/;
api/v1/ --> groups/;
api/v1/ --> follow/;
Эндпоинт posts/
graph TD;
posts/ --> GET-POST;
posts/ -->id/;
id/ --> GET-PUT-PATCH-DELETE;
Эндпоинт post -> comments/
graph TD;
api/v1/posts/ --> post_id/;
post_id/ --> comments/;
comments/ --> GET-POST
comments/ --> id/
id/ --> GET-PUT-PATCH-DELETE;
Эндпоинт groups/
graph TD;
groups/ --> GET;
groups/ --> id/;
id/ --> /(GET);
Эндпоинт follow/
graph TD;
follow/ --> GET;
follow/ --> POST;
Этот проект распространяется под лицензией MIT
. Дополнительную информацию можно найти
в LICENSE.