# সেশন, গ্রুপ ও মার্কস বিভাজন সিস্টেম

স্কুল ম্যানেজমেন্ট সিস্টেমে সেশন, গ্রুপ ভিত্তিক শিক্ষার্থী ব্যবস্থাপনা এবং বিষয়ভিত্তিক মার্কস বিভাজন (CQ, MCQ, Practical) সিস্টেম যোগ করা হয়েছে।

## ✅ নতুন ফিচারসমূহ

### 🎓 **একাডেমিক সেশন সিস্টেম**
- **Academic Sessions টেবিল**: বছরভিত্তিক সেশন ব্যবস্থাপনা
- **Current Session**: বর্তমান সক্রিয় সেশন নির্ধারণ
- **Session History**: পূর্ববর্তী ও ভবিষ্যত সেশন ট্র্যাকিং
- **Status Management**: সেশন স্ট্যাটাস (active, inactive, completed)

### 👥 **শিক্ষার্থী গ্রুপ সিস্টেম**
- **Student Groups টেবিল**: বিজ্ঞান, ব্যবসায় শিক্ষা, মানবিক বিভাগ
- **Group Codes**: SCI, COM, ARTS, GEN
- **Class-wise Groups**: ৯ম-১২ম শ্রেণির জন্য গ্রুপ
- **Flexible Assignment**: শিক্ষার্থী গ্রুপ নির্বাচন ঐচ্ছিক

### 📊 **বিষয়ভিত্তিক মার্কস বিভাজন**
- **Subject Mark Distribution টেবিল**: প্রতিটি বিষয়ের জন্য আলাদা মার্কস সেটআপ
- **Multiple Exam Types**: অর্ধবার্ষিক, বার্ষিক, টেস্ট, অ্যাসাইনমেন্ট, ব্যবহারিক
- **Flexible Distribution**: CQ, MCQ, Practical, Assignment, Attendance
- **Group-specific**: গ্রুপভিত্তিক আলাদা মার্কস বিভাজন

### 🎯 **মার্কস এন্ট্রি সিস্টেম**
- **Detailed Marks Entry**: CQ, MCQ, Practical আলাদাভাবে এন্ট্রি
- **Auto Calculation**: মোট নম্বর ও গ্রেড অটো ক্যালকুলেশন
- **Real-time Validation**: সর্বোচ্চ নম্বর চেক
- **Batch Entry**: একসাথে সব শিক্ষার্থীর মার্কস এন্ট্রি

## 🗄️ **ডাটাবেস স্ট্রাকচার**

### নতুন টেবিলসমূহ:

#### 1. **academic_sessions**
```sql
- id (Primary Key)
- session_name (VARCHAR 20) - "2024", "2025"
- start_date, end_date
- is_current (BOOLEAN)
- status (active/inactive/completed)
```

#### 2. **student_groups**
```sql
- id (Primary Key)
- group_name (VARCHAR 50) - "Science", "Commerce", "Arts"
- group_code (VARCHAR 10) - "SCI", "COM", "ARTS"
- description, applicable_classes
- status (active/inactive)
```

#### 3. **subject_mark_distribution**
```sql
- id (Primary Key)
- subject_id, class_id, session, group_name
- exam_type (midterm/final/test/assignment/practical)
- total_marks, cq_marks, mcq_marks, practical_marks
- assignment_marks, attendance_marks, pass_marks
- grade_system (letter/gpa/percentage)
```

#### 4. **grade_system**
```sql
- id (Primary Key)
- grade_name (A+, A, A-, B, C, D, F)
- min_percentage, max_percentage, gpa_point
- description
```

### আপডেটেড টেবিলসমূহ:

#### **students টেবিল**
```sql
+ session (VARCHAR 20) - "2024"
+ group_name (VARCHAR 50) - "Science"/"Commerce"/"Arts"
```

#### **results টেবিল**
```sql
+ session (VARCHAR 20)
+ group_name (VARCHAR 50)
+ exam_type (ENUM)
+ cq_marks, mcq_marks, practical_marks
+ assignment_marks, attendance_marks
```

## 🚀 **সেটআপ নির্দেশনা**

### ১. ডাটাবেস আপডেট
```
http://localhost/bidda/database_update_session_group_marks.php
```

এই পেজ চালিয়ে:
- নতুন টেবিল তৈরি
- বিদ্যমান টেবিল আপডেট
- নমুনা ডেটা যোগ
- গ্রেড সিস্টেম সেটআপ

### ২. মার্কস সেটআপ
```
http://localhost/bidda/marks/setup.php
```

প্রতিটি বিষয়ের জন্য:
- ক্লাস ও সেশন নির্বাচন
- গ্রুপ নির্বাচন (ঐচ্ছিক)
- পরীক্ষার ধরন নির্বাচন
- মার্কস বিভাজন সেট

### ৩. মার্কস এন্ট্রি
```
http://localhost/bidda/marks/entry.php
```

শিক্ষার্থীদের মার্কস দেওয়ার জন্য:
- বিষয়, ক্লাস, সেশন, গ্রুপ নির্বাচন
- শিক্ষার্থী তালিকা লোড
- বিস্তারিত মার্কস এন্ট্রি

## 📋 **ব্যবহারের উদাহরণ**

### শিক্ষার্থী যোগ করা:
```
নাম: আহমদ হাসান
ক্লাস: ৯ম
সেশন: 2024
গ্রুপ: Science
রোল: 01
```

### মার্কস বিভাজন সেটআপ:
```
বিষয়: পদার্থবিজ্ঞান
ক্লাস: ৯ম
সেশন: 2024
গ্রুপ: Science
পরীক্ষা: বার্ষিক

মোট নম্বর: 100
- CQ: 60
- MCQ: 30
- Practical: 10
পাস নম্বর: 40
```

### মার্কস এন্ট্রি:
```
শিক্ষার্থী: আহমদ হাসান (রোল: 01)
- CQ: 45/60
- MCQ: 25/30
- Practical: 8/10
মোট: 78/100 (গ্রেড: A)
```

## 🎯 **মূল সুবিধাসমূহ**

### **প্রশাসনিক সুবিধা:**
- **সেশনভিত্তিক ডেটা**: বছর অনুযায়ী শিক্ষার্থী ব্যবস্থাপনা
- **গ্রুপভিত্তিক বিভাজন**: বিজ্ঞান/ব্যবসায়/মানবিক আলাদা ব্যবস্থাপনা
- **নমনীয় মার্কস**: প্রতিটি বিষয়ের জন্য আলাদা মার্কস বিভাজন
- **অটো ক্যালকুলেশন**: মোট নম্বর ও গ্রেড অটো হিসাব

### **শিক্ষক সুবিধা:**
- **সহজ মার্কস এন্ট্রি**: বিস্তারিত মার্কস এন্ট্রি সিস্টেম
- **রিয়েল-টাইম ভ্যালিডেশন**: ভুল মার্কস প্রতিরোধ
- **ব্যাচ প্রসেসিং**: একসাথে সব শিক্ষার্থীর মার্কস
- **গ্রেড প্রিভিউ**: মার্কস দেওয়ার সাথে সাথে গ্রেড দেখা

### **শিক্ষার্থী সুবিধা:**
- **বিস্তারিত ফলাফল**: CQ, MCQ, Practical আলাদা নম্বর
- **গ্রুপভিত্তিক রিপোর্ট**: নিজের গ্রুপের তুলনা
- **সেশনভিত্তিক হিস্টরি**: বিগত বছরের ফলাফল

## 📊 **মার্কস বিভাজনের উদাহরণ**

### **বিজ্ঞান বিভাগ - পদার্থবিজ্ঞান:**
```
বার্ষিক পরীক্ষা (100 নম্বর):
- সৃজনশীল প্রশ্ন (CQ): 70
- বহুনির্বাচনি (MCQ): 20
- ব্যবহারিক: 10
```

### **ব্যবসায় শিক্ষা - হিসাববিজ্ঞান:**
```
বার্ষিক পরীক্ষা (100 নম্বর):
- সৃজনশীল প্রশ্ন (CQ): 60
- বহুনির্বাচনি (MCQ): 30
- অ্যাসাইনমেন্ট: 10
```

### **মানবিক বিভাগ - বাংলা:**
```
বার্ষিক পরীক্ষা (100 নম্বর):
- সৃজনশীল প্রশ্ন (CQ): 90
- বহুনির্বাচনি (MCQ): 10
```

## 🔧 **কনফিগারেশন**

### গ্রেড সিস্টেম:
```
A+ = 80-100% (GPA: 5.00)
A  = 70-79%  (GPA: 4.00)
A- = 60-69%  (GPA: 3.50)
B  = 50-59%  (GPA: 3.00)
C  = 40-49%  (GPA: 2.00)
D  = 33-39%  (GPA: 1.00)
F  = 0-32%   (GPA: 0.00)
```

### সেশন সেটিং:
```
2024: বর্তমান সেশন (is_current = true)
2023: সম্পন্ন সেশন (status = completed)
2025: ভবিষ্যত সেশন (status = inactive)
```

## 📁 **ফাইল স্ট্রাকচার**

```
marks/
├── setup.php                          # মার্কস বিভাজন সেটআপ
├── entry.php                          # মার্কস এন্ট্রি
└── reports.php                        # মার্কস রিপোর্ট (ভবিষ্যতে)

students/
├── add.php                            # সেশন ও গ্রুপ সহ শিক্ষার্থী যোগ
└── list.php                           # সেশন ও গ্রুপ ফিল্টার সহ তালিকা

bulk_upload/
├── students_upload_bengali.php        # সেশন ও গ্রুপ সহ বাল্ক আপলোড
└── templates/students_template.csv    # আপডেটেড টেমপ্লেট

database_update_session_group_marks.php # ডাটাবেস আপডেট স্ক্রিপ্ট
```

## 🎓 **ব্যবহারের ধাপ**

### ১. প্রাথমিক সেটআপ:
1. ডাটাবেস আপডেট চালান
2. একাডেমিক সেশন চেক করুন
3. গ্রুপ সেটিং যাচাই করুন

### ২. শিক্ষার্থী যোগ:
1. সেশন নির্বাচন করুন
2. প্রয়োজনে গ্রুপ নির্বাচন করুন
3. রোল নম্বর দিন (সেশন ও গ্রুপভিত্তিক অনন্য)

### ৩. মার্কস সিস্টেম:
1. প্রতিটি বিষয়ের জন্য মার্কস বিভাজন সেট করুন
2. গ্রুপভিত্তিক আলাদা সেটিং করুন
3. মার্কস এন্ট্রি করুন

### ৪. রিপোর্ট ও বিশ্লেষণ:
1. সেশনভিত্তিক ফলাফল দেখুন
2. গ্রুপভিত্তিক তুলনা করুন
3. বিষয়ভিত্তিক বিশ্লেষণ করুন

## 🔮 **ভবিষ্যতের উন্নতি**

### পরবর্তী ভার্সনে যোগ হতে পারে:
- **Advanced Reports**: সেশন ও গ্রুপভিত্তিক বিস্তারিত রিপোর্ট
- **Grade Analytics**: মার্কস বিশ্লেষণ ও ট্রেন্ড
- **Parent Portal**: অভিভাবকদের জন্য সেশনভিত্তিক ফলাফল
- **Transcript Generation**: সেশনভিত্তিক ট্রান্সক্রিপ্ট
- **Promotion System**: সেশন শেষে পরবর্তী ক্লাসে উত্তীর্ণ
- **Merit List**: গ্রুপভিত্তিক মেধা তালিকা

এই সিস্টেম ব্যবহার করে আপনি আধুনিক শিক্ষা ব্যবস্থার সাথে সামঞ্জস্য রেখে সেশন, গ্রুপ ও বিস্তারিত মার্কস ব্যবস্থাপনা করতে পারবেন!