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.
Create, manage, and organize multiple client organizations with customizable hierarchies. |
Define products with flexible licensing parameters, feature flags, and usage limits. |
Generate and distribute secure, tamper-proof license keys with customizable formats. |
Monitor license usage, activations, and domain validations in real-time. |
Implement granular permissions with customizable roles for administrators. |
Secure domain-based license validation with automatic verification. |
- Runtime: Node.js 18+ or Bun (recommended)
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
Method | Endpoint | Description | Authentication |
---|---|---|---|
POST | /api/licenses/validate |
Validate a license key for domain | Public |
POST /api/licenses/validate
Content-Type: application/json
{
"license_key": "XXXX-XXXX-XXXX-XXXX",
"domain": "example.com"
}
Status | Response |
---|---|
Valid License |
|
Invalid License |
|
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).
Next.js 15 | Tailwind CSS 4 | shadcn/ui |
PostgreSQL | Prisma ORM | NextAuth.js |
We welcome contributions from the community! To contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Please ensure your code follows our coding standards and includes appropriate tests.
This project is licensed under the MIT License - see the LICENSE file for details.