← Все проекты
CASE STUDY / CLIENT WORK
КЛИЕНТСКИЙ ПРОЕКТ

Paw Art Studio

Веб-сайт студии дизайна с личными кабинетами, заказами, внутренними инструментами и серверной логикой. Проект выполнялся на заказ; это не мой собственный продукт.

Node.jsExpressSQLiteSocket.IOJWTVanilla JS
01 / CONTEXT

Задача проекта

Создать рабочую веб-платформу для дизайн-студии: представить услуги, принимать обращения и поддерживать взаимодействие между клиентами, исполнителями и администрацией.

В проекте сочетаются публичные страницы, авторизация, данные заказов, административные инструменты и коммуникационные сценарии.

02 / MY ROLE

Моя роль

Клиентская веб-разработка и развитие функциональности сайта. Работа с интерфейсом, серверной частью, хранением данных и интеграциями в рамках требований проекта.

Конкретный объём задач менялся по ходу работы. Описание не приписывает мне владение студией или бизнес-результаты заказчика.

03 / IMPLEMENTED SYSTEMS

Ключевые части платформы

Аккаунты и доступ

Регистрация, подтверждение email, JWT-сессии и хеширование паролей с bcrypt.

Заказы и кабинеты

Рабочие сценарии для клиентов, исполнителей и административной стороны.

Финансовые функции

Кошелёк, промокоды, реферальная система и интеграция с ЮKassa при настроенных ключах.

Коммуникации

Socket.IO для realtime-взаимодействий и отдельный внутренний мессенджер.

Управление

Административные инструменты для управления содержимым и процессами студии.

Партнёрская программа

Кабинет партнёра, промокоды, атрибуция и заявки на выплаты согласно документации проекта.

04 / STACK

Технологии

  • Node.js 18+ и Express — сервер.
  • SQLite и better-sqlite3 — хранение данных.
  • JWT и bcryptjs — авторизация и защита паролей.
  • Socket.IO — realtime-события.
  • Nodemailer — почтовые сообщения.
  • ЮKassa — платёжная интеграция.
  • HTML, CSS и JavaScript — интерфейс.
05 / ENGINEERING

Что важно учитывать

Платёжные и почтовые сценарии зависят от корректной конфигурации внешних сервисов и секретов окружения. Секреты не должны находиться в клиентском коде или публичном репозитории.

Для денежных операций особенно важно разделять технический статус платежа, ручное подтверждение и фактическое выполнение возврата или выплаты.

06 / LINKS

Посмотреть проект