BackForge — платформа подготовки к backend-собеседованиям (в разработке)
Backend-разработчик
Разработка масштабируемой системы для обучения с использованием Go и PostgreSQL.
Ключевые достижения:
- Спроектировал и реализовал сервисную архитектуру на основе принципов Clean Architecture (domain, service, transport/http). Обеспечил слабую связность компонентов и независимое масштабирование бизнес-модулей (Analytics, Auth, Progress, Questions).
- Разработал кастомный Transaction Manager (Transactor) в слое pkg, позволяющий прозрачно управлять атомарными операциями на уровне бизнес-логики без привязки к конкретной реализации БД.
- Спроектировал систему аутентификации на базе JWT с механизмом ротации Refresh-токенов и сессионным хранилищем в PostgreSQL. Внедрил защищенную схему хранения (Memory AccessToken + HttpOnly Cookie) и реализовал Middleware для RBAC и Rate Limiting (алгоритм Token Bucket).
- Реализовал эффективный слой доступа к данным с использованием паттерна Repository и pgx/v5. Оптимизировал сложные SQL-запросы (Join-ы, агрегация прогресса пользователей) и настроил миграционную политику.
- Покрыл систему многоуровневым тестированием: Unit-тесты с генерацией моков для интерфейсов и интеграционные тесты для репозиториев (test/integration) с использованием реальных контейнеров БД.
- Документировал API с использованием Swagger (OpenAPI 3.0). Интегрировал структурированное логирование (Uber Zap) и настроил конфигурационный слой (YAML/Viper) с поддержкой различных окружений.
Стек: Go, Chi, PostgreSQL (pgx), Redis, Docker, Swagger, Zap, Testify, Mockery.