Input: Yêu cầu xác thực được gửi từ client.
Bước 1: Lấy mã OTP, mã tài khoản, email có được từ yêu cầu gửi đến.
Bước 2: Tìm kiếm mã OTP được tạo mới nhất trong bảng OTP ở cơ sở dữ liệu có email, mã tài khoản, OTP vừa lấy được ở bước 1.
Bước 3: Nếu tìm thấy mã OTP thực hiện bước 4. Nếu không tìm thấy mã OTP thuực hiện bước 7.
Bước 4: Kiểm tra thời gian nhận được yêu cầu xác thực với thời gian tạo mã OTP. Nếu thời gian nhận được yêu cầu xác thực trong khoảng 1 phút từ khi tạo mã OTP thực hiện bước 5. Nếu thời gian nhận được yêu cầu xác thực ngoài 1 phút từ khi tạo mã OTP thực hiện bước 6.
Bước 5: Gửithông báo xác thựcOTP thành công tới client. Kết thúc. Bước 6: Gửithông báo mã OTPhết hạn tới client. Kết thúc.
Bước 7: Gửithông báo mã OTPkhông hợp lệ tới client. Kết thúc.
Hình 30: giao diện màn hình thông tin tài khoản
Lê Đình Thảo - Lớp K19HTTTB 50
Khóa luận tốt nghiệp Nghiên cứu hệ thống giao dịch chứng khoán trực tuyến và xây dựng mô đun khớp lệnh giao dịch
φ Oepicyie ® Nodejs • heroku-lB ■ United States ⅛
φ kl⅛⅛O⅛0152 ® Nodnjs * nnroku∙lβ ■ UniledStatin ứ
φ kltn2020xxx ⅛5 NMejS ■ rwroκu-lB - unitedStates ứ
Lê Đình Thảo - Lớp K19HTTTB 51
Nghiên cứu hệ thông giao dịch chứng khoán trực tuyến và xây dựng mô đun khớp lệnh giao dịch
Khóa luận tôt nghiệp
3.2. Triển khai hệ thống
Hình 31: Đăng nhập vào heroku để deploy website
[^H^∣ HEROKU Junnp to FavoritMl AfJpS1
PipaIiiWS, Spaces...
Ada this app to a pipeline Add this app to a stage In a pipeline to enable additional features Create a new pipeline or choose an
existing
one and add this app to a stage in It
ɑ ∙ I I>nnected to GitHuO can enable review e together and promote code between them . apps, and create appt for now pull requests
• Icarn more ∙ O I Pam -noro
Bkip Cwvvn t⅛wnvn∣v∣⅛ι⅞
Hình 32: Màn hình chính heroku
Lê Đình Thảo - Lớp K19HTTTB 52
Khóa luận tốt nghiệp Nghiên cứu hệ thống giao dịch chứng khoán trực tuyến và xây dựng mô đun khớp lệnh giao dịch
Hình 33: Tạo một app mới để deploy
I jɔ I HEROKU Jump to Favorites. Apps Pipelines Spaces
θ Perwnet 0 > φ XXXXXyyyyX
ʌ ■ ∙∙λContaInerRegIstry
V V / *∙*∙*
Deploy using Heroku Glt Use git In the command line or a
GUI tool to
deploy this app
Install the Heroku CU Download and Install trw HorolIU ClI
ɪr you haven't already, log Λ to you∣ Heroku account and foβow tne prompts to create a new SSH puθllc key
S Kerolru login Create a new Git repository
IrvtiaIln a git repository in a new or existing directory t Cd ey-pro]ect√
> Keeoku glt:rveote -a XXXXXyyyyV Deploy your application
ComtnH your code to the repository and deploy Il to Heroku using Glt S git add .
t git CMeit -∙∙ *aake it better"
Existing Grt repository
Hình 34: Lựa chọn kết nối github
Khóa luận tốt nghiệp Nghiên cứu hệ thống giao dịch chứng khoán trực tuyến và xây dựng mô đun khớp lệnh giao dịch
∣ ^j^τ^∣ HE∙OKU
θ Personal O > φ XXiocxyyyyM
Overview Resources Deploy Metrtcs Activity
Add this app to ð pipeline Create a new pipeline or choose an existing one and add tn∣s app to a stage In It
Jump to Favorites, Apps, Pipelines, Spaces
* ι Openapp I I MoreC Access Settings
Add this app to a stage In a pipeline to enable additional features
0 Pipelines Iel you connect multiple apps Ii ɑ ∙ pipelines COnnettKS to GitHub can enable review
O together and promote code between them‘ apps and create appt tor new pull requests
• Leam more ∙ ∙ Ieammotv
Deployment method ∕∙j GItHub
¾ √ ee
Connect to GItHub
Connect this app to GItHuD to enable code
OrtTs and deploys.
Searcn tor a repository to connect to
Hình 35: Chọn thư mục chứa code trên github để kết nôi với heroku
pηj HEPOKU
Learn mat⅛~
⅜ Cnooseaplpeiine
Deployment method
4>> H Container Registry
App connected to GitHub
Automatic deploys Enable automatic deploys from GitHub deployed to inis app
Every push to me Drancn you specify here will deploy a new version Ot tn⅛ app Deploys happen automatic ally: be sure mat this
Drancn Is always In a Oeployaoie Slate and any tests nave passed before you push team more
□ WaitforcitopassDetoreoeptoy
Manual deploy
Hình 36: Chọn deploy branch để heroku thực hiện deploy
Khóa luận tốt nghiệp Nghiên cứu hệ thống giao dịch chứng khoán trực tuyến và xây dựng mô đun khớp lệnh giao dịch
Hình 37: Thực hiện khai báo các biến môi trường
3.3. Đánh giá hệ thống
Sau khi hoàn thành website trên localhost và triển khai deploy website lên heroku,
thực hiện việc đánh giá hiệu năng của website trên một số trang test hiệu năng website miễn phí cho các kết quả sau:
Khóa luận tốt nghiệp Nghiên cứu hệ thống giao dịch chứng khoán trực tuyến và xây dựng mô đun khớp lệnh giao dịch
http://kl 9a40401 52.herokuapp.com/ — 0-49 — 50—89 — 98-108 ©
Dư liẹu trường — Báo cáo trái nghiệm người dùng trên Chrome không có đú dữ liêu tốc độ trong thực
tế cho trang nãy.
Origin Summary — Bão cáo trải nghiệm người dùng trẽn Chrome khõng có đủ dữ liệu tốc độ trong r
thực tê cho nguồn này.
Dữ liệu thử nghiệm
▲ Hình ánh có nội dung đâu tiên 8.2 giây
▲ Chì số tô'c độ 9.8 giây
Chí số Hiến thị nội dung có kích λ _
▲ . 7 ' 7117 9.5 giãy
▲ Thời điếm tương tác 12,7 giây
■ Tống thời gian chặn 360 mill giây
Điếm số thay đối bô cục ớ dạng tích lũy ■
Hình 38: Hiệu năng của website khi test với Google PageSpeed Insight
Hình 39: Hiệu năng của website khi test với Gmetrix
Khóa luận tốt nghiệp Nghiên cứu hệ thống giao dịch chứng khoán trực tuyến và xây dựng mô đun khớp lệnh giao dịch
KẾT LUẬN
1. Ket quả đạt được của đề tài
Xuất phát từ yêu cầu xây dựng một website đặt lệnh giao dịch cổ phiểu với MERN
stack và websocket, đề tài đã thực hiện được cơ bản việc phân tích thiết kế và xây dựng website. Website đã mô phỏng lại được quá trình đặt lệnh giao dịch và thực hiện xử lý giao dịch trực tuyến cũng như thực hiện hiển thị bảng giá cổ phiếu theo thời gian thực. Cũng như một số phương pháp bảo vệ giao dịch khi đặt lệnh trực tuyến.
2. Những điểm yếu còn tồn tại
Bên cạnh những điểm tích cực thì hệ thống vẫn còn những điểm yếu do nhiều yếu tố như kiến thức hay thời gian:
- Một số tính năng chưa hoàn thiện như xem chi tiết cổ phiếu, xem biểu đồ báo cáo các giao dịch chứng khoán.
- Hệ thống chỉ dừng lại ở việc mô phỏng đặt lệnh giao dịch, chưa thể sử dụng như một website giao dịch chứng khoán trực tuyến của các công ty chứng khoán.
- Chưa hoàn thiện được đặt lệnh cổ phiếu theo phương pháp thỏa thuận.
3. Hướng phát triển của đề tài
- Xây dựng thêm giao diện cũng như chức năng đặt lệnh cổ phiếu theo phương pháp thỏa thuận.
- Xây dưng các đồ thị, biểu đồ thể hiện chi tiết cổ phiếu, giúp người dùng phân tích được cổ phiếu.
- Phát triển các tính năng thông minh giúp gợi ý cho khách hàng trong việc đặt lệnh cổ phiếu.
Lê Đình Thảo - Lớp K19HTTTB 57
Khóa luận tốt nghiệp Nghiên cứu hệ thống giao dịch chứng khoán trực tuyến và xây dựng mô đun khớp lệnh giao dịch
TÀI LIỆU THAM KHẢO
- TS. Bạch Đức Hiển. Giáo trình Thị trường chứng khoán. Học viện Tài chính - “Quy định về giao dịch”. Truy cập vào tháng 3 năm 2020. Link tham
khảo:“https://www.bsc.com.vn/CustomerSupport/Transaction/24”
- TÌM HIỂU VỀ MONGODB. Truy cập vào tháng 3 năm 2020. Link tham khảo:
“https://viblo.asia/p/tim-hieu-ve-mongodb-4P856ajGlY3”
- Le Van Liem. “Tìm hiểu Expressjs Framework”. Truy cập vào tháng 3 năm 2020. Link tham khảo: “https://viblo.asia/p/phan-1-tim-hieu-express-js-
framework-Qbq5Qq7m5D8”.
- Hoang Trong Hieu. “ReactJS - Ưu điểm và nhược điểm”. Truy cập vào tháng 3 năm 2020. Link tham khảo: “https://viblo.asia/p/reactjs-uu-diem-va-nhuoc-
diem-V3m5WzexlO7”.
- Cơ bản về hoạt động của NODEJS. Truy cập vào năm 2020. Link tham khảo:
“http://rivercrane.vn/co-ban-ve-nodejs-va-cach-thuc-hoat-dong-cua-nodejs/”.
- Ngô Trung Thắng. “Cơ bản về giao thức Websocket và thư viện Socket.io”. Truy cập vào tháng 3 năm 2020. Link tham khảo: “https://viblo.asia/p/co-ban-
ve-giao-thuc-websocket-va-thu-vien-socketio-63vKjmmM52R”.