License Manager Pro is a comprehensive system for managing API keys, licenses, and system settings. Specifically designed for teams and organizations, this tool provides precise and secure management of software access and user permissions. Built with React.js on the frontend and FastAPI on the backend, it offers high performance and flexibility.
- API Key Management: View, delete, and manage access rights for API keys.
- License Management: Analyze and filter licenses with the ability to view details based on status and time intervals.
- System Settings: Dynamically update system configurations and automatically check for new versions.
- Automatic Updates: Notify and enable admins to update the system to the latest version seamlessly.
- High Security: Utilize JWT for authentication and access control.
- Modern UI: Responsive and user-friendly interface with a graphical dashboard for easy management.
ریپازیتوری اصلی پروژه را کلون کنید و وارد پوشه پروژه شوید:
git clone https://github.com/rzatkv/LicenseManagerPro.git
cd LicenseManagerProوارد پوشه بکاند شوید و پیشنیازهای مربوطه را نصب کنید:
cd backend
pip install -r requirements.txtاین دستور تمامی وابستگیهای مورد نیاز برای اجرای بکاند (مانند FastAPI، SQLAlchemy، PyMySQL و ...) را نصب میکند.
وارد پوشه فرانتاند شوید و پیشنیازهای مربوط به فرانتاند را نصب کنید:
cd ../frontend
npm installاین دستور تمامی پکیجهای مورد نیاز برای اجرای فرانتاند (مانند React، React Router، و ...) را دانلود و نصب میکند.
-
وارد پوشه
backendشوید:cd backend -
فایل
database.pyرا باز کنید. -
مقدار
DATABASE_URLرا با اطلاعات پایگاه داده MySQL خود تنظیم کنید:DATABASE_URL = "mysql+pymysql://username:password@localhost/dbname"
username: نام کاربری پایگاه داده.password: رمز عبور پایگاه داده.localhost: آدرس سرور پایگاه داده (یا IP).dbname: نام پایگاه دادهای که ایجاد کردهاید.
-
اطمینان حاصل کنید که پایگاه داده (
dbname) از قبل ایجاد شده باشد.
- وارد پوشه
frontendشوید:cd ../frontend - فایل
src/config.jsرا باز کنید. - آدرس API بکاند را تنظیم کنید:
export const API_BASE_URL = "http://127.0.0.1:8000/api";
- اگر از دامنه یا آدرس سرور دیگری استفاده میکنید، مقدار
API_BASE_URLرا مطابق آن تنظیم کنید.
- اگر از دامنه یا آدرس سرور دیگری استفاده میکنید، مقدار
وارد پوشه backend شوید و سرور را اجرا کنید:
cd backend
uvicorn main:app --reloadسرور شما در آدرس زیر اجرا خواهد شد:
برای مشاهده مستندات API:
- Swagger UI: http://127.0.0.1:8000/docs
- OpenAPI JSON: http://127.0.0.1:8000/openapi.json
وارد پوشه frontend شوید و برنامه را اجرا کنید:
cd ../frontend
npm startبرنامه شما در مرورگر در آدرس زیر اجرا خواهد شد:
- POST
/api/auth/login: Authenticate users and return a JWT token.
- GET
/api/api-keys: Retrieve all API keys. - DELETE
/api/api-keys/{id}: Delete an API key by ID.
- GET
/api/licenses: Retrieve licenses with optional filters. - POST
/api/licenses: Add a new license. - DELETE
/api/licenses/{id}: Delete a license by ID.
- GET
/api/settings: Retrieve system settings. - PUT
/api/settings/{key}: Update a specific setting.
- GET
/api/system/check-updates: Check if a new system update is available. - POST
/api/system/update: Apply the latest system update.
- Reza Karimi - rzatkv
This project is licensed under the MIT License.