SberMegaMarket – 5 million products, 8 thousand sellers. At this scale, minor architectural flaws turn into real pain.
We joined as Go developers, mostly working on tasks for the SEO and advertising departments.
Reviews system.
We didn't just build a comment board – we built an engine with validation. A user writes a review, and the system checks: was it a real purchase? Is the content unique? Does it meet the "helpfulness" criteria? If yes – bonus rubles are credited. Everything is tied to Elasticsearch.
Photo gallery in reviews.
Previously, media was scattered. To see photos of a specific product, you had to dig through all the reviews. We aggregated everything into a single stream and created a unified access point.
Seller dashboard.
Vendors and brand representatives asked for the ability to respond to reviews – it didn't exist. We designed an account with this capability.
Advertising services.
Two of them: a campaign generator for Yandex.Direct and Google Ads, and an XML feed generator (products, prices, categories). Everything connects to external systems via API.
Brand aliases.
A brand can have a dozen spelling variations – Latin, Cyrillic, uppercase, lowercase. Previously, these sat statically in the database with no way to edit them. We built full CRUD – create, read, update, delete.
Stack.
Go (primary language), Elasticsearch (for reviews), Postgres, MS SQL, Redis, Vue.js, Gin, Go kit.
This isn't magic – just solid engineering. When the load is high, small things matter. We know how to handle that.
More technical details in the case study. 👉 Link in the post.
Post #723
188

- ❤ 5
- 🔥 4
- 👍 1