Tải bản đầy đủ (.pdf) (93 trang)

Tìm hiểu MERN stack và xây dựng ứng dụng minh họa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.73 MB, 93 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
KHOA CƠNG NGHỆ PHẦN MỀM

TRẦN NGỌC HẢI

KHĨA LUẬN TỐT NGHIỆP
TÌM HIỂU MERN STACK VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA
Applying MERN Stack to build application

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP. HỒ CHÍ MINH, 2021


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

TRẦN NGỌC HẢI – 16520333

KHĨA LUẬN TỐT NGHIỆP
TÌM HIỂU MERN STACK VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA
APPLYING MERN STACK TO BUILD APPLICATION

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN
THS.THÁI THỤY HÀN UYỂN

TP. HỒ CHÍ MINH, 2021




THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ………………
ngày ………………….. của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1. . .................................................................................. - Chủ tịch.
2. . .................................................................................. - Thư ký.
3. . .................................................................................. - Ủy viên.
4. . .................................................................................. - Ủy viên.


ĐHQG TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CƠNG NGHỆ THƠNG TIN

TP. HCM, ngày…..tháng…..năm……

NHẬN XÉT KHĨA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ HƯỚNG DẪN)
Tên khóa luận:
TÌM HIỂU MERN STACK VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA

Nhóm SV thực hiện:

Trần Ngọc Hải

Cán bộ hướng dẫn:
ThS. Thái Thụy Hàn Uyển

16520333

Đánh giá Khóa luận:
1. Về cuốn báo cáo:
Số trang:

Số chương:
Số hình vẽ:

khảo:

Số bảng số liệu:
Số tài liệu tham

Sản phẩm:

Một số nhận xét về hình thức cuốn báo cáo:
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
2. Về nội dung nghiên cứu:
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………



……………………………………………………………………………………………
3. Về chương trình ứng dụng:
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
4. Về thái độ làm việc của sinh viên:
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
Đánh giá chung:
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
Điểm từng sinh viên:
Trần Ngọc Hải:

/10
Người nhận xét
(Ký tên và ghi rõ họ tên)


ĐHQG TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc


CƠNG NGHỆ THƠNG TIN

TP. HCM, ngày…..tháng…..năm……

NHẬN XÉT KHĨA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ PHẢN BIỆN)
Tên khóa luận:
TÌM HIỂU MERN STACK VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA

Nhóm SV thực hiện:
Trần Ngọc Hải

Cán bộ phản biện:
16520333

…………………………………..

Đánh giá Khóa luận:
1. Về cuốn báo cáo:
Số trang:

Số chương:

Số bảng số liệu:

Số hình vẽ:

Số tài liệu tham khảo:

Sản phẩm:


Một số nhận xét về hình thức cuốn báo cáo:
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
2. Về nội dung nghiên cứu:
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………


3. Về chương trình ứng dụng:
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
4. Về thái độ làm việc của sinh viên:
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
Đánh giá chung:
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
Điểm từng sinh viên:
Trần Ngọc Hải:

/10
Người nhận xét
(Ký tên và ghi rõ họ tên)



LỜI CÁM ƠN
Sau hơn 4 năm học tập và rèn luyện tại Trường Đại học Công nghệ Thông tin, được
sự tận tình giảng dạy và giúp đỡ của quý thầy cô, đặc biệt là quý thầy cô của khoa
Công nghệ Phần mềm, chúng em đã gặt hái được rất nhiều kiến thức nền tảng bổ ích,
có thể áp dụng vào luận văn cũng như áp dụng trong những chặng đường tiếp theo
sau này.
Chúng em xin chân thành cảm ơn quý thầy cơ của trường Đại học Cơng nghệ Thơng
tin nói chung, quý thầy cô của khoa Công nghệ Phần mềm nói riêng, và đặc biệt là
thầy Lê Thanh Trọng đã tận tình hướng dẫn và đóng góp ý kiến để chúng em có thể
hồn thành khóa luận này một cách tốt nhất.
Bên cạnh đó, nhóm xin gửi lời cảm ơn đến các bạn cùng lớp đã có những lời góp ý,
động viên để nhóm có thêm động lực thực hiện khóa luận trong khoảng thời gian khó
khăn này.
Trong suốt quá trình chúng em tìm hiểu và thực hiện khóa luận, do đề tài sử dụng
cơng nghệ cịn khá mới, thời gian và khả năng có giới hạn nên chúng em vẫn cịn
nhiều thiếu sót. Do đó, nhóm chúng em rất mong nhận được sự thơng cảm và những
ý kiến đóng góp chân thành từ q thầy cơ và các bạn. Một lần nữa, nhóm chúng em
xin chân thành cảm ơn mọi người.
Thành phố Hồ Chí Minh, tháng 01 năm 2021
Trần Ngọc Hải


ĐHQG TP. HỒ CHÍ MINH

CỘNG HỒ XÃ HỘI CHỦ NGHĨA

TRƯỜNG ĐẠI HỌC


VIỆT NAM

CÔNG NGHỆ THÔNG TIN

Độc Lập – Tự Do – Hạnh Phúc

__________________________

__________________________

ĐỀ CƯƠNG CHI TIẾT KHÓA LUẬN TỐT NGHIỆP
Tên đề tài: Tìm hiểu MERN Stack và xây dựng ứng dụng minh họa.
Cán bộ hướng dẫn: Th.S Thái Thụy Hàn Uyển
Thời gian thực hiện: Từ tháng 10/2020 đến tháng 01/2021
Sinh viên thực hiện:
1. Trần Ngọc Hải - 16520333
Nội dung đề tài:
• Đặt vấn đề và mục tiêu:
▪ Ngày nay, cơng nghệ phát triển kéo theo ngơn ngữ lập trình cũng phát triển
khơng ngừng để hỗ trợ lập trình viên hiện thực hóa các ý tưởng. Javascript
nổi lên như một ngơn ngữ lập trình phổ biến bậc nhất, tính đến năm 2016 có
đến 92% website đang sử dụng javascript.
Nội dung đề tài khóa luận, sẽ hướng tới tìm hiểu về các cơng nghệ có trong
MERN Stack từ đó sẽ kết hợp các công nghệ xây dựng một React
Universal App giải quyết các vấn đề có tính ứng dụng thực tế.
▪ Ứng dụng minh họa: chứng khoán và thị trường chứng khoán đang trở thành
một lĩnh vực đầy hứa hẹn tại Việt Nam. Việc nắm rõ những kiến thức cũng
như cách đầu tư chứng khoán là điều hết sức cần thiết để đạt hiệu quả cao.
Ứng dụng xây dựng sẽ hướng đến việc giúp các nhà đầu tư mới có thêm các



kiến thức đầu tư hoặc có nhu cầu nắm bắt thơng tin thị trường cũng như quản
lý tốt hơn dịng tiền đầu tư. Từ đó tăng khả năng đầu tư một cách chủ động,
tránh các rủi ro.
• Đối tượng: Những người chưa từng và mới trong đầu tư thị trường chứng
khốn.
• Phương pháp thực hiện: vận dụng các kĩ năng và thế mạnh cá nhân về
back-end hoặc front-end và các kiến thức có được về lập trình.
• Kết quả mong đợi: Hoàn thành một hệ thống một cách hoàn chỉnh nhất có
thể. Hướng tới xây dựng một cộng đồng đầu tư chứng khốn có vốn kiến
thức nền tốt. Hỗ trợ các cá nhân đầu tư quản lý tốt dòng tiền cũng như đưa
ra các quyết định đầu tư đúng đắn. Cung cấp các phương pháp đầu tư mới
cũng như các phương pháp đầu tư lâu đời đã được những nhà đầu tư nổi
tiếng đề ra.
• Cơng nghệ sử dụng:
o MongoDB
o Express JS
o React
o NodeJS
Kế hoạch thực hiện:
Giai đoạn 1 (01/10/2020 – 20/10/2020): Tìm hiểu cơng nghệ MERN Stack và
các khái niệm cơ bản về chứng khốn, phân tích các ứng dụng hỗ trợ nhà đầu tư
hiện nay.
Giai đoạn 2 (21/10/2020 – 10/11/2020): Từ những kết quả phân tích được, tìm
giải pháp áp dụng công nghệ để giải quyết các vấn đề.
Giai đoạn 3 (11/11/2020 – 30/11/2020): Thiết kế sơ đồ của hệ thống hỗ trợ đưa
ra quyết định đầu tư, thiết kế kiến trúc hệ thống, thiết kế cơ sở dữ liệu.
Giai đoạn 4 (01/12/2020 – 10/01/2021): Xây dựng và phát triển hệ thống.



Xác nhận của CBHD
(Ký tên và ghi rõ họ tên)

TP. HCM, ngày

tháng

năm 2021

Sinh viên
(Ký tên và ghi rõ họ tên)

ThS.Thái Thụy Hàn Uyển

Trần Ngọc Hải


MỤC LỤC
TÓM TẮT KHÓA LUẬN ........................................................................................1
Chương 1. MỞ ĐẦU ..................................................................................................2
1.1.

Giới thiệu đề tài: ............................................................................................2

1.2.

Lý do chọn đề tài: ..........................................................................................4

Chương 2: TỔNG QUAN ĐỀ TÀI ...........................................................................5
2.1.


Mục tiêu: ........................................................................................................5

2.2.

Phạm vi: .........................................................................................................5

2.3.

Phương pháp thực hiện: .................................................................................6

2.4.

Ý nghĩa thực tiễn: ..........................................................................................6

2.5.

Kết quả dự kiến: ............................................................................................7

Chương 3: TÌM HIỂU MERN STACK ...................................................................8
3.1.

Tổng quan về MERN STACK ......................................................................8

3.2.

MongoDB ......................................................................................................8

3.2.1.


No SQL là gì? .........................................................................................9

3.2.2.

Tại sao nên sử dụng MongoDB? ..........................................................10

3.2.3.

Khi nào nên sử dụng MongoDB? .........................................................11

3.2.4.

Khi nào không nên sử dụng MongoDB? ..............................................11

3.2.5.

Ưu điểm?...............................................................................................11

3.2.6.

Nhược điểm? .........................................................................................12

3.2.7.

Khái niệm cơ bản trong MongoDB ......................................................13

3.3.

NodeJS .........................................................................................................14


3.3.1.

NodeJS là gì? ........................................................................................14

3.3.2.

Ưu điểm ................................................................................................15

3.3.3.

Nhược điểm...........................................................................................16

3.4.

ExpressJS .....................................................................................................17

3.4.1.

ExpressJS là gì ? ...................................................................................18

3.4.2.

Cấu trúc thư mục của ExpressJS? .........................................................18

3.5.

ReactJS: .......................................................................................................20

3.5.1.


ReactJS là gì? ........................................................................................20


3.5.2.

Tại sao phải sử dụng ReactJS? .............................................................21

3.5.3.

Nhược điểm: .........................................................................................22

3.5.4.

Phân biệt ReactJS và React Native .......................................................23

Chương 4: TÌM HIỂU SOCKET ............................................................................24
4.1.

Socket là gì?.................................................................................................24

4.2.

Tại sao cần đến Socket?...............................................................................24

4.3.

Socket hoạt động như thế nào? ....................................................................25

4.4.


Phân loại Socket ..........................................................................................26

4.5.

Websocket ...................................................................................................27

4.5.1.

Giao thức Websocket là gì? ..................................................................27

4.5.2.

Hoạt động ..............................................................................................28

4.6.

Socket.io ......................................................................................................31

4.6.1.

Socket.io là gì? ......................................................................................31

4.6.2.

Cơ chế hoạt động: .................................................................................32

Chương 5: TÌM HIỂU HEADLESS BROWSER..................................................33
5.1.

Headless Browsers là gì? .............................................................................33


5.2.

Puppeteer là gì? ...........................................................................................35

Chương 6: TÌM HIỂU FLASK ...............................................................................35
6.1.

Flask là gì? ...................................................................................................35

6.2.

Tính năng của Flask Framework .................................................................37

6.3.

Tại sao nên sử dụng Flask Framework? ......................................................38

6.4.

Ưu điểm và nhược điểm ..............................................................................38

Chương 7: TÌM HIỂU DEEP LEARNING CƠ BẢN ...........................................39
7.1.

Deep learning là gì? ....................................................................................39

7.2.

Giới thiệu Recurrent neural network (RNN)? .............................................40


7.3.

Vấn đề Long-Term Dependencies của RNN ...............................................42

7.4.

Giới thiệu về LSTM.....................................................................................44

7.4.1.

Tổng quan .............................................................................................44

7.4.2.

Cấu trúc LSTM .....................................................................................46

Chương 8: XÂY DỰNG ỨNG DỤNG HỖ TRỢ NHÀ ĐẦU TƯ TRONG LĨNH
VỰC CHỨNG KHOÁN..........................................................................................48


8.1.

Đặt vấn đề ....................................................................................................48

8.2.

Xác định và phân tích yêu cầu .....................................................................48

8.2.1.


Danh sách các Actor .............................................................................48

8.2.2.

Danh sách các Use-case ........................................................................49

8.3.

Thiết kế cơ sở dữ liệu ..................................................................................52

8.4.

Thiết kế kiến trúc hệ thống ..........................................................................60

8.5.

Kiến trúc của ứng dụng web ........................................................................60

8.6.

Thiết kế giao diện và xử lý ..........................................................................60

8.6.1.

Danh sách các trang ..............................................................................60

8.6.2.

Giao diện xử lý một số tính năng chính ................................................60


Chương 9: KẾT LUẬN ............................................................................................75
9.1.

Kết quả đạt được ..........................................................................................75

9.2.

Thuận lợi và khó khăn .................................................................................75

9.2.1.

Thuận lợi ...............................................................................................75

9.2.2.

Khó khăn ...............................................................................................75

9.3.

Hướng phát triển ..........................................................................................75

TÀI LIỆU THAM KHẢO ......................................................................................76


DANH MỤC HÌNH VẼ


DANH MỤC BẢNG



DANH MỤC TỪ VIẾT TẮT


TÓM TẮT KHÓA LUẬN
-

Tổng quan đề tài: đặt vấn đề, lý do chọn đề tài, mục tiêu và phạm vi tiếp cận đề
tài.

-

Tìm hiểu khái niệm MERN Stack và các đặc điểm riêng biệt của nó. Từ đó xây
dựng được một ứng dụng web.

-

Tìm hiểu về các kiến thức cơ bản của chứng khốn và phương pháp đầu tư. Mục
đích giới thiệu cũng như hướng nhà đầu tư đến việc đầu tư một cách có kiến thức
và chủ động.

-

Tim hiểu về khái niệm Headless Browser nhằm ứng dụng trong việc thu thập dữ
liệu cũng như cập nhật dữ liệu.

-

Tìm hiểu khái niệm và ứng dụng công nghệ Socket phát triển các chức năng có
tính real time.


-

Tìm hiểu Deep Learning cơ bản và xây dựng chức năng hỗ trợ người dùng với
mơ hình LTSM (Long Short Term Memory).

-

Phân tích, thiết kế kiến trúc hệ thống, thiết kế cơ sở dữ liệu và giao diện cho ứng
dụng web.

-

Triển khai hệ thống máy chủ và ứng dụng bằng cách sử dụng các nền tảng, dịch
vụ như Heroku.

-

Trình bày kết luận và hướng phát triển cho hệ thống hỗ trợ đưa ra quyết định đầu
tư cho người dùng.

1


Chương 1. MỞ ĐẦU
1.1.

Giới thiệu đề tài:

Thực tế phát triển kinh tế ở các quốc gia trên thế giới đã khẳng định vai trị quan trọng

của thị trường chứng khốn (TTCK) trong phát triển kinh tế. Mọi biến động trên
TCCK đều có thể tác động đến nền kinh tế và các nhà đầu tư. Đây chính là kênh dẫn
vốn quan trọng của nền kinh tế và cũng là kênh đầu tư tiềm năng của công chúng.
Ngày 23/12/2020, câu lạc bộ Nhà báo chứng khốn (SJCV) tổ chức cơng bố 10 sự
kiện chứng khoán nổi bật năm 2020. Đây là sự kiện thường niên được SJCV khởi
xướng và công bố từ năm 2007 đến nay. Một trong những sự kiện nổi bật là số lượng
nhà đầu tư mới tham gia TTCK cao kỷ lục.
Năm 2020 là một năm đặc biệt đối với thế giới nói chung, Việt Nam nói riêng khi các
quốc gia phải đối mặt với những khó khăn, thách thức do đại dịch Covid-19 gây
nên. Dưới sự lãnh đạo của Đảng và Nhà nước, sự chỉ đạo, điều hành của Chính
phủ, sự đồng lịng của tồn bộ hệ thống chính trị, Việt Nam thực hiện được mục tiêu
kép là kiểm soát tốt sự lây lan của dịch, đồng thời vẫn phát triển kinh tế. Cùng với
đó, thị trường chứng khốn (TTCK) Việt Nam đã có sự phục hồi, tăng trưởng mạnh
mẽ.
Do ảnh hưởng của Covid-19, kênh đầu tư bất động sản đóng băng, lãi suất tiền gửi "có
cũng như khơng". Cùng lúc đó mức độ phục hồi mạnh mẽ của TTCK, dòng tiền đã
chảy mạnh vào kênh đầu tư chứng khốn, rất nhiều người đã tìm đến chứng khốn,
sung sức gia nhập "đội quân lính mới", những người lần đầu mở tài khoản chứng khoán,
nâng đỡ thị trường, tạo nên nhiều kỷ lục. Thị trường ghi nhận quy mô tham gia của
nhà đầu tư mới cao chưa từng thấy trong lịch sử.
Số liệu từ Trung tâm lưu ký chứng khoán (VSD) cho thấy, tổng cộng gần 28.600 tài
khoản giao dịch chứng khoán được mở trong tháng 8/2020, tăng 4,4% so với mức
tăng của tháng 7. Trong đó, nhà đầu tư cá nhân trong nước đã mở mới 28.271 tài
khoản, nhà đầu tư tổ chức trong nước mở mới 91 tài khoản và nhà đầu tư nước ngoài

2


mở mới 229 tài khoản. Như vậy, tính tổng số lượng tài khoản đến hết 31/8 là gần 2,8
triệu.

Tính đến hết tháng 11/2020, tổng số tài khoản mở mới trong năm đạt 332.886 tài
khoản, trong đó nhà đầu tư cá nhân trong nước mở mới 329.452 tài khoản.
Sự tham gia mạnh mẽ của các nhà đầu tư mới cũng đẩy thanh khoản thị trường tăng
lên ngưỡng kỷ lục với phiên giao dịch đạt gần 23.562 tỷ đồng hai sàn ngày
15/06/2020. Giá trị khớp lệnh cũng liên tục đạt hơn 10.000 tỷ đồng/phiên trong tháng
12/2020.

Hình 1-1 Thống kê số lượng tài khoản mở mới tính đến tháng 11-2020 của Trung
tâm Lưu ký chứng khoán Việt Nam.
Nguồn: tuoitre.vn

3


1.2.

Lý do chọn đề tài:

Số lượng nhà đầu tư chọn chứng khoán là nơi gửi niềm tin ngày càng nhiều và dự
kiến sẽ còn tiếp tục tăng nhanh trong thời gian tiếp theo khi Thủ tướng Chính phủ
Nguyễn Xuân Phúc ban hành Đề án tái cấu trúc TTCK Việt Nam, trong đó đặt mục
tiêu tăng số lượng nhà đầu tư lên 3% dân số, tương đương với gần 3 triệu tài khoản
đến năm 2020 và nâng lên 5% đến năm 2025.

Hình 1-2 Thống kê số lượng tài khoảng mở theo tháng của năm 2020
Nguồn: nhandan.com.vn
Chứng khốn ln là kênh đầu tư mang lại giá trị lớn. Nhưng nếu là một nhà đầu tư
chứng khoán bạn sẽ nhận ra giá cổ phiếu tăng giảm liên tục. Có rất nhiều yếu tố ảnh
hưởng đến giá trị của cổ phiếu như: sự phát triển của nền kinh tế quốc dân và thế giới,
quy luật cung cầu của thị trường, kết quả kinh doanh của doanh nghiệp, thông tin gây

nhiễu và tâm lý của nhà đầu tư... Nhận biết về những yếu tố ảnh hưởng đến giá cổ
phiếu đóng vai trị quan trọng trong việc ra quyết định mua bán, đầu tư cổ phiếu. Sau
khi nhận biết được những yếu tố này, nhà đầu tư cần phải nghiên cứu thật sâu để đánh

4


giá tác động của chúng đến các cổ phiếu mà mình quan tâm, từ đó góp phần đánh giá
chính xác “giá trị thực” của cổ phiếu.
MERN stack là nguyên bộ combo open source các công nghệ đều liên quan đến
Javascript là cũng hot nhất hiện nay: MongoDB, ExpressJS, React/React Native,
NodeJS. Từ đó giúp nhà đầu tư nhận biết và có cái nhìn đầy đủ về các yếu tố ảnh
hưởng trên, tránh được cái nhìn phiến diện, cảm tính về các cổ phiếu. Đồng thời giới
thiệu cho người dùng về các phương pháp đầu tư nổi tiếng trong lĩnh vực đầu tư
chứng khốn.
Đó là lý do nhóm chọn đề tài Khóa luận Tốt nghiệp là “Tìm hiểu MERN Stack và
xây dựng ứng dụng minh họa” - Ứng dụng hỗ trợ đưa ra quyết định của nhà đầu tư
trong lĩnh vực chứng khốn.

Chương 2: TỔNG QUAN ĐỀ TÀI
2.1.
-

Mục tiêu:
Tìm hiểu khái niệm MERN Stack, cụ thể là các từ khóa cơng nghệ bao gồm
MongoDB, Express, React, Node.

-

Tìm hiểu về khái niệm Socket.


-

Tìm hiểu về khái niệm Headless Browser, tiếp đến là thư viện Puppeteer.

-

Tìm hiểu ngơn ngữ Python giúp ích cho việc phát triển chức năng cũng như
xây dựng microservice bằng Web Framework là Flask.

-

Tìm hiểu khái niệm Deep Learning cơ bản với mơ hình Long short term
memory (LSTM) sự cải tiến của Recurrent neural network (RNN) cho bài toán
dữ liệu dạng chuỗi (sequence).

-

Tìm hiểu các kiến thức cơ bản của chứng khoán để áp dụng vào việc phát triển
hệ thống.

2.2.

Phạm vi:

Hệ thống xây dựng giúp người dùng tổng hợp được các thơng tin trong lĩnh vực chứng
khốn. Cập nhật liên tục giá cả, hỗ trợ đưa ra các cảnh báo về giá cổ phiếu đối với

5



những mã cổ phiếu yêu thích. Giới thiệu đến người dùng cũng như hỗ trợ tiếp cần với
các phương pháp đầu tư nổi tiếng.
2.3.

Phương pháp thực hiện:

Thực hiện đề tài theo các bước:
-

Phần tích đề tài.

-

Tìm hiểu các kiến thức về chứng khốn.

-

Tham khảo những người có kinh nghiệm trong lĩnh vực đầu tư chứng khốn
từ đó đưa ra các tính năng đáp ứng cho nhu cầu của người dùng.

-

Tham khảo các trang thông tin, ứng dụng hỗ trợ nhà đầu tư. Tổng hợp những
yêu cầu thiết yếu của một hệ thống hỗ trợ nhà đầu tư, đồng thời tìm ra những
cái mới để có thể tích hợp mang lại trải nghiệm tốt hơn cho người dùng.

-

Phân tích các yêu cầu đã thu thập được.


-

Thiết kế cơ bản các yêu cầu.

-

Nghiên cứu công nghệ để áp dụng.

-

Phát triển sản phẩm theo từng giai đoạn, đồng thời lấy ý kiến phản hồi.

-

Kiểm thử và hồn thiện.

Những cơng nghệ được sử dụng:
-

Back-end:
o Node JS.
o Express Framework.
o Flask Framework.
o TensorFlow, Scikit-learn.
o MongoDB.

-

Font-end:

o React JS Framework.
o Material UI.
o Ant Design.

2.4.
-

Ý nghĩa thực tiễn:
Thay đổi suy nghĩ của một số nhà đầu tư rằng đầu tư chứng khoán giống một

6


trò chơi may rủi. May rủi chỉ quyết định một phần, cịn lại một phần cực kỳ
quan trọng khác đó là kiến thức đầu tư.
-

Hệ thống hướng đến việc cung cấp các kiến thức của một nhà đầu tư, giúp đỡ
các nhà đầu tư mới hay nhà đầu tư đang loay hoay trong việc tìm ra mã cổ
phiếu phù hợp.

-

Tránh rủi ro cho nhà đầu tư, đồng thời có cái nhìn bao qt hơn về thị trường
chứng khốn vốn rất phức tạp.

2.5.

Kết quả dự kiến:


Hiểu rõ về những khái niệm về MERN Stack cụ thể gồm: MongoDB, ExpressJS,
React/React Native, NodeJS. Xây dựng hệ thống hỗ trợ tổng hợp thông tin hữu ích
cho nhà đầu tư và cung cấp kiến thức đầu tư với các nhà đầu tư mới. Những tính năng
hỗ trợ người dùng gồm:
-

Đọc tin tức tổng hợp thị trường chứng khốn từ các nguồn uy tín.

-

Theo dõi giá cổ phiếu trong mỗi phiên giao dịch.

-

Nhận cảnh báo về giá hoặc khối lượng dao dịch bất thường hoặc có tính hệ
thống của các mã cổ phiếu yêu thích.

-

Xem các báo cáo tài chính, thống kê giao dịch trích từ nguồn cafef.vn.

-

Dự đoán giá cổ phiếu.

-

Tiếp cận các phương pháp đầu tư, từ đó đánh giá khách quan về mã cổ phiếu
dự định đầu tư.


7


Chương 3: TÌM HIỂU MERN STACK
3.1.

Tổng quan về MERN STACK

Hình 3-1 MERN Stack
Nguồn: tech365.ng
MERN stack là nguyên bộ combo open source các công nghệ đều liên quan đến
Javascript là cũng hot nhất hiện nay: MongoDB, ExpressJS, React/React Native,
NodeJS. Người ta dùng MERN stack để xây dựng React Universal App.
3.2.

MongoDB

8


×