# ফি ম্যানেজমেন্ট সিস্টেম

এই ফি ম্যানেজমেন্ট সিস্টেমটি শিক্ষার্থীদের ফি সংগ্রহ, ট্র্যাকিং এবং রিপোর্টিং এর জন্য ডিজাইন করা হয়েছে।

## মূল বৈশিষ্ট্যসমূহ

### 1. ফি ড্যাশবোর্ড (`dashboard.php`)
- সামগ্রিক ফি পরিসংখ্যান
- মাসিক সংগ্রহের চার্ট
- সর্বোচ্চ বকেয়াদারদের তালিকা
- সাম্প্রতিক পেমেন্টের তথ্য
- ক্লাস ও ফি টাইপ ভিত্তিক পরিসংখ্যান

### 2. শিক্ষার্থী ফি ব্যবস্থাপনা (`student_fees.php`)
- **শিক্ষার্থী প্রতি সম্পূর্ণ ফি তথ্য:**
  - মোট পে (Total Payable)
  - মোট পরিশোধিত (Total Paid)
  - মোট বকেয়া (Total Due)

- **উন্নত ফিল্টারিং:**
  - সেশন অনুযায়ী
  - ক্লাস অনুযায়ী
  - গ্রুপ অনুযায়ী

- **ফি কালেকশন সুবিধা:**
  - পার্সিয়াল পেমেন্ট গ্রহণ
  - সম্পূর্ণ পেমেন্ট অপশন
  - অর্ধেক পেমেন্ট অপশন
  - কাস্টম পেমেন্ট পরিমাণ
  - একসাথে সব ফি পরিশোধের সুবিধা

- **পেমেন্ট পদ্ধতি:**
  - নগদ (Cash)
  - ব্যাংক (Bank)
  - অনলাইন (Online)
  - চেক (Cheque)

### 3. ফি রিপোর্ট (`reports.php`)
- **বিস্তারিত ফিল্টারিং:**
  - সেশন, ক্লাস, গ্রুপ
  - ফি টাইপ, শিক্ষাবর্ষ, মাস
  - পেমেন্ট স্ট্যাটাস

- **সামারি পরিসংখ্যান:**
  - মোট শিক্ষার্থী
  - মোট ফি এন্ট্রি
  - সংগ্রহের হার

- **শিক্ষার্থী ভিত্তিক বিস্তারিত রিপোর্ট**
- **প্রিন্ট সুবিধা**

### 4. ফি নির্ধারণ (`manage.php`)
- ক্লাস ভিত্তিক ফি নির্ধারণ
- বিভিন্ন ধরনের ফি:
  - মাসিক বেতন
  - ভর্তি ফি
  - পরীক্ষা ফি
  - বার্ষিক ফি
  - খেলাধুলা ফি
  - লাইব্রেরি ফি
  - অন্যান্য

### 5. দ্রুত কালেক্ট (`collect.php`)
- AJAX ভিত্তিক দ্রুত সংগ্রহ
- রিয়েল-টাইম আপডেট
- রসিদ প্রিন্ট সুবিধা

## ডাটাবেস স্ট্রাকচার

### `fees` টেবিল
- `id`: প্রাইমারি কী
- `student_id`: শিক্ষার্থীর আইডি
- `fee_type`: ফি এর ধরন
- `amount`: মোট পরিমাণ
- `paid_amount`: পরিশোধিত পরিমাণ
- `due_date`: শেষ তারিখ
- `status`: স্ট্যাটাস (pending, partial, paid, overdue)
- `academic_year`: শিক্ষাবর্ষ
- `month`: মাস
- `remarks`: মন্তব্য

### `fee_payments` টেবিল
- `id`: প্রাইমারি কী
- `fee_id`: ফি আইডি
- `amount`: পেমেন্ট পরিমাণ
- `payment_method`: পেমেন্ট পদ্ধতি
- `transaction_id`: লেনদেন আইডি
- `payment_date`: পেমেন্ট তারিখ
- `received_by`: গ্রহণকারী
- `remarks`: মন্তব্য

## ব্যবহারের নির্দেশনা

### 1. ফি নির্ধারণ
1. `manage.php` পেজে যান
2. ক্লাস, ফি টাইপ, পরিমাণ নির্বাচন করুন
3. শেষ তারিখ ও অন্যান্য তথ্য দিন
4. "ফি নির্ধারণ করুন" বাটনে ক্লিক করুন

### 2. ফি সংগ্রহ
1. `student_fees.php` পেজে যান
2. ফিল্টার ব্যবহার করে শিক্ষার্থী খুঁজুন
3. একজন শিক্ষার্থী নির্বাচন করুন
4. বকেয়া ফি দেখুন এবং পেমেন্ট পরিমাণ নির্ধারণ করুন
5. পেমেন্ট পদ্ধতি নির্বাচন করুন
6. "ফি সংগ্রহ করুন" বাটনে ক্লিক করুন

### 3. রিপোর্ট দেখা
1. `reports.php` পেজে যান
2. প্রয়োজনীয় ফিল্টার প্রয়োগ করুন
3. "রিপোর্ট দেখুন" বাটনে ক্লিক করুন
4. প্রয়োজনে প্রিন্ট করুন

## বিশেষ সুবিধাসমূহ

### পার্সিয়াল পেমেন্ট
- শিক্ষার্থীরা আংশিক পেমেন্ট করতে পারে
- বাকি পরিমাণ পরবর্তীতে পরিশোধ করা যায়
- প্রতিটি পেমেন্ট আলাদাভাবে ট্র্যাক হয়

### স্মার্ট ভ্যালিডেশন
- পেমেন্ট পরিমাণ বকেয়া পরিমাণের চেয়ে বেশি হতে পারে না
- নেগেটিভ পেমেন্ট গ্রহণ করা হয় না
- ডুপ্লিকেট ফি এন্ট্রি প্রতিরোধ

### রিয়েল-টাইম আপডেট
- AJAX ভিত্তিক ইন্টারফেস
- পেজ রিলোড ছাড়াই ডাটা আপডেট
- তাৎক্ষণিক ফিডব্যাক

### রেসপন্সিভ ডিজাইন
- মোবাইল ফ্রেন্ডলি
- সব ডিভাইসে কাজ করে
- প্রিন্ট অপ্টিমাইজড

## নিরাপত্তা
- সেশন ভিত্তিক অথেন্টিকেশন
- SQL ইনজেকশন প্রতিরোধ
- ইনপুট ভ্যালিডেশন
- ট্রানজেকশন সাপোর্ট

## সাপোর্ট
কোন সমস্যা বা প্রশ্ন থাকলে সিস্টেম অ্যাডমিনিস্ট্রেটরের সাথে যোগাযোগ করুন।