Skip to content

xlinkconnector/licensepress

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

24 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ LicensePress - Blockchain-Powered Software Licensing Platform

License TypeScript React Supabase

The world's most advanced blockchain-based licensing platform for software products

LicensePress is a complete, production-ready licensing infrastructure that provides enterprise-grade software protection with blockchain security and lightning-fast validation.

✨ Features

πŸ” Enterprise Security

  • Blockchain validation with immutable license records
  • AES-256 encryption for all sensitive data
  • SOC 2 Type II certified infrastructure
  • GDPR compliant data handling

⚑ Lightning Performance

  • Sub-100ms license validation worldwide
  • Global CDN distribution with edge computing
  • 99.9% uptime guarantee with auto-scaling
  • Real-time license management and updates

πŸ› οΈ Developer Experience

  • RESTful APIs with comprehensive documentation
  • SDKs for all major languages (coming soon)
  • Webhook integrations for real-time updates
  • One-click integrations with popular platforms

πŸ“Š Advanced Analytics

  • Real-time usage insights and conversion tracking
  • Detailed reporting dashboards with custom metrics
  • License activation monitoring and alerts
  • Revenue analytics and forecasting

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Frontend      β”‚    β”‚   Backend API   β”‚    β”‚   Database      β”‚
β”‚   React + TS    │◄──►│   Supabase      │◄──►│   PostgreSQL    β”‚
β”‚   Tailwind CSS  β”‚    β”‚   Edge Functionsβ”‚    β”‚   + RLS         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                       β”‚                       β”‚
         β–Ό                       β–Ό                       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Blockchain    β”‚    β”‚   Payments      β”‚    β”‚   Monitoring    β”‚
β”‚   Cosmos SDK    β”‚    β”‚   Stripe        β”‚    β”‚   Analytics     β”‚
β”‚   Validation    β”‚    β”‚   Subscriptions β”‚    β”‚   Logging       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start

⚑ Automated Setup (Recommended)

Run our automated setup script that handles everything:

# Clone the repository
git clone https://github.com/yourusername/licensepress.git
cd licensepress

# Run automated setup
bash scripts/auto-setup.sh

This script will:

  • βœ… Install all required tools (Supabase CLI, Netlify CLI)
  • βœ… Guide you through Supabase project creation
  • βœ… Set up your database with sample data
  • βœ… Deploy your license validation API
  • βœ… Deploy your site to Netlify
  • βœ… Run all tests to verify everything works

πŸ”§ Manual Setup

Prerequisites

  • Node.js 18+ and npm
  • Supabase account
  • Stripe account (for payments)

1. Clone and Install

git clone https://github.com/yourusername/licensepress.git
cd licensepress
npm install

2. Environment Setup

cp .env.example .env
# Fill in your Supabase environment variables

Fill in your environment variables:

# Supabase Configuration
VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_ANON_KEY=your_anon_key
VITE_SUPABASE_SERVICE_ROLE_KEY=your_service_role_key

# Stripe Configuration (optional)
STRIPE_PUBLISHABLE_KEY=pk_test_your_stripe_publishable_key

3. Supabase Setup

# Install Supabase CLI
npm install -g supabase

# Link to your project
supabase link --project-ref your-project-ref

# Push database schema
supabase db push

# Deploy edge functions
supabase functions deploy validate-license

4. Start Development Server

npm run dev

Visit http://localhost:5173 to see the platform in action!

πŸ” Login Credentials

Regular User Login

  • Any email/password - The system will create accounts automatically
  • Demo: Use any email like [email protected] with any password

Admin Portal Login

  • URL: /admin/login
  • Username: Administrator
  • Password: Biglicense247$$

πŸ§ͺ Testing Your Setup

# Verify everything is configured correctly
npm run verify

# Test Supabase connection
npm run test:supabase

# Test license validation API
npm run test:license

πŸš€ Deployment Commands

# Quick deploy (if already set up)
npm run setup:quick

# Full automated setup
npm run setup

# Deploy to production
npm run deploy

# Deploy preview
npm run deploy:preview

πŸ“š API Documentation

License Validation

// Validate a license key
const result = await ValidationService.validateLicense(
  'LP-XXXX-XXXX-XXXX-XXXX',
  'instance-id-123',
  {
    instanceName: 'Production Server',
    hostname: 'prod-server-01',
    osInfo: 'Ubuntu 22.04',
    appVersion: '1.0.0'
  }
);

if (result.valid) {
  console.log('License valid:', result.license);
  console.log('Features:', result.features);
} else {
  console.log('License invalid:', result.error);
}

License Management

// Generate a new license
const { license, error } = await LicenseService.generateLicense({
  productId: 'product-uuid',
  customerId: 'customer-uuid',
  planId: 'plan-uuid',
  expiresAt: new Date('2025-12-31')
});

// Get customer licenses
const { licenses } = await LicenseService.getCustomerLicenses('customer-uuid');

// Revoke a license
await LicenseService.revokeLicense('license-uuid');

πŸ”Œ Integration Examples

Cosmos Console Integration

import { LicenseValidator } from '@licensepress/validator';

const validator = new LicenseValidator({
  apiKey: 'your-api-key',
  productId: 'cosmos-console-pro'
});

// In your setup modal
async function validateLicense(licenseKey: string) {
  const result = await validator.validate(licenseKey);
  
  if (result.valid) {
    // Enable features based on license
    if (validator.hasFeature('advanced-monitoring')) {
      enableAdvancedMonitoring();
    }
    
    if (validator.hasFeature('multi-node')) {
      enableMultiNodeSupport();
    }
    
    return { success: true };
  } else {
    return { success: false, error: result.error };
  }
}

Generic Software Integration

// Check license on application startup
async function initializeApp() {
  const licenseKey = getStoredLicenseKey();
  const instanceId = getOrCreateInstanceId();
  
  const result = await ValidationService.validateLicense(
    licenseKey,
    instanceId,
    {
      instanceName: 'My Application',
      appVersion: '2.1.0'
    }
  );
  
  if (!result.valid) {
    showLicenseDialog();
    return;
  }
  
  // Configure features based on license
  configureFeatures(result.features);
  startApplication();
}

🏒 Pricing Plans

Plan Price Features Max Instances
Starter $29/month Basic validation, Email support 1
Professional $99/month Advanced features, Priority support 5
Enterprise $299/month Custom features, Dedicated support Unlimited

πŸ›‘οΈ Security

LicensePress takes security seriously:

  • Blockchain validation ensures license integrity
  • Row Level Security (RLS) protects customer data
  • API rate limiting prevents abuse
  • Audit logging tracks all license operations
  • Encrypted storage for all sensitive data

πŸ“ˆ Performance

  • Sub-100ms validation response times globally
  • 99.9% uptime with automatic failover
  • Global CDN distribution via Supabase Edge
  • Auto-scaling infrastructure handles traffic spikes
  • Real-time monitoring and alerting

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and add tests
  4. Commit your changes: git commit -m 'Add amazing feature'
  5. Push to the branch: git push origin feature/amazing-feature
  6. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ†˜ Support

πŸ—ΊοΈ Roadmap

  • Q1 2025: SDK libraries for popular languages
  • Q2 2025: White-label solutions for enterprises
  • Q3 2025: Advanced blockchain features
  • Q4 2025: AI-powered license analytics

Built with ❀️ for developers who value security and performance
Website β€’ Documentation β€’ Community

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published