# SinhVien Social — triển khai cPanel nhanh

Gói `SinhVien-Social-OneUpload-cPanel.zip` được tạo để giải nén trực tiếp vào **thư mục Home** của tài khoản cPanel. Sau khi giải nén, cấu trúc đúng là:

```text
home/<tai-khoan-cpanel>/
├── app/
├── storage/
└── public_html/
```

## Chỉ cần làm ba việc

1. Trong **MySQL Databases**, tạo database và MySQL user, sau đó gán **ALL PRIVILEGES** cho user vào database đó.
2. Mở `app/config.php`, chỉ sửa 4 giá trị trong `db`: `host`, `name`, `user`, `pass`.
3. Mở tên miền. Ứng dụng tự tạo bảng MySQL và tài khoản quản trị lần đầu.

## Đăng nhập lần đầu

| Trường | Giá trị |
|---|---|
| Số điện thoại | `0901000000` |
| Mật khẩu | `xwHBTlmhUYW+k/VCpZldKQ5J2bv7LbJw` |

Sau khi đăng nhập, vào **Quyền riêng tư & hồ sơ** để đổi ngay số điện thoại và mật khẩu. Tệp `app/config.php` phải ở ngoài `public_html`; không đưa ảnh xác minh vào thư mục web công khai.

> Nếu cPanel của bạn không cho giải nén tại Home, hãy giải nén sao cho `app` và `storage` nằm cùng cấp với `public_html`, không nằm trong `public_html`.

## Bản nâng cấp: Ví coin và quảng cáo

Bản nâng cấp bổ sung khu vực **Ví coin**. Tỷ lệ cố định là **10.000đ = 10 coin**, tương đương **1.000đ = 1 coin**. Mỗi coin được quy đổi thành 10 lượt tiếp cận quảng cáo; gói tối thiểu 10 coin có mục tiêu 100 lượt tiếp cận.

Quản trị viên vào `?r=admin&tab=settings`, mở mục **Ngân hàng**, nhập tên ngân hàng, BIN, số tài khoản, tên chủ tài khoản và liên hệ hỗ trợ. Người dùng vào **Ví coin**, chọn số coin, tạo yêu cầu nạp và chuyển khoản đúng nội dung hệ thống sinh ra. Admin vào `?r=admin&tab=topups`, kiểm tra sao kê rồi bấm xác nhận hoặc từ chối.

Để quảng cáo một bài viết, chủ bài viết công khai bấm **Quảng cáo**. Hệ thống chuyển sang trang quảng cáo riêng, cho chọn số coin và trừ coin khi gửi duyệt. Admin vào `?r=admin&tab=ads` để duyệt. Khi được hiển thị trong bảng tin, bài có nhãn **ADVERTISEMENT** và watermark mờ; hệ thống dừng chiến dịch khi đạt mục tiêu lượt tiếp cận hoặc hết 30 ngày.

Khi cập nhật từ database cũ, hãy sao lưu trước. Lần truy cập đầu tiên sau khi upload sẽ chạy `app/migrations.php`, tự bổ sung cột coin, cột mục tiêu quảng cáo và hai bảng `coin_topups`/`coin_ledger`. MySQL user cần có quyền `ALTER`, `CREATE`, `INDEX`, `SELECT`, `INSERT`, `UPDATE` và `DELETE`. Nếu hosting không cho phép tự migration, chạy các câu lệnh tương ứng trong phpMyAdmin rồi mới mở website.

Sau khi cấu hình xong, xóa hoặc đổi tên `install.php`, giữ `app` và `storage` ngoài `public_html`, bật HTTPS và không đưa `FIRST_LOGIN.txt` lên thư mục web công khai.
