Проєкт: OLX NextGen — модернізація платформи OLX.ua Версія: 1.0 Дата: 30 січня 2026 Цільова аудиторія: Backend-розробники, Tech Lead, Solution Architect, DevOps
Цей документ описує технічну архітектуру backend-рішення OLX NextGen, реалізовану на ASP.NET Core з використанням принципів Clean Architecture.
Цілі:
- забезпечити масштабованість, тестованість і підтримуваність системи;
- мінімізувати зв’язність між бізнес-логікою та інфраструктурою;
- створити єдине архітектурне бачення для команди.
Основні правила:
- бізнес-логіка не залежить від фреймворків;
- залежності спрямовані всередину;
- UI, БД, зовнішні сервіси — змінні деталі.
- SOLID
- CQRS (де доцільно)
- Domain-Driven Design (DDD-lite)
- Dependency Injection
- API First
[ Client (Web / PWA) ]
|
v
[ API Gateway / Load Balancer ]
|
v
[ ASP.NET Core Web API ]
|
-----------------------
| Application Layer |
| Domain Layer |
-----------------------
|
[ Infrastructure Layer ]
|
[ PostgreSQL | Redis | Elasticsearch ]
Відповідальність:
- бізнес-правила;
- доменні моделі;
- інваріанти.
Містить:
- Entities (User, Ad, Payment, Subscription);
- Value Objects (Money, Email);
- Domain Events (AdPublishedEvent);
- Interfaces (Repository contracts).
Не містить:
- EF Core;
- HTTP;
- логування;
- зовнішні сервіси.
Відповідальність:
- use cases;
- orchestration бізнес-логіки.
Містить:
- Commands / Queries (CQRS);
- Handlers;
- DTOs;
- Interfaces сервісів;
- Validation (FluentValidation).
Приклад use case:
- CreateAdCommand
- PurchasePremiumFeatureCommand
Відповідальність:
- реалізація інтерфейсів;
- інтеграції.
Містить:
- EF Core repositories;
- PostgreSQL;
- Redis cache;
- Elasticsearch client;
- платіжні провайдери (LiqPay, Fondy);
- ML Recommendation API client;
- Email / SMS провайдери.
Відповідальність:
- HTTP API;
- аутентифікація;
- авторизація;
- версіонування API.
Містить:
- Controllers;
- Middleware;
- Filters;
- Swagger / OpenAPI.
/OLX.NextGen.sln
├── OLX.Domain
├── OLX.Application
├── OLX.Infrastructure
├── OLX.API
└── OLX.Tests
- JWT + Refresh Tokens
- OAuth2 (Google / Facebook)
- Role-based access control (RBAC)
- Policy-based authorization
- Захист від OWASP Top 10
- PostgreSQL
- EF Core (Code First)
- Міграції
- Redis
- Cache-aside pattern
- Elasticsearch
- Асинхронна індексація
- Окремий Recommendation Service
- HTTP / gRPC API
- Feature flags
- Fallback без ML
- Stateless API
- Horizontal scaling
- Kubernetes (HPA)
- Circuit Breaker (Polly)
- Rate limiting
- Structured logging (Serilog)
- Distributed tracing (OpenTelemetry)
- Metrics (Prometheus)
- Alerts (Grafana)
- GitHub Actions / Azure DevOps
- Docker
- Kubernetes
- Blue-Green / Canary deployments
- Unit tests (xUnit)
- Integration tests (TestContainers)
- Contract tests
- Load tests (k6)
| Ризик | Мітігація |
|---|---|
| Зростання навантаження | Autoscaling |
| Залежність від ML | Fallback |
| Платежі | Idempotency |
- Винесення критичних модулів у мікросервіси
- Event-driven архітектура
- Saga pattern для платежів
Документ є базовим архітектурним орієнтиром і оновлюється разом із розвитком системи.