← Все проекты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
Посмотреть проект