LicenseGate is a comprehensive, production-ready license management system designed for software developers and companies. Built with modern technologies and enterprise-grade security, it provides a complete solution for creating, managing, and validating software licenses.
- π Enterprise Security: JWT authentication, OAuth integration, RSA encryption
- π Real-time Analytics: Live dashboards with interactive charts
- π Modern Stack: 100% TypeScript, SvelteKit, tRPC, Prisma
- π³ Production Ready: Docker deployment, CI/CD pipelines, health monitoring
- π¨ Professional UI: Responsive design with modern UX patterns
- β‘ High Performance: Optimized for speed and scalability
- β JWT-based authentication with secure token management
- β OAuth integration (Google & GitHub sign-in)
- β Advanced password reset system with modern UI
- β Role-based access control (Admin/User permissions)
- β RSA key pair generation for secure license validation
- β Argon2 password hashing for maximum security
- β Unlimited license generation and management
- β Real-time license validation API
- β IP address restrictions and rate limiting
- β Expiration date management with automated notifications
- β Scope-based feature control
- β Comprehensive usage tracking and analytics
- β Secure API key generation and management
- β Multiple authentication methods (JWT, API Keys)
- β Rate limiting and usage monitoring
- β RESTful API and type-safe tRPC endpoints
- β Real-time dashboard with live statistics
- β Interactive charts powered by D3.js
- β Comprehensive usage logs and audit trails
- β Success/failure metrics with detailed reporting
- β Historical data analysis and export capabilities
- β Professional SvelteKit-based dashboard
- β Fully responsive design for all devices
- β Real-time data updates without page refresh
- β Intuitive user experience with modern UX patterns
- β Unified notification system
- β Dark/light theme support
- SvelteKit - Modern frontend framework with SSR
- TypeScript - 100% type safety throughout
- TailwindCSS - Utility-first CSS framework
- D3.js - Advanced data visualization
- Vite - Lightning-fast build tool
- Express.js - Robust web application framework
- tRPC - End-to-end type safety
- Prisma - Next-generation ORM with type safety
- TypeScript - Complete type coverage
- Zod - Runtime type validation
- JWT - Secure authentication
- MySQL - Reliable relational database
- Docker - Containerized deployment
- GitHub Actions - CI/CD automation
- Caddy - Automatic HTTPS and reverse proxy
- Node.js >= 18.0.0
- MySQL >= 8.0
- Docker (optional, for containerized deployment)
git clone https://github.com/DevLeoko/license-gate.git
cd license-gate
git checkout LicenseGate-devcd backend
npm install
cp .env.example .env
# Edit .env with your configuration
npm run prisma-migrate
npm run devcd frontend
npm install
npm run dev- Frontend: http://localhost:5173
- Backend API: http://localhost:3001
- Admin Panel: http://localhost:5173/user-management
Our comprehensive documentation is organized for easy navigation:
- π Setup & Installation - Quick start guides and configuration
- π» Development - Development guidelines and architecture
- π§ͺ Testing - Testing procedures and results
- π API Documentation - Complete API reference and examples
- π User Guides - Feature guides and tutorials
- π Deployment - Production deployment guides
- Go to Google Cloud Console
- Create a new project or select existing
- Enable Google+ API
- Create OAuth 2.0 credentials
- Add your domain to authorized origins
- Update
frontend/.env:
PUBLIC_GOOGLE_AUTH_CLIENT_ID=your-google-client-id- Go to GitHub Developer Settings
- Create a new OAuth App
- Set Authorization callback URL to:
http://localhost:5173/auth/github/callback - Update
frontend/.env:
PUBLIC_GITHUB_CLIENT_ID=your-github-client-idβ Fully Configured Email System
- SMTP Integration: Ready for production email sending
- Email Templates: Professional HTML templates included
- Automated Emails:
- Welcome messages for new users
- Password reset notifications
- Email verification
- License notifications
Update backend/.env:
SMTP_HOST=your-smtp-host
SMTP_PORT=587
SMTP_USERNAME=[email protected]
SMTP_PASSWORD=your-password
SMTP_SENDER=LicenseGate <[email protected]>docker-compose up -d# Backend
cd backend
docker build -t licensegate-backend .
# Frontend
cd frontend
docker build -t licensegate-frontend .Current Status: β Production Ready
- π Complete authentication system with OAuth
- π Full license management functionality
- π API key management system
- π Real-time analytics and reporting
- π¨ Modern, responsive user interface
- π Docker deployment configuration
- π§ Email system integration
- π Comprehensive documentation
- β Advanced Password Reset: Modern UI with custom/random password options
- β OAuth Integration: Google and GitHub sign-in with professional design
- β Docker Containerization: Production-ready multi-stage builds
- β CI/CD Pipeline: Automated testing and deployment
- β Documentation Organization: Comprehensive, categorized documentation
- β TypeScript Coverage: 100% TypeScript implementation
- β Security Enhancements: Enterprise-grade security measures
- π‘οΈ Authentication: JWT with secure token rotation
- π Password Security: Argon2 hashing with salt
- π API Security: Rate limiting and API key management
- π CORS Protection: Configurable cross-origin policies
- π« Input Validation: Comprehensive data sanitization
- π Audit Logging: Complete activity tracking
- Backend: 100% TypeScript
- Frontend: 100% TypeScript
- Shared Types: End-to-end type safety with tRPC
- β Manual Testing: Comprehensive UI/UX testing completed
- β Integration Testing: Backend-Frontend communication verified
- β API Testing: All endpoints validated
- β Security Testing: Authentication and authorization verified
- Response Time: < 200ms average API response
- Frontend Load: < 2 seconds initial load
- Database: Optimized queries with Prisma
- Caching: Efficient data caching strategies
- Scalability: Horizontal scaling ready
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch
- Make your changes with tests
- Submit a pull request
See CHANGELOG.md for detailed version history.
For security concerns, please see SECURITY.md.
This project is based on software originally licensed under the Elastic License 2.0 (ELv2).
All modifications, new features, and improvements are Β© DXBMark by Tariq Said, 2025.
These modifications include:
- β¨ Advanced Password Reset System with modern UI
- π Enhanced OAuth Integration (Google & GitHub)
- π³ Complete Docker Containerization with multi-stage builds
- π CI/CD Pipeline with GitHub Actions
- π Comprehensive Documentation organization
- π¨ UI/UX Improvements and responsive design
- π Security Enhancements and best practices
- π§ Email System Integration with professional templates
- Original License: Elastic License 2.0
- Additional Terms: Custom Modifications License
All modifications are provided under the same Elastic License 2.0 terms, with additional attribution requirements for educational and internal use.
- Original LicenseGate project by DevLeoko
- Enhanced and extended by Tariq Said
- Built with amazing open-source technologies
π Ready for Production β’ π Enterprise Security β’ π Real-time Analytics
For detailed documentation, visit our Documentation Hub