BenticCK

Nhật ký cập nhật

Lịch sử các chức năng đã xây dựng · ⚙ 7 mục cần cấu hình

🧱 Nền tảng & hạ tầng

ASP.NET Core .NET 9 (MVC + Razor/cshtml)
Mô hình chuẩn: Controllers / Views / Services / Hubs / Data.
EF Core + MySQL (Pomelo) ⚙ Cần cấu hình
Kết nối MySQL, migrations, seed 41 mã thật + ~16.000 nến lịch sử.
→ Đổi chuỗi kết nối tại ConnectionStrings:Default trong appsettings.json.
SignalR
Đẩy giá realtime xuống trình duyệt qua hub /hubs/market.

🔌 Nguồn dữ liệu realtime

Trừu tượng hoá IMarketDataSource
Mọi nơi phụ thuộc interface này — đổi nguồn chỉ sửa 1 dòng DI.
MockMarketDataSource (đang dùng)
Sinh giá random-walk theo biên độ trần/sàn từng sàn để demo.
SSI FastConnect Data ⚙ Cần cấu hình
Đã có bộ khung Services/SsiFastConnectSource.cs.txt (SignalR client).
→ Ký hợp đồng SSI FC Data, điền khoá, đổi DI sang SsiFastConnectSource. CẦN API thật.

📊 Bảng giá realtime

Bảng giá HOSE/HNX/UPCOM/Phái sinh
Đầy đủ cột: TC/trần/sàn, 3 bước giá mua-bán, khớp lệnh, KL, NN; tô màu chuẩn VN, nhấp nháy khi đổi giá.
Ticker tape & thẻ chỉ số
VN-Index/VN30/HNX/UPCOM/VN30F1M/BTC cập nhật realtime.

🏷️ Trang chi tiết mã + Modal popup

Modal popup khi click mã
Mở popup thay vì sang trang mới, NHƯNG vẫn đổi URL (History API); chuyển tab trong modal, nút Back/Esc hoạt động đúng.
12 tab
Tổng quan, Biểu đồ, Phân tích, Tài chính, Giá quá khứ, Hồ sơ, Cổ đông, Cổ tức, Trái phiếu, Báo cáo, Bài viết, Cộng đồng.

📈 Biểu đồ kỹ thuật nâng cao

Lightweight Charts + chỉ báo
Nến + Volume + MA20/50 + Bollinger + RSI(14) + MACD(12,26,9), bật/tắt từng chỉ báo.
Khung Ngày/Tuần/Tháng
Tổng hợp từ nến ngày phía client; dùng chung cho trang /Chart và tab Biểu đồ trong modal.
TradingView Advanced Charts ⚙ Cần cấu hình
Tuỳ chọn nâng cấp để có thanh vẽ + hàng trăm chỉ báo dựng sẵn.
→ CẦN license + quyền truy cập repo Charting Library của TradingView.

💼 Dữ liệu cơ bản (schema thật)

FinancialReports / Shareholders / Dividends
Bảng DB thật + migration AddFundamentals + seed nhất quán theo mã.
Tab Tài chính / Cổ đông / Cổ tức
Bảng + biểu đồ cột tăng trưởng + thanh phân bổ cổ đông, lấy dữ liệu từ DB.
Nguồn BCTC thật ⚙ Cần cấu hình
Hiện là số demo deterministic.
→ Nạp/đồng bộ BCTC, cổ đông, cổ tức thật từ API đối tác hoặc nhập tay.

⚡ Cache & mở rộng (Redis)

RedisQuoteStore + SignalR backplane ⚙ Cần cấu hình
Bật khi cấu hình; nếu trống tự fallback in-memory.
→ Điền Redis:ConnectionString trong appsettings.json (vd: localhost:6379) để bật.

👤 Tài khoản & cá nhân hoá

Đăng nhập / Đăng ký
Xác thực cookie, mật khẩu băm (PasswordHasher), phân quyền User/Admin. Tài khoản demo: admin/Admin@123, demo/Demo@123.
Watchlist (danh mục theo dõi)
Bấm ☆ ở chi tiết mã để thêm; trang Danh mục hiển thị realtime.
Thông báo realtime
Khi có tin tức gắn mã trong watchlist → chuông 🔔 báo (DB + đẩy qua SignalR /hubs/notify).
Cộng đồng lưu DB
Đăng bài (tag nhiều mã, ảnh), bình luận, like — lưu thật vào DB, gắn người dùng đăng nhập.

🛠️ Khu vực quản trị (/Admin)

Bảng điều khiển
Thống kê mã/người dùng/tin/bài/bình luận, người dùng & bài mới.
Quản lý cổ phiếu / tin tức
CRUD mã CK; đăng/sửa/xoá tin — đăng tin mới tự gửi thông báo cho người theo dõi.
Quản lý người dùng & cấu hình
Đổi vai trò, khoá tài khoản; chỉnh cấu hình hệ thống (key/value).

🗂️ Các trang khác

Tổng quan, Lọc cổ phiếu, Biến động thị trường (heatmap)
Top tăng/giảm, lọc theo ngành/P/E/P/B, bản đồ nhiệt theo ngành.
RRG, So sánh, Phái sinh, Tiền số
Đồ thị RRG, so sánh hiệu suất chuẩn hoá 100, bảng giá phái sinh/crypto.
Cảnh báo tín hiệu ⚙ Cần cấu hình
Đặt ngưỡng giá, kích hoạt theo luồng realtime (demo client).
→ Bản production: lưu cảnh báo vào DB + worker + Firebase Cloud Messaging (push mobile).
Báo cáo, Kinh tế vĩ mô ⚙ Cần cấu hình
Khung danh mục báo cáo & chỉ số vĩ mô.
→ Nạp dữ liệu thật (PDF báo cáo, số liệu GSO/NHNN).

⚙ Tổng hợp các mục cần cấu hình

Những việc cần làm khi đưa lên môi trường thật (thay dữ liệu mô phỏng/khoá/license).
Hạng mụcViệc cần làm
EF Core + MySQL (Pomelo)
Nền tảng & hạ tầng
Đổi chuỗi kết nối tại ConnectionStrings:Default trong appsettings.json.
SSI FastConnect Data
Nguồn dữ liệu realtime
Ký hợp đồng SSI FC Data, điền khoá, đổi DI sang SsiFastConnectSource. CẦN API thật.
TradingView Advanced Charts
Biểu đồ kỹ thuật nâng cao
CẦN license + quyền truy cập repo Charting Library của TradingView.
Nguồn BCTC thật
Dữ liệu cơ bản (schema thật)
Nạp/đồng bộ BCTC, cổ đông, cổ tức thật từ API đối tác hoặc nhập tay.
RedisQuoteStore + SignalR backplane
Cache & mở rộng (Redis)
Điền Redis:ConnectionString trong appsettings.json (vd: localhost:6379) để bật.
Cảnh báo tín hiệu
Các trang khác
Bản production: lưu cảnh báo vào DB + worker + Firebase Cloud Messaging (push mobile).
Báo cáo, Kinh tế vĩ mô
Các trang khác
Nạp dữ liệu thật (PDF báo cáo, số liệu GSO/NHNN).