• Жұмыстар
  • Құзыреттер
  • Инженерлік шешімдер
  • Қызметтер
  • Бағалар
  • Мен туралы
  • Байланыс
Жобаны талқылау
  • Жұмыстар
  • Құзыреттер
  • Инженерлік шешімдер
  • Қызметтер
  • Бағалар
  • Мен туралы
  • Байланыс
Жобаны талқылау
Valerii Vvedenskyi

Кейстер мен жұмыс істеген нақты өнімдерді сипаттайды; бұл сайттағы әрбір факт солардан алынған.

Бөлімдер

  • Жұмыстар
  • Құзыреттер
  • Инженерлік шешімдер
  • Қызметтер
  • Бағалар
  • Мен туралы
  • Байланыс

Тілдер

  • English
  • Українська
  • Русский
  • Қазақша
  • Français
  • Deutsch
  • Español
  • Português

Байланыс

valerii.vvedenskyi@gmail.com

Toronto, Canada

LinkedIn

© 2026 Valerii Vvedenskyi. Барлық құқықтар қорғалған.

Құпиялылық саясаты

Валерий Введенский Next.js-те жобалап, құрастырды.

  • English
  • Українська
  • Русский
  • Қазақша
  • Français
  • Deutsch
  • Español
  • Português
  • English
  • Українська
  • Русский
  • Қазақша
  • Français
  • Deutsch
  • Español
  • Português
Барлық жұмыстар

GymTeam

Клубтарды басқару: бір платформа, көп клуб

Fitofan экожүйесінің қызметкерлер жағы: спорт клубтары мүшелерді, сабақтарды, чек-инді, прогресті және төлемдерді жүргізеді, әр клуб өзінің жеке кеңістігінде.

Рөл
Senior Full-Stack Engineer
Кезең
2025 – 2026

Контекст

GymTeam — клуб иелері, менеджерлер мен жаттықтырушылар жұмыс істейтін орын; спортшылар мен ата-аналар Fitofan-ды қолданады, ол оларды жүйеге де кіргізеді. Мен оны Fitofan кодтық базасынан жеке өнімге бөліп шығарып, көп бөлігін өзім жасадым.

Міндет

Бір қолданбадан көптеген тәуелсіз клубқа деректерді қатаң оқшаулап қызмет көрсету, клубтар жұмыс істейтін әр нарықта төлем қабылдау және клуб деректерін спортшылар платформасымен нақты уақытта үйлестіріп отыру.

Бүкіл стек бойынша құрылған

  • Feature-Sliced Design негізіндегі Next.js 16 админ панелі: 80+ бет, 11 локаль
  • NestJS бэкенді: әр домен нысанына жеке модуль, use case-тер, репозиторийлер және валидацияланған DTO-лар; 95 миграция
  • Тенант оқшаулауы: guard әр клубты id немесе slug бойынша анықтап, кез келген handler іске қосылмас бұрын мүшелікті тексереді
  • Мүшелер, шақырулар мен сынақ сабақтары, күту тізімі бар апталық кестелер, тікелей чек-ин, қатысу, оқу бағдарламасы мен белбеу деңгейлері, келісім құжаттары, үй тапсырмалары, бағалаулар
  • Төлемдер: Finix, Stripe, PayPal, Square, Monopay, LiqPay, GCash және Mercado Pago, сонымен қатар қолма-қол ақша мен қарыздар, күнделікті биллинг жоспарлағышы, тіркелгі деректерін AES-256-GCM-мен сақтау
  • Fitofan-мен ортақ RabbitMQ контракты: 29 маршруттау кілті, корреляция идентификаторлары бар типтелген конверт, құжатталған топология
  • WebSockets арқылы QR кіру, Socket.IO сессия шлюзі, S3-үйлесімді медиа сақтау орны
  • CSV және PDF экспорты бар табыс, қатысу және жаттықтырушы аналитикасы
  • Fitofan-дағыдай жеткізу конвейері: типтерді тексеру және Jest тексерісі, Docker образы, SSH арқылы деплой

Инженерлік акценттер

  • Тенант аумағын сервер қадағалайды, клиент жағына ешқашан сенім артылмайды
  • Вебхуктар провайдер және оқиға id бойынша идемпотентті; төлем интенттерінде идемпотенттілік кілттері бар
  • Өз тесттері бар арнаулы ESLint ережесі Feature-Sliced қабаттарын тәртіпте ұстайды
  • Тіркелу және клуб құру сценарийлері екі өнімге ортақ пакеттерден келеді

Не береді

Әр клуб өзі үшін жасалғандай сезілетін өнім алады, ал инженерия бір кодтық база мен бір деплой күйінде қалады.

Дәлел

  • Бір адаптердің артында сегіз төлем провайдері және қолма-қол ақша, шифрланған тіркелгі деректері мен идемпотентті вебхуктармен
  • WebSockets арқылы тікелей чек-ин және QR арқылы кіру
  • Әр клуб маршруты серверде анықталып, авторизацияланады
  • Сайт

Стек

  • Next.js
  • NestJS
  • PostgreSQL
  • RabbitMQ
  • Socket.IO
  • Finix
  • Stripe
  • Docker

Келесі кейс

Жарыс күні
Жобаны талқылау