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
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