Case study / 2024

Komvoy - Vehicle Rental Marketplace

A production vehicle rental marketplace connecting fleet owners and individual renters. Built with NestJS backend and React frontend, featuring real-time systems, payment integrations, and deployment on AWS.

  • NestJS
  • React
  • TypeScript
  • PostgreSQL
  • AWS
  • Socket.IO
  • Stripe
Visit the project ↗
Project preview: Komvoy - Vehicle Rental Marketplace

Overview

Komvoy is a vehicle rental marketplace connecting fleet owners and individual renters. I was the primary developer on both the NestJS backend and the React client, working under the guidance of a more senior technical lead.

Key Achievements

Real-time Systems

  • Multiple Socket.IO gateways with JWT authentication on connection
  • Delivering live updates to the correct users by room across several distinct domain areas

Notification System

  • Fully architected multi-channel notification system built around the Strategy pattern
  • Four channel strategies run simultaneously: WebSocket, Web Push, email, and SMS
  • Notification persistence handled by a dedicated storage module with DynamoDB

User Profile and Verification

  • Phone number verification via a provider factory (Twilio Verify / AWS SNS)
  • Transactional emails via Nodemailer/SES with i18n-aware templates in EN/ES

Domain Workflow and Data Modelling

  • Relational PostgreSQL schema with TypeORM covering users, vehicles, fleets, rentals, invoices, and more
  • 80+ incremental migrations without data loss
  • Core domain workflows progress through explicit state machines

Document Generation Pipeline

  • Modular section registry, Handlebars templating, and Puppeteer PDF rendering
  • Supports multiple document modes with conditionally included sections

Payment and Billing

  • Full Stripe integration: Connect onboarding, PaymentIntents, security deposits, SEPA Direct Debit
  • Idempotent webhook processing with HMAC-SHA256 verification
  • Invoice generation with VAT calculation and fiscal numbering

Authorization

  • CASL-based attribute access control with fine-grained permissions across 15+ resource types
  • Enforced via NestJS guards on the backend and route guards on the frontend

Complex Frontend Forms

  • Multi-step wizard interfaces built with React Hook Form and Zod
  • Vehicle creation, fleet bulk operations, and rental management interfaces
  • Real-time state driven by WebSocket events

Deployment and Cloud Infrastructure

  • Docker multi-stage builds, ECR image pushes, ECS Fargate redeployments
  • Infrastructure: RDS PostgreSQL, DynamoDB, ElastiCache/Redis, S3, ALB, Lambda, SES