Debt System | Create an account, get a Debt, pay the installments. Or give Debt, have statistics and manage users سورس پروژه مدیریت وام و اقساط - php
ابتدا یک فورک از ریپازیتوری بگیرید
برای اینکار کامند های زیر را در cmd وارد کنید
cd c://wamp64/www git clone https://github.com/DeAref/debt_system.git
به صورت دستی فورک کنید و سپس فایل را دانلود کنید
برای ساخت پایگاه داده ، وارد phpmyadmin شوید. سپس کوری زیر را اجرا کنید
CREATE DATABASE debt CHARACTER SET utf8 COLLATE utf8_general_ci
فایل دیتا بیس را دانلود کرده و سپس در phpMyadmin ایمپورت کنید
لینک فایل دیتابیس:
https://github.com/DeAref/debt_system/blob/main/database/debt.sql
فایل library/config.php را باز کنید.
خط 4 و 16 و 17 را ادیت کنید.//..................... localhost...username...password.....database name.....// $conn = mysqli_connect("localhost", "root", "", "debt"); //mysql_set_charset('utf8', $conn); // mysqli_query($conn, "SET NAMES utf8"); // mysqli_query($conn, "SET CHARACTER SET utf8"); //mysqli_query($conn, "SET character_set_connection = utf8"); $sumDeptValue = 0; $sumPayed = 0; $sumMonthCount = 0; $sumUnPayed= 0 ; $systemDate = date('y-m-d'); $systemTime = date('h:i:s'); $systemDateTime = date('y-m-d | h:i:s'); $loginAddress = "http://5ip.ir/debt/client/login.php"; $Domain= "http://5ip.ir";
سپس فایل admin/config.php را باز کنید
$host = "localhost"; $usernameDBmySql = "debt"; $passwordDBmySql = ""; $databaseNameMysql = "debt"; //.............................. localhost...username.......password..............database name.....// $conn = mysqli_connect($host, $usernameDBmySql, $passwordDBmySql,$databaseNameMysql); //mysqli_set_charset($conn,'utf8'); // mysqli_query($conn, "SET NAMES utf8"); // mysqli_query($conn, "SET CHARACTER SET utf8"); //mysqli_query($conn, "SET character_set_connection = utf8"); $sumDeptValue = 0; $sumPayed = 0; $sumMonthCount = 0; $sumUnPayed= 0 ; $systemDate = date('y-m-d'); $systemTime = date('h:i:s'); $loginAddress = "http://localhost/dept/client/login.php";
و خط 3 و 4 و 5 و 19 را ادیت کنید.
در نهایت فایل .htaccess را ادیت کنید و آدرس دامین خودتون رو بزارید تا صفحه 404 رو بتونه پیدا کنه.
تمام. حالا سامانه راه اندازی شد
این برنامه از دو بخش تشکیل شده است ، بخش Client , بخش Admin همانطور که از نامشان پیداست ، کد های پنل ادمین از کد های پنل کاربر جدا هستند.
دیتابیس از 6 جدول تشکیل شده که در پایین میتونید ساختار بصری اون رو ببینید
دوتا فایل کانفیگ داریم ، یکی در پوشه admin و دیگری در پوشه library . هرچی تو library هست برای سمت کلاینته و برای ادمین جداگونه در پوشه admin کد زده شده.
هدر و فوتر قسمت کلاینت در پوشه Library قرار داره و از ایندکس جدا هست ، برای اتصال هم توی فایل هایی که بهش نیاز داریم باید با دستور include فراخونی کنیم.
در قسمت ادمین نیز هدر و فوتر جدا هست با این تفاوت که هدر و فوتر در پوشه admin کنار index قرار دارد.
این پوشه فایل های css - js فونت ها و تصاویر رو در برگرفته
این پوشه حاوی کتابخونه هایی هست که در برنامه استفاده شده ، همینطور فایل های هدر و فوتر و ثبت نام در اینمجا قرار دارد
این پوشه حاوی کتابخونه های css,js هست که توی UI برنامه استفاده میشه(این کتابخونه ها همشون استفاده نشدن و بعضی هاشون که نیاز بود در پروژه استفاده شدن)
عکس پروفایل هایی که توسط کاربران و مدیران اپلود میشوند در این پوشه قرار میگیرد
این پوشه توسط برنامه phpStorm موقع کد زدن ایجاد شده ، فایل های کمکی برای خودش هست و با ما کاری نداره.
این فایل حاوی اطلاعاتی هست که در برنامه بار ها و بار ها تکرار میشن از جمله اطلاعات دیتابیس
این فایل هدر سایت ما هستنش و اصلا نمیشه بهش گفت کتابخونه ولی خوب من گذاشتمش اینجا. اتصال به سی اس اس ها اینجا انجام میشه
اینم فوتر سایت هست و اتصال به جی اس ها اینجا انجام میشه ، البته بعضی هاشون هم تو هدر اتصال دادیم
این فایل کد های php مربوط به ثبت نام رو توی خودش جای داده ، کد های html مربوط به ثبت نام هم در مسیر client/register.php هستند.
این فایل مقدار استفاده از رم را محاسبه میکند و در پنل مدیریت قسمت داشبورد ازش استفاده شده.
در خط 104 میتونید نحوه نمایش رو تغییر بدید
خط 112 به پایین هم پسوند متن رو معلوم و ذخیره میکنه (kB - GB - TB - B)
function formatSizeUnits($bytes) { if ($bytes >= 1073741824) { $bytes = number_format($bytes / 1073741824, 2) . ' GB'; } elseif ($bytes >= 1048576) { $bytes = number_format($bytes / 1048576, 2) . ' MB'; } elseif ($bytes >= 1024) { $bytes = number_format($bytes / 1024, 2) . ' KB'; } elseif ($bytes > 1) { $bytes = $bytes . ' bytes'; } elseif ($bytes == 1) { $bytes = $bytes . ' byte'; } else { $bytes = '0 bytes'; } return $bytes; }
توی این فایل توابعی رو نوشتم که میتونن تاریخ رو بگیرن و یک روز/ماه/سال عقب جلو کنن
مثال استفاده :
echo pre2Day("2022-02-10");
این تابع تفاوت بین تاریخی که بهش میدید و تاریخی که الان توش قرار داریم رو محاسبه میکنه و خروجی میده
differenceDate($now,$yourDate);
این فایل حاوی یک تابع برای ساخت رشته رندوم هست
فقط کافیه randomString رو صدا بزنید تا یک رشته حاوی اعداد 0 تا 9 و حروف بزرگ و کوچک انگلیسی تحویل بگیرید(از این تابع برای نامگذاری فایل ها میخواستم استفاده کنم)
اینجا مالیات رو محاسبه میکنیم ، این تابع دوتا ورودی داره یکی درصد مالیات رو میگیره برای مثال 0.9درصد و دیگری مبلغ رو میگیره و در خروجی مبلغ به اضافه مالیات رو بر میگردونه.
tax($Percent,$Value);
</tr>
role | username | password |
---|---|---|
user | 52503346 | 1234 |
admin | aref | 2022 |