E-Commerce

ORTHOSTOREмагазин ортодонтичних матеріалів

Магазин для ортодонтів: брекети, інструменти, мікроімпланти

Інтернет-магазин ортодонтичних матеріалів: вітрина, адмінка з аналітикою продажів і API на NestJS окремими застосунками.

ORTHOSTORE — магазин ортодонтичних матеріалів
Задача

Постачальнику потрібен повноцінний магазин і внутрішня панель для складу й замовлень — так, щоб оновлення вітрини не зупиняло адмінку.

Результат

Вітрина на Next.js із каталогом, кошиком і статусами замовлень, адмінка з графіками продажів і бекенд на NestJS з авторизацією, документацією API й лімітами запитів.

Ключові функції

  • Каталог за категоріями
  • Кошик і оформлення
  • Статуси замовлень
  • Кабінети клієнтів
  • Адмінка з графіками продажів
  • Авторизація JWT
  • Документація API

Як це побудовано

Інтернет-магазин ортодонтичних матеріалів: вітрина на Next.js, адмінка з аналітикою продажів і API на NestJS, зроблені для професійного покупця, який точно знає, що йому треба. Ось рішення, які його сформували.

3
Застосунки, один API
4
Статуси замовлення
OTP
Вхід без пароля
UAH
Баланс кешбеку

Каталог для тих, хто знає артикул

Покупець тут — лікар-ортодонт, а не випадковий відвідувач. Категорії й підкатегорії несуть виробника й країну походження, бо практика купує конкретний брекет конкретного виробника, і схоже — це не заміна.

Тому каталог побудований навколо цих осей, а не навколо вітринного мерчандайзингу, а пошук існує, щоб підтвердити вже зроблений вибір.

Вхід за кодом, а не за паролем

Клієнти входять одноразовим кодом із SMS або пошти, з опцією пароля для тих, хто його хоче. У клініці закуповує той, хто сьогодні за стійкою; спільний пароль за тиждень опинився б на папірці біля монітора.

Відправник SMS схований за інтерфейсом із реалізаціями для консолі, HTTP-провайдера й Twilio, тож у розробці працює той самий код, не витрачаючи грошей на повідомлення.

Чотири стани — і це навмисно

Замовлення буває новим, в обробці, виконаним або скасованим. Магазин такого розміру ведуть люди, які й так знають клієнта; вісім станів дали б панель, повну рядків, які ніхто не рухає.

Кешбек нараховується, коли замовлення стає виконаним, і змінюється атомарно в записі клієнта, тож баланс не поїде, якщо два замовлення закриються одночасно.

Знижки, які витримують реальність

Знижки бувають у відсотках або фіксовані, а промокоди — окрема сутність зі своїми правилами, бо сезонна акція й домовлена ціна для постійної клініки — різні речі, що закінчуються в різний час.

Тримати їх окремо означає, що завершення акції ніколи не зачепить умов, які пообіцяли давньому клієнту.

Адмінка, яка відповідає на питання

Бекофіс — окремий React-застосунок із графіками продажів, тож власник бачить, що рухається, нічого не вивантажуючи. API описане у Swagger, під рейт-лімітом і з розділеною автентифікацією клієнта та адміністратора, тож зламана клієнтська сесія не дістане даних самого магазину.

Результат

Робочий магазин для професійного ринку — каталог, кошик, замовлення, кешбек і промокоди, з адмінкою, яку власник веде сам, і документованим API під усім цим.

Наступний проєкт
Web

RentaLviv

Команда сама керує автопарком, цінами й порядком машин

Дивитися кейс
RentaLviv — сервіс оренди авто

Хочете щось подібне?

Розкажіть про ваш проєкт і ми створимо його з такою ж увагою до деталей.

Почати проєкт →