# Earning Platform - Complete Setup Guide

আপনার সম্পূর্ণ PHP Earning Platform সেটআপ করার জন্য এই গাইডটি অনুসরণ করুন।

## 📋 প্রয়োজনীয় প্রয়োজনীয়তা

- PHP 7.4 বা উচ্চতর
- MySQL 5.7 বা উচ্চতর
- Apache/Nginx ওয়েব সার্ভার
- Subdomain অ্যাক্সেস

---

## 🚀 ধাপ ১: Subdomain সেটআপ

### A. DNS কনফিগারেশন
1. আপনার Domain Provider এ যান (GoDaddy, Namecheap, etc.)
2. DNS Settings এ যান
3. নতুন A Record যোগ করুন:
   - **Name:** subdomain (উদাহরণ: earning)
   - **Type:** A
   - **Value:** আপনার সার্ভারের IP Address

উদাহরণ:
```
earning.yourdomain.com → 192.168.1.1
```

### B. সার্ভারে Subdomain তৈরি করুন (cPanel/Plesk)
1. cPanel এ লগইন করুন
2. **Addon Domains** এ যান
3. নতুন Subdomain যোগ করুন:
   - **New Domain Name:** earning.yourdomain.com
   - **Document Root:** /public_html/earning/

---

## 🗂️ ধাপ ২: ফাইল আপলোড করুন

### বিকল্প A: FTP ব্যবহার করে
1. FTP Client খুলুন (FileZilla)
2. `/public_html/earning/` ডিরেক্টরিতে যান
3. সমস্ত PHP ফাইল এবং `database.sql` আপলোড করুন

### ডিরেক্টরি স্ট্রাকচার হওয়া উচিত:
```
/public_html/earning/
├── config.php
├── login.php
├── logout.php
├── user_dashboard.php
├── user_tasks.php
├── user_deposit.php
├── user_notifications.php
├── user_inbox.php
├── user_profile.php
├── admin/
│   ├── admin_dashboard.php
│   ├── admin_settings.php
│   ├── admin_deposits.php
│   ├── admin_profit.php
│   ├── admin_tasks.php
│   ├── admin_users.php
│   └── admin_notifications.php
└── database.sql
```

---

## 🗄️ ধাপ ৩: Database সেটআপ করুন

### A. phpMyAdmin এর মাধ্যমে
1. cPanel এ phpMyAdmin খুলুন
2. নতুন Database তৈরি করুন: `earning_platform`
3. SQL ট্যাবে যান
4. `database.sql` ফাইলের সমস্ত কন্টেন্ট পেস্ট করুন
5. Execute করুন

### B. কমান্ড লাইনের মাধ্যমে
```bash
mysql -u root -p < database.sql
```

---

## ⚙️ ধাপ ৪: config.php কনফিগার করুন

`config.php` ফাইল খুলুন এবং আপনার তথ্য দিয়ে সম্পাদনা করুন:

```php
// Database Configuration
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'your_database_user');      // আপনার Database Username
define('DB_PASSWORD', 'your_database_password');  // আপনার Database Password
define('DB_NAME', 'earning_platform');

// Site Configuration
define('SITE_URL', 'https://earning.yourdomain.com'); // আপনার Subdomain URL পরিবর্তন করুন
define('ADMIN_EMAIL', 'admin@example.com');
define('SITE_NAME', 'Earning Platform');
```

---

## 🔐 ধাপ ৫: Admin অ্যাকাউন্ট সেটআপ

Database এ ইতিমধ্যে একজন Admin রয়েছে। Credentials:
- **Email:** admin@example.com
- **Password:** admin123

**নিরাপত্তার জন্য Login করার পরে পাসওয়ার্ড পরিবর্তন করুন।**

---

## 🌐 ধাপ ৬: প্রথম লগইন

### Admin Panel
1. যান: `https://earning.yourdomain.com/admin/admin_dashboard.php`
2. Email: admin@example.com
3. Password: admin123

### User Panel
1. যান: `https://earning.yourdomain.com/login.php`
2. নতুন অ্যাকাউন্ট রেজিস্টার করুন

---

## ⚙️ ধাপ ৭: Site Settings কনফিগার করুন

Admin Panel এ যান এবং এই তথ্যগুলি কনফিগার করুন:

### A. Site Settings
- **Site Title:** আপনার সাইটের নাম
- **Site Description:** আপনার সাইটের বিবরণ
- **Currency Symbol:** $ / ৳ (টাকা)
- **Logo URL:** আপনার লোগোর URL

### B. Deposit Settings
- **Bank Name:** আপনার ব্যাংক নাম
- **Account Holder:** অ্যাকাউন্ট হোল্ডারের নাম
- **Account Number:** ব্যাংক অ্যাকাউন্ট নম্বর
- **Routing Number:** রাউটিং নম্বর (ঐচ্ছিক)
- **Deposit Instructions:** গ্রাহকদের জন্য Deposit নির্দেশনা

---

## 💰 ধাপ ৮: Profit Settings সেটআপ করুন

Admin Panel > Profit Settings এ যান এবং Profit Percentage যোগ করুন।

উদাহরণ:
```
$10 ডিপোজিট → 5% লাভ → প্রতিটি Task এ $0.50 আয়
$50 ডিপোজিট → 8% লাভ → প্রতিটি Task এ $4.00 আয়
$100 ডিপোজিট → 10% লাভ → প্রতিটি Task এ $10.00 আয়
```

---

## 📋 ধাপ ৯: Tasks তৈরি করুন

Admin Panel > Tasks এ যান এবং নতুন Task যোগ করুন।

উদাহরণ Tasks:
1. Sign Up Completion
2. Email Verification
3. Phone Verification
4. First Deposit
5. Refer a Friend

---

## 🔍 ধাপ ১০: সিস্টেম পরীক্ষা করুন

1. **User Registration Test**
   - নতুন ইউজার অ্যাকাউন্ট তৈরি করুন
   - Profile তথ্য সম্পূর্ণ করুন

2. **Deposit Test**
   - Deposit Request জমা দিন
   - Admin Panel এ Approve করুন
   - Balance Update হয়েছে কিনা চেক করুন

3. **Task Completion Test**
   - Task সম্পূর্ণ করুন
   - Profit ক্রেডিট হয়েছে কিনা যাচাই করুন

4. **Notification Test**
   - Admin থেকে Notification পাঠান
   - User Panel এ Notification দেখুন

---

## 🔒 নিরাপত্তা টিপস

### প্রয়োজনীয় পরিবর্তন:

1. **Admin Password পরিবর্তন করুন**
   ```php
   // database.sql ফাইলে যান এবং পাসওয়ার্ড হ্যাশ পরিবর্তন করুন
   UPDATE users SET password = MD5('your_new_password') WHERE email = 'admin@example.com';
   ```

2. **Database User Password পরিবর্তন করুন**

3. **SSL Certificate যুক্ত করুন**
   - cPanel এ AutoSSL সক্ষম করুন

4. **File Permissions সেট করুন**
   ```bash
   chmod 644 config.php
   chmod 755 /public_html/earning/
   ```

5. **Error Reporting Disable করুন**
   - Production তে `display_errors = Off` রাখুন

---

## 🐛 সমস্যা সমাধান

### Database সংযোগ ত্রুটি
- MySQL সার্ভার চলছে কিনা যাচাই করুন
- `config.php` এ সঠিক credentials আছে কিনা চেক করুন

### Admin Panel এ 404 Error
- `/admin/` ফোল্ডার তৈরি করা আছে কিনা যাচাই করুন
- ফাইল গুলি সঠিক অবস্থানে আছে কিনা চেক করুন

### Subdomain কাজ করছে না
- DNS Settings সঠিক কিনা পরীক্ষা করুন
- 24-48 ঘন্টা অপেক্ষা করুন (DNS propagation)

### Email পাঠানো কাজ করছে না
- Server এ Mail Configuration চেক করুন

---

## 📱 ফিচার ব্যবহার গাইড

### User এর জন্য:
1. **Register** → নতুন অ্যাকাউন্ট খুলুন
2. **Profile** → তথ্য সম্পূর্ণ করুন
3. **Deposit** → অর্থ জমা দিন
4. **Tasks** → Task সম্পূর্ণ করে লাভ পান
5. **Notifications** → আপডেট পান

### Admin এর জন্য:
1. **Dashboard** → সমস্ত তথ্য দেখুন
2. **Deposits** → Deposit অনুমোদন করুন
3. **Profit Settings** → লাভ শতাংশ সেট করুন
4. **Tasks** → নতুন Task যোগ করুন
5. **Users** → সমস্ত ইউজার দেখুন
6. **Send Notifications** → ঘোষণা পাঠান

---

## 📞 সাপোর্ট

কোনো সমস্যার জন্য:
1. Error Log চেক করুন (`/error.log`)
2. Browser Console চেক করুন (F12)
3. Database টেস্ট করুন phpMyAdmin দিয়ে

---

## ✅ চূড়ান্ত চেকলিস্ট

- [ ] Subdomain সেটআপ করা হয়েছে
- [ ] ফাইলগুলি আপলোড করা হয়েছে
- [ ] Database তৈরি করা হয়েছে
- [ ] config.php কনফিগার করা হয়েছে
- [ ] Admin Password পরিবর্তন করা হয়েছে
- [ ] Site Settings সেটআপ করা হয়েছে
- [ ] Profit Settings যোগ করা হয়েছে
- [ ] Tasks তৈরি করা হয়েছে
- [ ] SSL Certificate সেটআপ করা হয়েছে
- [ ] সিস্টেম পরীক্ষা করা হয়েছে

সবকিছু সম্পন্ন হলে আপনার Platform লাইভ করতে প্রস্তুত! 🎉
