10000 GitHub - Yimikami/licenium: Licenium is a powerful license management platform designed for modern software businesses. Generate, track, and manage software licenses with an intuitive dashboard and robust API.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Licenium is a powerful license management platform designed for modern software businesses. Generate, track, and manage software licenses with an intuitive dashboard and robust API.

License

Notifications You must be signed in to change notification settings

Yimikami/licenium

Repository files navigation

LICENIUM

Enterprise-Grade License Management Platform

Next.js 15 Bun Tailwind CSS MIT License

Overview

Licenium is a sophisticated license management solution engineered for modern software businesses. With its intuitive dashboard and robust API, Licenium streamlines the entire licensing lifecycle from generation to validation, enabling businesses to focus on growth rather than license administration.

Key Features

🏒 Organization Management

Create, manage, and organize multiple client organizations with customizable hierarchies.

πŸ› οΈ Product Configuration

Define products with flexible licensing parameters, feature flags, and usage limits.

πŸ”‘ License Generation

Generate and distribute secure, tamper-proof license keys with customizable formats.

πŸ“Š Activation Tracking

Monitor license usage, activations, and domain validations in real-time.

πŸ‘₯ Role-Based Access

Implement granular permissions with customizable roles for administrators.

πŸ”’ Domain Validation

Secure domain-based license validation with automatic verification.

Getting Started

System Requirements

  • Runtime: Node.js 18+ or Bun (recommended)

Quick Installation

Step 1: Clone the repository
git clone https://github.com/Yimikami/licenium.git
cd licenium
Step 2: Install dependencies
bun install
Step 3: Configure environment
cp .env.example .env.local

Edit .env.local with your connection details and other required settings.

Step 4: Set up database
bunx prisma migrate dev
bunx prisma generate
bun run db:seed
Step 5: Launch development server
bun run dev

Navigate to http://localhost:3000 in your browser

API Documentation (WIP)

Core Endpoints

Method Endpoint Description Authentication
POST /api/licenses/validate Validate a license key for domain Public

License Validation

POST /api/licenses/validate
Content-Type: application/json

{
  "license_key": "XXXX-XXXX-XXXX-XXXX",
  "domain": "example.com"
}

Responses

Status Response
Valid License
{
  "success": true,
  "valid": true,
  "message": "License is valid for this domain"
}
Invalid License
{
  "success": true,
  "valid": false,
  "message": "License is invalid or not authorized for this domain"
}

Client Integration

JavaScript
async function validateLicense(licenseKey, domain) {
  try {
    const response = await fetch(
      "https://yourdomain.com/api/licenses/validate",
      {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({
          license_key: licenseKey,
          domain: domain,
        }),
      }
    );

    return await response.json();
  } catch (error) {
    console.error("Error validating license:", error);
    return { success: false, message: "Error validating license" };
  }
}
PHP
<?php
function validateLicense($licenseKey, $domain) {
  $url = 'https://yourdomain.com/api/licenses/validate';
  $data = [
    'license_key' => $licenseKey,
    'domain' => $domain
  ];

  $options = [
    'http' => [
      'header'  => "Content-type: application/json\r\n",
      'method'  => 'POST',
      'content' => json_encode($data)
    ]
  ];

  $context = stream_context_create($options);
  $result = file_get_contents($url, false, $context);

  if ($result === FALSE) {
    return ['success' => false, 'message' => 'Error validating license'];
  }

  return json_decode($result, true);
}
?>

For comprehensive documentation, visit our API Reference(TBD).

Technology Stack

Next.js 15 Tailwind CSS 4 shadcn/ui
PostgreSQL Prisma ORM NextAuth.js

Contributing

We welcome contributions from the community! To contribute:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please ensure your code follows our coding standards and includes appropriate tests.

License

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


About

Licenium is a powerful license management platform designed for modern software businesses. Generate, track, and manage software licenses with an intuitive dashboard and robust API.

Topics

Resources

License

Stars

Watchers

Forks

0