LicenseChain Architecture
LicenseChain uses a unified architecture where all components share the same database and API, ensuring data consistency across the entire ecosystem.
๐๏ธ System Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ LicenseChain Ecosystem โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ Website โ โ Dashboard โ โ API โ
โ (Marketing) โ โ (Admin UI) โ โ (Backend) โ
โ โ โ โ โ โ
โ - Blog โ โ - Admin UI โ โ - REST API โ
โ - Help โ โ - Analytics โ โ - Auth โ
โ - Careers โ โ - Management โ โ - Validation โ
โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ
โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโ
โ
โ
โ
โผ
โโโโโโโโโโโโโโโโโโ
โ PostgreSQL โ
โ โ
โ - Users โ
โ - Licenses โ
โ - Apps โ
โ - Products โ
โ - Webhooks โ
โ - Analytics โ
โ - Verification โ
โ Rules โ
โโโโโโโโโโโโโโโโโโ
โฒ
โ
โโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ 27+ SDKs โ โ Integrations โ โ Webhooks โ
โ (All Langs) โ โ (Stripe, etc) โ โ (Events) โ
โ โ โ โ โ โ
โ - NodeJS โ โ - Stripe โ โ - Events โ
โ - Python โ โ - Resend โ โ - Callbacks โ
โ - Go โ โ - Cloudflare โ โ - Logs โ
โ - Rust โ โ โ โ โ
โ - ... โ โ โ โ โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ ๐๏ธ Database Architecture
Shared Database
All three main components (API, Dashboard, Website) connect to the same PostgreSQL database:
- Single Source of Truth: One database for all data
- Unified Schema: All components use identical Prisma schema
- Data Consistency: Changes are immediately visible across all apps
- Coordinated Migrations: Schema changes must be synchronized
Schema Structure
Shared Models (All Repos)
User- Central user model with authenticationLicense- License keys and management
Dashboard Models
Account- NextAuth OAuth accountsSession- NextAuth sessionsApp- Dashboard applicationsApiUsageLog- API usage tracking
API Models
Product- API products for saleWebhook- Webhook configurationsWebhookLog- Webhook delivery logsVerificationRule- Custom verification rules for Enterprise tier
Website Models
BlogPost- Blog contentHelpArticle- Help center articlesCareerPosition- Job postingsFAQ- Frequently asked questions
๐ API Architecture
RESTful API
The LicenseChain API is a RESTful service built with Fastify:
- Base URL:
https://api.licensechain.app - Version: All endpoints prefixed with
/v1 - Authentication: JWT tokens or API keys
- Format: JSON request/response
- Rate Limiting: Built-in rate limiting
- CORS: Configured for cross-origin requests
SDK Connection
All SDKs connect to the API:
SDK โ https://api.licensechain.app/v1 โ API โ Database
Example:
SDK calls: client.licenses.verify('KEY')
SDK sends: POST /v1/licenses/verify
API processes: Validates against database
API returns: License status ๐ Data Flow
License Creation Flow
1. User creates license via Dashboard
โ
2. Dashboard calls API: POST /v1/licenses
โ
3. API validates request and creates license in database
โ
4. License available to:
- Dashboard (via API or direct DB access)
- SDKs (via API)
- Website (via API, if public) License Validation Flow
1. SDK calls: POST /v1/licenses/verify
โ
2. API validates license key against database
โ
3. API checks:
- License exists
- License is active
- License not expired
- Hardware ID matches (if required)
โ
4. API returns license status and details ๐ Authentication Flow
SDK โ API
- SDK makes request to
/v1/auth/login - API validates credentials against database
- API returns JWT token
- SDK includes token in
Authorization: Bearer <token>header - API validates token on subsequent requests
Dashboard โ Database
- User logs in via NextAuth
- NextAuth creates session in database
- Dashboard reads user data from database
- Dashboard can also call API endpoints
๐ Deployment Architecture
Production
- Hosting: DigitalOcean App Platform
- CDN: Cloudflare
- Database: PostgreSQL (Managed)
- Email: Resend.com
- Payments: Stripe
CI/CD
- Version Control: GitHub
- CI/CD: GitHub Actions
- Deployment: Automatic on push
- Testing: Automated tests in CI
๐ ๏ธ Technology Stack
Backend
- Fastify (Node.js)
- TypeScript
- Prisma ORM
- PostgreSQL
- JWT Authentication
Frontend
- Next.js
- React
- TypeScript
- Tailwind CSS
- NextAuth.js
Infrastructure
- DigitalOcean
- Cloudflare
- GitHub Actions
- Docker
- Vercel (Docs)
โ ๏ธ Important Notes
- All SDKs automatically prepend
/v1to API endpoints - API endpoints are versioned for backward compatibility