← Back to projects

KeyGen — Distributed License Management System

Role: Backend / Systems Engineer

Distributed system for software license generation, validation, and management with multiple client interfaces (REST API, Discord Bot, CLI).

Technologies

Node.js (TypeScript)PythonMongoDBDockerDocker Compose
View on GitHub →

Problem

Need for a scalable system to generate and validate software licenses with multiple access points.

Solution

Distributed system with API-centric architecture where clients are lightweight and logic is centralized.

Architecture

  • Discord Bot → REST API → MongoDB
  • CLI Tool → REST API → MongoDB
  • REST API: Central business logic, license generation, validation, expiration handling, HWID binding
  • Discord Bot: Command-based interface delegating logic to the API
  • CLI Tool: Ephemeral container oriented to developers
  • MongoDB: Persistent storage
  • Docker Compose: Orchestrates all services, reproducible environments

Highlights

  • API-centric architecture: lightweight clients, centralized logic
  • Containerized microservices for isolation and reproducibility
  • License validation with HWID binding
  • Lifetime and time-limited keys
  • Legacy admin interface via Mongo Express for database visibility