Untone 1c6678d55d
Some checks failed
Deploy on push / deploy (push) Failing after 10s
minorfix
2024-10-31 14:14:54 +03:00
2024-08-07 12:57:01 +03:00
2023-07-05 16:08:17 +02:00
fmt
2024-10-24 00:01:09 +03:00
2024-10-21 20:19:52 +03:00
2024-10-31 14:14:54 +03:00
2024-10-23 11:22:07 +03:00
2024-10-23 11:29:44 +03:00
2024-10-14 02:05:20 +03:00
2024-02-19 16:29:05 +03:00
2024-10-15 10:07:44 +03:00
2024-06-04 09:10:52 +03:00
2024-02-21 23:12:47 +03:00
2024-10-23 11:22:07 +03:00
312
2024-10-13 00:49:06 +03:00
2024-10-21 20:21:31 +03:00
2024-10-15 19:52:12 +03:00
2024-10-14 19:06:30 +03:00
2024-08-12 11:00:01 +03:00
2024-10-14 02:05:20 +03:00

Техстек

  • sqlalchemy
  • redis
  • ariadne
  • starlette
  • granian

Локальная разработка

Запустите API-сервер с ключом dev:

mkdir .venv
python3.12 -m venv .venv
poetry env use .venv/bin/python3.12
poetry update
poetry run server.py dev

Полезные команды

poetry run ruff check . --fix --select I # линтер и сортировка импортов
poetry run ruff format . --line-length=120 # форматирование кода

Подключенные сервисы

Для межсерверной коммуникации используются отдельные логики, папка services/* содержит адаптеры для использования базы данных, redis, кеширование и клиенты для запросов GraphQL.

auth.py

Задайте переменную окружения WEBHOOK_SECRET чтобы принимать запросы по адресу /new-author от сервера авторизации. Событие ожидается при создании нового пользователя. Для авторизованных запросов и мутаций фронтенд добавляет к запросу токен авторизации в заголовок Authorization.

viewed.py

Задайте переменные окружения GOOGLE_KEYFILE_PATH и GOOGLE_PROPERTY_ID для получения данных из Google Analytics.

search.py

Позволяет получать результаты пользовательских поисковых запросов в кешируемом виде от ElasticSearch с оценкой score, объединенные с запросами к базе данных, запрашиваем через GraphQL API load_shouts_search. Требует установка ELASTIC_HOST, ELASTIC_PORT, ELASTIC_USER и ELASTIC_PASSWORD.

notify.py

Отправка уведомлений по Redis PubSub каналам, согласно структуре данных, за которую отвечает сервис уведомлений

unread.py

Счетчик непрочитанных сообщений получается через Redis-запрос к данным сервиса сообщений.

Description
ядро платформы
Readme MIT 12 MiB
Languages
Python 74.6%
TypeScript 19.2%
CSS 6.1%