• Arbeiten
  • Expertise
  • Engineering
  • Leistungen
  • Preise
  • Über mich
  • Kontakt
Projekt besprechen
  • Arbeiten
  • Expertise
  • Engineering
  • Leistungen
  • Preise
  • Über mich
  • Kontakt
Projekt besprechen
Valerii Vvedenskyi

Die Fallstudien beschreiben echte Produkte, an denen ich gearbeitet habe; jede Angabe auf dieser Seite stammt daraus.

Bereiche

  • Arbeiten
  • Expertise
  • Engineering
  • Leistungen
  • Preise
  • Über mich
  • Kontakt

Sprachen

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

Kontakt

valerii.vvedenskyi@gmail.com

Toronto, Canada

LinkedIn

© 2026 Valerii Vvedenskyi. Alle Rechte vorbehalten.

Datenschutzerklärung

Entworfen und gebaut von Valerii Vvedenskyi mit Next.js.

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

GymTeam

Vereinsverwaltung: eine Plattform, viele Vereine

Die Mitarbeiterseite des Fitofan-Ökosystems: Sportvereine verwalten Mitglieder, Kurse, Check-in, Fortschritt und Zahlungen, jeder Verein in seinem eigenen privaten Bereich.

Rolle
Senior Full-Stack Engineer
Zeitraum
2025 – 2026

Kontext

GymTeam ist der Arbeitsplatz von Vereinsinhabern, Managern und Trainern; Athleten und Eltern nutzen Fitofan, das sie auch anmeldet. Ich habe es aus der Fitofan-Codebasis in ein eigenes Produkt herausgelöst und den Großteil davon geliefert.

Die Herausforderung

Viele unabhängige Vereine aus einer Anwendung bedienen, mit strikter Datenisolation, Zahlungen in jedem Markt annehmen, in dem die Vereine tätig sind, und Vereinsdaten in Echtzeit mit der Athletenplattform konsistent halten.

Über den gesamten Stack gebaut

  • Next.js-16-Admin auf Feature-Sliced Design: über 80 Seiten, 11 Locales
  • NestJS-Backend: ein Modul pro Entität mit Use Cases, Repositories und validierten DTOs; 95 Migrationen
  • Tenant-Isolation: ein Guard löst jeden Verein per ID oder Slug auf und prüft die Mitgliedschaft, bevor ein Handler läuft
  • Mitglieder, Einladungen und Probetrainings, Wochenpläne mit Wartelisten, Live-Check-in, Anwesenheit, Lehrplan und Gürtelgrade, Haftungserklärungen, Hausaufgaben, Bewertungen
  • Zahlungen: Finix, Stripe, PayPal, Square, Monopay, LiqPay, GCash und Mercado Pago plus Barzahlung und Schulden, ein täglicher Abrechnungs-Scheduler, Zugangsdaten verschlüsselt mit AES-256-GCM
  • RabbitMQ-Vertrag gemeinsam mit Fitofan: 29 Routing-Keys, ein typisierter Envelope mit Correlation-IDs, dokumentierte Topologie
  • QR-Login über WebSockets, ein Socket.IO-Session-Gateway, S3-kompatibler Medienspeicher
  • Umsatz-, Anwesenheits- und Trainer-Analysen mit CSV- und PDF-Export
  • Dieselbe Delivery-Pipeline wie Fitofan: Type-Check- und Jest-Gate, Docker-Image, SSH-Deploy

Technische Schwerpunkte

  • Tenant-Scope auf dem Server erzwungen, nie dem Client vertraut
  • Webhooks idempotent nach Anbieter und Event-ID; Payment Intents tragen Idempotenzschlüssel
  • Eine eigene ESLint-Regel mit eigenen Tests hält die Feature-Sliced-Layer ehrlich
  • Registrierung und Vereinsanlage kommen aus Paketen, die beide Produkte teilen

Was es ermöglicht

Jeder Verein bekommt ein Produkt, das wie für ihn gebaut wirkt, während das Engineering eine Codebasis und ein Deployment bleibt.

Belege

  • Acht Zahlungsanbieter plus Barzahlung hinter einem Adapter, mit verschlüsselten Zugangsdaten und idempotenten Webhooks
  • Live-Check-in über WebSockets und QR-Anmeldung
  • Jede Vereinsroute wird auf dem Server aufgelöst und autorisiert
  • Website

Stack

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

Nächste Fallstudie

Wettkampftag
Projekt besprechen