За HTTP отвечает Hyper, а удобный роутинг и middleware-слой даёт Screw. Каждый эндпоинт — это асинхронная функция, принимающая собственный тип запроса и возвращающая Result с типизированными ошибками.
За хранение отвечает PostgreSQL, а в качестве ORM используется Rbatis. Я предпочитаю писать SQL руками, поэтому большинство запросов оформлены через макрос py_sql или сырыми query — это даёт полный контроль над JOIN и индексами.
Миграции применяются при старте сервера. Базовая схема живёт в одном SQL-файле и оборачивается в DO-блоки с проверками IF NOT EXISTS, чтобы повторный запуск был безопасным. Дополнительные шаги — например, перенос данных или сидирование — оформляются как отдельные .rs модули и записывают свой ключ в таблицу migration.
События публикации, комментариев и подписок проходят через RabbitMQ. Это позволяет отправлять уведомления в Telegram и Discord асинхронно, не блокируя основной запрос.