Байсангур Исраилов baysangyrm
Рейтинг
71
№ 50 005 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Город
Астана
На сайте с
2023 года

Сеть криптообменников на поддоменом уровне

Используемые навыки CSS3 FastAPI HTML5 Jinja2 Python

Описание

Клиенту требовался веб-сервис для автоматизации обмена валют и цифровых активов с возможностью работы по разным поддоменам (например, usd.site.kz, eur.site.kz) — для отдельных направлений обмена.
Основные задачи:

Реализовать быстрый и безопасный backend с REST API;

Сделать адаптивный frontend с серверным рендерингом (Jinja2);

Настроить маршрутизацию на уровне поддоменов, чтобы каждая “точка обмена” имела собственный интерфейс и настройки;

Обеспечить простую админ-панель для управления курсами, пользователями и логами операций;

Собирать метрики (логирование, статистику заявок) и предусмотреть масштабирование через Docker.

⚙️ Решение

Для backend использовал FastAPI — за счёт асинхронности и удобной интеграции с PostgreSQL через SQLAlchemy.
Интерфейс реализован на Jinja2, что позволило формировать динамические HTML-шаблоны без тяжёлого SPA.
Архитектура — модульная, с разделением на core, api и templates.

🔧 Основные технические решения:

PostgreSQL + Alembic для миграций;

Docker Compose для быстрой сборки (backend, db, nginx);

Работа с поддоменами через Nginx server blocks и динамический роутинг в FastAPI (request.url.hostname → выбор конфигурации обмена);

Авторизация через JWT;

Настроено логирование и уведомления в Telegram при сбоях или новых заявках;

Добавлены шаблоны страниц: “Главная”, “Курс обмена”, “Контакты”, “Оформить заявку”;

Админ-панель для ручного изменения курсов и просмотра истории операций.

🚀 Результат

Получился полноценный обменный сервис, который:

Работает под несколькими поддоменами для разных валютных направлений;

Имеет быстрый отклик (в среднем <50мс на запрос);

Масштабируется через Docker без изменения кода;

Позволяет владельцу управлять курсами и отслеживать заявки в реальном времени.

После запуска сервис обслуживает до 500+ активных заявок в сутки, и благодаря SEO-оптимизации Jinja-шаблонов страницы быстро индексируются в Яндексе и Google.

Оценили проект: