1 روز
0 تومان
myjson_db یک دیتابیس سبکوزن، خودکفا و بسیار امن است که با زبان C++ نوشته شده است. این پروژه به جای استفاده از موتورهای سنگین دیتابیس مانند MySQL یا PostgreSQL، از فایلهای JSON برای ذخیرهسازی دادهها استفاده میکند، اما با افزودن لایههای امنیتی قدرتمند، آن را به یک گزینه ایدهآل برای پروژههای کوچک و متوسط تبدیل کرده است. ویژگیهای کلیدی و قابلیتهای دیتابیس: 🔐 امنیت در سطح نظامی (AES-256-GCM): برخلاف دیتابیسهای معمولی که فایلها را به صورت Plain Text ذخیره میکنند، این دیتابیس تمامی فایلهای .json را با استفاده از الگوریتم استاندارد AES-256-GCM رمزنگاری میکند. این کار امنیت کامل دادهها را حتی در صورت دسترسی فیزیکی به فایلهای سرور تضمین مینماید. 👤 سیستم احراز هویت و مدیریت کاربران یکپارچه: دیتابیس دارای یک سیستم مدیریت کاربران داخلی است. کاربران با رمزهای عبور هششده (SHA-256) ذخیره میشوند و دارای سطوح دسترسی (Role) مختلف (ادمین و کاربر عادی) هستند. 📝 لاگگیری پیشرفته (Audit Trail): تمامی عملیاتهای حساس مانند لاگین، تغییر رمز عبور، ایجاد دیتابیس و تغییر رکوردها به صورت خودکار در یک فایل لاگ ثبت میشوند. این سیستم لاگ از چرخش خودکار (Log Rotation) پشتیبانی کرده و از پر شدن دیسک جلوگیری میکند. 🚀 معماری Single-File و قابل حمل: کل سرور تنها با یک فایل main.cpp کامپایل میشود. دیتابیسها در قالب فایلهای رمزنگاریشده در یک پوشه مشخص ذخیره میشوند و به راحتی قابل انتقال و بکآپگیری هستند. 🌐 RESTful API با قابلیت جستجو: این دیتابیس یک سرور HTTP داخلی دارد که از طریق APIهای RESTful قابل دسترسی است. عملیات CRUD (ایجاد، خواندن، بهروزرسانی، حذف) و همچنین جستجوی پیشرفته در فیلدهای مختلف با عملگرهای متنوع (مساوی، شامل، شروع با، پایان با) به صورت کاملاً پشتیبانیشده و استاندارد در دسترس است. 🎨 داشبورد مدیریت وب داخلی: نیازی به نصب هیچ ابزار جانبی نیست! دیتابیس به صورت پیشفرض یک رابط کاربری وب (HTML/CSS/JS) ارائه میدهد که کاربران میتوانند از طریق مرورگر به مدیریت دیتابیسها و کاربران بپردازند. 🖥️ استقلال از پلتفرم: پروژه با استفاده از استاندارد C++17 و کتابخانههای قابل حمل (OpenSSL, cpp-httplib) نوشته شده است که روی سیستمعاملهای لینوکس/یونیکس به خوبی اجرا میشود. مخاطبان هدف: این دیتابیس برای توسعهدهندگانی که به دنبال یک راهحل سبک، امن و آماده به کار برای ذخیرهسازی دادههای ساختاریافته (مانند تنظیمات برنامه، دادههای کاربری ساده، یا بکآپهای سبک) هستند، گزینهای عالی است. همچنین به عنوان یک بستر ذخیرهسازی امن برای برنامههای سمت کلاینت (مثل اپلیکیشن PHP ارائهشده در پروژه) عمل میکند.