Наш собствен продукт · Онлайн пазар
UniMarket, онлайн пазар, създаден за Бангладеш.
Много продавачи, една количка. Купувачите плащат при доставка, следят пратката на всеки магазин и получават имейл на всяка стъпка. Продавачите водят собствения си магазин от Seller Center, а екипът управлява целия пазар от административен панел. Работи на бенгалски и английски, инсталира се като приложение и върви на наш собствен сървър.
На живо в ранен достъп на unimarket.22softwares.com, с демонстрационен каталог. Планира се домейн unimarket.bd.
- Web
- Installable app (PWA)
- বাংলা · English
- Light & dark
- езика, бенгалски и английски, на отделни адреси
- 2
- категории – от мода до дигитални изтегляния
- 34
- теми за магазин, между които продавачите могат да избират
- 10
- стъпки на поръчката, с имейл на всяка: приета, потвърдена, опакована, изпратена, доставена
- 5
Пазарът на живо
Снимки на екрана на публичния магазин, направени от работещия сайт. Каталогът е с демонстрационни данни, докато пазарът е в ранен достъп.

Начална страница, английски 
Начална страница, бенгалски 
Страница на категория 
Продукт с мълниеносна промоция 
Страница на магазин 
Наръчник за купувача

Началната на телефон 
Началната на телефон, бенгалски 
Всички оферти на телефон
Какво получават купувачите, продавачите и екипът
Една количка, много магазини
Купувачът плаща веднъж. Поръчката се разделя на по една пратка за всеки магазин – със собствена такса за доставка и собствен статус. Гостите могат да поръчват без профил, а плащането при доставка е стандартният начин.
Проследяване без вход
Всяка поръчка има номер (UNI-3001 и нагоре). Всеки, който има номера и последните четири цифри на телефона, може да види къде е тя, а купувачът получава имейл при всяка промяна на статуса на пратка.
Seller Center за всеки магазин
Продавачите публикуват продукти, услуги и дигитални изтегляния, обработват поръчките от потвърждаване до изпращане, отпечатват фактури и етикети, виждат приходите си и ги теглят, и оформят страницата на магазина си с 10 теми и конструктор на страници от блокове.
Вградени инструменти за растеж
Мълниеносни промоции и кампании, към които продавачите могат да се присъединят, ваучери на платформата и на магазини, спонсорирани продукти с плащане на клик от портфейл, бюлетин, известия и печатни QR флаери за всеки магазин.
Административен панел, който управлява пазара
Поръчки, заявления на продавачи и проверки на самоличност, преглед на продукти, изплащания, кампании, началната страница и банерите, статистика за посетителите и плащанията (включително изоставени), роли на персонала с двустепенен вход и дневник на одита.
Инсталира се и е бърз на бавни телефони
Инсталира се от браузъра като приложение, има долна лента с раздели на телефоните, работи при бавни връзки и може да праща новини за поръчките като известия.
Една кодова база, четири повърхности
Магазинът, Seller Center, административният панел и приложението за инсталиране работят от един TypeScript проект на наш собствен сървър.
Витрина
Страници, изобразявани на сървъра, с много малко клиентски JavaScript, отделен адрес за всеки език с hreflang, структурирани данни, карти на сайта и продуктов фийд за Google Merchant.
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS 4
Seller Center и администрация
Два свята на вход в една кодова база: продавачите виждат само собствените си поръчки и продукти, а персоналът влиза с парола и код от автентикатор и получава точно правата на своята роля.
- Server actions
- Zod
- TOTP
- Audit log
Данни
MongoDB със собствена инстанция, включена автентикация и потребител на приложението с минимални права. Парите се пазят в цели пойши, никога като десетични числа, а поръчките резервират наличностите атомарно.
- MongoDB
- Mongoose
- sharp
Вход и съобщения
Купувачите влизат с еднократен код по имейл или телефон или с Google или Apple. Имейлите за поръчките са подписани с DKIM от наш собствен пощенски сървър, а известията минават през Firebase Cloud Messaging.
- Firebase Auth
- FCM
- Postfix
- OpenDKIM
Операции
Поддържаме го сами
Собствена база данни, собствени резервни копия, собствена пощенска настройка и внедряване с една команда с връщане назад с една команда.
- Хоствано на наш собствен VPS зад Cloudflare, със сертификат от Let’s Encrypt и nginx пред приложението.
- Собствена услуга MongoDB, свързана само към самия сървър, с включена автентикация, с резервно копие всяка нощ и съхранение за 14 дни.
- Ограничения на честотата при входа и в API на ниво уеб сървър, плюс ограничения за потребител в приложението.
- Имейлите за поръчките минават проверките SPF, DKIM и DMARC и стигат до входящата поща, а не до спама.
- Внедряване с една команда, което изгражда на сървъра, превключва и проверява състоянието, и връщане към предишното издание с една команда.
Трудни проблеми, които решихме
Частите, които купувачите никога не виждат.
Бързи страници на бенгалски
- Проблемът
- Уеб шрифтът за бенгалски е голям. Измерихме един на около 200 KB още в първия вариант на дизайна.
- Какво направихме
- Ползваме шрифта за бенгалски, който вече е на телефона или компютъра, и малък собствен шрифт само за латински букви и цифри.
Резултат В нашия тест уеб шрифтът струваше над десет точки от оценката за производителност на Lighthouse на мобилно, а системният не струва нищо.
Едно плащане, няколко продавача
- Проблемът
- Количката може да съдържа артикули от няколко магазина, всеки със собствена наличност, такса за доставка и статус, а двойно докосване не бива да създава две поръчки.
- Какво направихме
- Плащането преизчислява всички цени от базата данни, резервира наличностите атомарно, разделя поръчката на по една пратка за магазин и игнорира повторно изпращане.
Резултат Всеки продавач вижда само своята пратка, купувачът вижда една поръчка с времева линия за всеки магазин, а отказът връща наличностите.
Обновявания, без да се чупят отворените раздели
- Проблемът
- След внедряване купувач, оставил раздел отворен, може да натисне бутон от старата версия и да види грешка.
- Какво направихме
- Всяко издание носи собствен идентификатор на внедряването, а страницата сама се презарежда, когато забележи, че действията ѝ са от издание, което вече го няма.
Резултат Можем да внедряваме през деня, без никой да види счупен бутон.
Тестван като продукт, не като демо
- Lighthouse в нашата локална продукционна сборка: Accessibility, Best Practices и SEO на 100 на всяка тествана страница, Performance от 93 до 98 на мобилно.
- Преглед на сигурността на цялото приложение, като първо са поправени находките за превземане на профили, а после тези със средна тежест.
- Реални потоци за поръчка, отказ и проследяване, тествани от край до край на работещия сайт, включително имейлите, които изпраща всяка стъпка.
- Проверки на типовете и модулни тестове за валидиране на телефони и работа с пари, както и сборка, която се проваля, когато липсва низ на бенгалски.
Технологии
- Next.js
- React
- TypeScript
- Tailwind CSS
- MongoDB
- Firebase
- nginx
- Postfix
- Cloudflare
Искате онлайн пазар, изграден по този начин?
Проектираме, изграждаме и поддържаме магазини с много продавачи от край до край: витрина, инструменти за продавачи, администрация, плащания, доставка, имейл и хостинг.