Initialize DashCaddy license server
This commit is contained in:
33
README.md
Normal file
33
README.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# DashCaddy License Server
|
||||
|
||||
Stripe-driven license automation for DashCaddy.
|
||||
|
||||
## Purpose
|
||||
|
||||
This service is the billing and license orchestration layer for DashCaddy.
|
||||
It receives Stripe webhooks, maps purchases/subscriptions to license entitlements,
|
||||
and exposes license validation/deactivation endpoints for DashCaddy instances.
|
||||
|
||||
## Planned responsibilities
|
||||
|
||||
- Verify Stripe webhook signatures
|
||||
- Track customers, subscriptions, invoices, and purchases
|
||||
- Generate or extend DashCaddy licenses
|
||||
- Expose `/api/license/validate` for DashCaddy activation
|
||||
- Expose `/api/license/deactivate` for DashCaddy deactivation
|
||||
- Support renewals, expirations, cancellations, and grace periods
|
||||
|
||||
## Architecture
|
||||
|
||||
- **Stripe** is billing truth
|
||||
- **License server database** is entitlement truth
|
||||
- **DashCaddy app** remains the consumer of license validation
|
||||
- Existing DashCaddy license logic should be reused, not reinvented
|
||||
|
||||
## Next steps
|
||||
|
||||
1. Extract/reuse the current DashCaddy license key generation and verification logic
|
||||
2. Define DB schema for customers, licenses, activations, and Stripe mapping
|
||||
3. Implement webhook ingestion and event processing
|
||||
4. Implement validate/deactivate endpoints
|
||||
5. Add admin tooling for manual recovery and support workflows
|
||||
Reference in New Issue
Block a user