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ục | Việ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). |