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

báo cáo thực tập lập trình BACKEND với NODEJS EXPRESSJS

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 (898.39 KB, 23 trang )

1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP

LẬP TRÌNH BACKEND VỚI
NODEJS – EXPRESSJS

Cơng ty thực tập

: TNHH Công nghệ Sum Việt

Lớp

: SE501.L11.PMCL

Thực tập sinh

: Chung Nguyễn Trường Duy

TP. Hồ Chí Minh, tháng 1 năm 2021
Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


2

LỜI MỞ ĐẦU



Ngày nay, ngành công nghiệp phát triển ứng dụng web là một bộ phận không thể
thiếu của ngành công nghiệp phần mềm. Với tốc độ phát triển vô cùng mạnh mẽ, ngành phát
triển ứng dụng web đã và đang là nhân tố kích thích sự phát triển của công nghệ thông tin
thế giới, cả về phần cứng và phần mềm.
Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải ngoại lệ. Ngành
công nghiệp phát triển web non trẻ Việt Nam đã và đang phát triển mạnh mẽ, để hịa nhập
với những cơng ty hàng đầu về xây dựng nền tảng web trên thế giới. Bên cạnh sự phát triển
của web thì những ngành nghề được tiếp cận người dùng một cách nhanh chóng như những
gì ta có thể thấy là mạng xã hội hay những website bán hàng trực tuyến cũng đang rất thịnh
hành trên cả thế giới lẫn Việt Nam.
Sau ba năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng
như muốn được tham gia làm game trong một mơi trường chun nghiệp, em có dự định là
sẽ thực tập trong hè. Vì vậy, em quyết định chọn Gameloft - một môi trường lý tưởng, hiện
đại, chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định này.

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


3

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Công ty TNHH Công nghệ Sum Việt đã tạo điều kiện cho
em có cơ hội được thực tập tại cơng ty.
Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của nhóm trainer,
nhóm thực tập chúng em đã tiếp thu được những kiến thức quan trọng để có thể làm được
một web server. Chân thành cảm ơn các anh chị trong nhóm trainer đã bỏ ra nhiều thời

gian,cơng sức để hướng dẫn chúng em hoàn thành đợt thực tập này.
Đặc biệt cảm ơn anh Trần Quốc Khánh, đã training nodejs, hướng dẫn, giúp đỡ cho
chúng em tận tình cả những khó khăn trong cơng việc, đến những khó khăn việc làm quen
với môi trường mới.
Cũng xin cảm ơn thầy cơ trong khoa Cơng nghệ phần mềm đã nhiệt tình hỗ trợ, tạo
điều kiện em làm bài báo cáo này.
Chung Nguyễn Trường Duy
TpHCM, ngày 1 tháng 1 năm 2021

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


4

NHẬN XÉT CỦA KHOA

..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................

..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


5

MỤC LỤC
Chương 1: Giới thiêu công ty thực tập ..............................................................................................6
1. Giới thiệu công ty Sum Việt.....................................................................................................6
2. Sản phẩm của công ty ..............................................................................................................6
Chương 2: Nội dung thực tập .............................................................................................................7
1. Tìm hiểu công ty và các kỹ năng cơ bản trong công ty .........................................................7
2. Nghiên cứu kỹ thuật .................................................................................................................7
2.1.

Giới thiệu gitlab..................................................................................................................7

2.2.

Giới thiệu Visual Studio Code ...........................................................................................9

2.3.


Giới thiệu redmind ...........................................................................................................10

2.4.

Tìm hiểu về RESTful API ................................................................................................11

2.5.

Tìm hiểu cở sở dữ liệu mongoDb ....................................................................................11

2.6.

Tìm hiểu về Nodejs ...........................................................................................................12

2.7.

Lập trình Typescript + một số thư viện hỗ trợ ................................................................13

3. Thực hiện project ...................................................................................................................14
4. Lịch làm việc ...........................................................................................................................15
Chương 3: Chi tiết về project ...........................................................................................................16
3.1

Giới thiệu về PawnVn .........................................................................................................16

3.2

Thực hiện .............................................................................................................................21

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

TỔNG KẾT ........................................................................................................................................23

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


6

Chương 1: Giới thiêu công ty thực tập

1. Giới thiệu công ty Sum Việt
Tiền thân là công ty phát triển truyền thông quảng cáo Codosa
với các lĩnh vực kinh doanh: lập trình ứng dụng cơng nghệ, truyền thơng & quảng
cáo, sản xuất nơng nghiệp sạch, phân phối phân bón sinh học.
Với tâm huyết muốn phát triển & ứng dụng công nghệ 4.0 vào phục
vụ đời sống, nâng cao chất lượng dịch vụ, lợi ích đến người tiêu dùng, đồng thời
giải quyết vấn đề kết nối thương mại cho doanh nghiệp. Ban lãnh đạo công ty đã
chuyển đổi & phát triển công ty Codosa Holding trở thành một công ty đầu tư &
phát triển công nghệ thông minh 4.0: Big Data, AI - Trí thơng minh nhân tạo,
Blockchain, nhận diện khn mặt,...
2. Sản phẩm của công ty
Sum Việt hiện tại đã và đang cung cấp các sản phẩm công nghệ từ website (Thương
mại điện tử, Fintech, … ), ứng dụng di động (Ví điện tử, … ) đến game, sàn trade dựa trên
các nền tảng như Binary Option, MT4 & MT6 Platform, trade Forex, Crypto, …

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy



7

Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình backend server với Nodejs” nhằm mục đích giúp
sinh viên thực tập được đào tạo toàn diện về lập trình server website, đồng thời rèn luyện
những kỹ năng mềm như làm việc nhóm, thuyết trình, giao tiếp. Tại cơng ty, sinh viên có cơ
hội được học tập, khám phá và làm việc trong một môi trường chuyên nghiệp.
1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty
Thời gian : 1 ngày
Nội dung : Giới thiệu về công ty, cách tổ chức của công ty
Được nghe người phụ trách giới thiệu về công ty, quá trình thành lập và phát
triên (như đã nhắc đến ở trên), quy trình làm việc từ cao xuống thấp, cách thức tổ
chức của cơng ty .
Ngồi ra, thực tập sinh còn được giới thiệu về cách thức làm việc trong công ty
như thời gian đi làm, các quy định cần phải tuân thủ, cách sử dụng email trong công
việc…
2. Nghiên cứu kỹ thuật
2.1.

Giới thiệu gitlab

Hình 2.1: Logo gitlab.com
Gitlab là hệ thống self-hosted mã nguồn mở dựa trên hệ thống máy chủ Git dùng
để quản lý mã nguồn của bạn. Gitlab cung cấp giải pháp server một cách hoàn hảo và nhận
sự đánh giá cao từ cộng đồng.
Những đặc điểm cần biết của Gitlab gồm:

Thực tập tốt nghiệp


Chung Nguyễn Trường Duy


8

-

Phiên bản Gitlab: Hiện nay gitlab hỗ trợ 3 phiên bản là: Gitlab community
edition (CE) là phiên bản cộng động, mã nguồn mở, cung cấp qua Git từ kho
lưu trữ chứa Gitlab. Bản mới nhất của Gitlab được các nhà phát triển release
tại các nhánh stable và nhánh master. Gitlab enterprise edition (EE) là gitlab
phiên bản doanh nghiệp, có sẵn không lâu sau khi phát hành CE, được cung
cấp từ kho lưu trữ. Khi một doanh nghiệp đăng ký Gitlab sẽ nhận được support
của Gitlab khi gặp khó khăn trong quá trình cài đặt. Gitlab continuous
integration (CI) là một giải pháp tích hợp được thực hiện bởi nhóm phát triển
Gitlab.

-

Protected branches: Cho phép đọc hoặc ghi vào repository và các branches.
Protected branches cấp quyền cho những người được phép commit và pushing
code. Một protected branch gồm 3 điều cơ bản. Một là ngăn chặn việc push từ
tất cả mọi người trừ user và master. Hai là ngăn chặn việc push code lên
branch từ những người khơng có quyền truy cập. Ba là ngăn chặn bất kỳ ai
thực hiện xóa branch. Master branch được mặc định là protected branch. User
cần được cấp it nhất một quyền từ master branch để bảo mật branch.

-

Tầng vật lý của Gitlab:

Kho lưu trữ: là nơi xử lý các dự án trong Gitlab, các dự án hoặc sản phẩm có
thể được lưu tại kho.
Nginx có cách thực hoạt động giống như front-desk: người dùng đến Nginx
và yêu cầu hành động được thực hiện bởi worker trong văn phòng.
Gitlab-shell: là loại thứ ba của worker, thực hiện nhiệm vụ tạo các đơn đặt
hàng từ một máy fax (SSH) thay vì front-desk (HTTP). Gitlab-shell giao tiếp
với Sidekiq qua redis và hỏi những câu hỏi nhanh của Unicorn worker hoặc
trực tiếp hoặc qua front-desk.
Gitlab enterprise edition: là tập hợp các quy trình và hoạt động kinh doanh
được điều hành bởi office.

-

System layout: Khi nói đến git trong hình ảnh có thể hiểu thư mục home của
người dùng git là /home/git. Repositories bare trong đường dẫn
/home/git/repositories. Gitlab là một ứng dụng được viết bằng ngôn ngữ ruby

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


9

on rails. Do đó, để biết rõ các hoạt động bên trong bạn có thể tìm hiểu về hoạt
động của ruby on rails.
-

Components:


Hình 2.2: Sơ đồ kiến trúc components của gitlab
Những lý do chọn gitlab:
-

Mang lại sự tiện lợi cho các lập trình viên khi cần lưu trữ, tải lên, tải xuống
code.

2.2.

-

Kiểm sốt các thay đổi trong code nhanh chóng, chính xác.

-

Hỗ trợ việc quản lý, phân phối cơng việc trong dự án lập trình hiệu quả hơn.

Giới thiệu Visual Studio Code

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


10

Hình 2.3: Chương trình Visual Studio Code
Visual Studio Code là sản phẩm của Microsoft, ra mắt vào tháng 4 năm 2015 ở hội
nghị Build. Đặc điểm nổi bật là đơn giản, gọn nhẹ, dễ dàng cài đặt.
Visual Studio Code có thể cài đặt được trên cả Windows, Linux và Mac OS và hỗ trợ

nhiều ngôn ngữ khác nhau.
Visual Studio Code là một trình biên tập mã. Nó hỗ trợ nhiều ngôn ngữ và chức năng
tùy vào ngôn ngữ sử dụng theo như trong bảng sau. Nhiều chức năng của Visual Studio
Code không hiển thị ra trong các menu tùy chọn hay giao diện người dùng. Thay vào đó,
chúng được gọi thông qua khung nhập lệnh hoặc qua một tập tin .json (ví dụ như tập tin tùy
chỉnh của người dùng). Khung nhập lệnh là một giao diện theo dòng lệnh. Tuy nhiên, nó
biến mất khi người dùng nhấp bất cứ nơi nào khác, hoặc nhấn tổ hợp phím để tương tác với
một cái gì đó ở bên ngồi đó. Tương tự như vậy với những dòng lệnh tốn nhiều thời gian để
xử lý. Khi thực hiện những điều trên thì q trình xử lý dịng lệnh đó sẽ bị hủy.
2.3.

Giới thiệu redmind

Hình 2.4: Logo redmind.org
Redmind là một cơng cụ được tạo ra nhằm mục đích theo dõi các vấn đề xẩy ra của
một dự án và quản lý dự án đó. Redmind hoạt động trên web miễn phí và mã nguồn mở để
người dùng dễ dàng sử dụng. Đây là phần mềm hỗ trợ cho người sử dụng quản lý nhiều dự
án cùng một lúc hoặc các tiểu dự án có liên quan đến nhau và liên quan đến dự án chính.
Redmind có tính năng cho mỗi một dự án khác nhay và diễn đàn khác nhau. Redmind giúp
theo dõi thời gian, kiểm sốt các truy cập với vai trị linh hoạt của nó trong từng dự án.
Quản lý dự án Redmine sẽ giúp bạn dễ dàng hơn trong việc quản lý các vấn đề của dự
án web và được viết bằng Ruby on Rails. Với việc sử dụng miễn phí phần mềm này đã giúp
bạn quản lý dự án hiệu quả và khoa học hơn.

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


11


2.4.

Tìm hiểu về RESTful API
API (Application Programming Interface) là một tập các quy tắc và cơ chế mà theo

đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay thành phần khác.
API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình ở những kiểu dữ liệu phổ biến
như JSON hay XML.
REST (REpresentational State Transfer) là một dạng chuyển đổi cấu trúc dữ liệu,
một kiểu kiến trúc để viết API. Nó sử dụng phương thức HTTP đơn giản để tạo cho giao tiếp
giữa các máy. Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông tin người dùng,
REST gửi một yêu cầu HTTP như GET, POST, DELETE, vv đến một URL để xử lý dữ liệu.
RESTful API là một tiêu chuẩn dùng trong việc thiết kế các API cho các ứng dụng
web để quản lý các resource. RESTful là một trong những kiểu thiết kế API được sử dụng
phổ biến ngày nay để cho các ứng dụng (web, mobile…) khác nhau giao tiếp với nhau.
REST hoạt động chủ yếu dựa vào giao thức HTTP. Các hoạt động cơ bản nêu trên sẽ
sử dụng những phương thức HTTP riêng.


GET (SELECT): Trả về một Resource hoặc một danh sách Resource.



POST (CREATE): Tạo mới một Resource.



PUT (UPDATE): Cập nhật thơng tin cho Resource.




DELETE (DELETE): Xố một Resource.

Những phương thức hay hoạt động này thường được gọi là CRUD tương ứng với
Create, Read, Update, Delete – Tạo, Đọc, Sửa, Xóa.
2.5.

Tìm hiểu cở sở dữ liệu mongoDb

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


12

Hình 2.5: Logo MongoDb
MongoDb là một cơ sở dữ liệu mã nguồn mở được thiết kế theo kiểu hướng đối
tượng
trong đó các bảng được cấu trúc một cách linh hoạt cho phép các dữ liệu lưu trên bảng không
cần phải tuân theo một dạng cấu trúc nhất định nào. Chính do cấu trúc linh hoạt này nên
MongoDB có thể được dùng để lưu trữ các dữ liệu có cấu trúc phức tạp và đa dạng và khơng
cố định (hay cịn gọi là Big Data).
Một số đặc điểm của MongoDb:

2.6.

-


Kho lưu định hướng Document: Dữ liệu được lưu trong các tài liệu kiểu JSON.

-

Lập chỉ mục trên bất kỳ thuộc tính nào.

-

Các truy vấn đa dạng.

-

Cập nhật nhanh hơn.

Tìm hiểu về Nodejs

Hình 2.6 Logo Nodejs

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


13

NodeJs là một nền tảng dựa vào Chrome Javascript runtime để xây dựng các ứng
dụng nhanh, có độ lớn. NodeJS sử dụng các phần phát sinh các sự kiện (event-driven), mơ
hình non-blocking I/O để tạo ra các ứng dụng nhẹ và hiệu quả cho các ứng dụng về dữ liệu
thời gian thực chạy trên các thiết bị phân tán.
NodeJs là một mã nguồn mở, đa nền tảng cho phát triển các ứng dụng phía Server

và cácCác dự án theo quy trình Waterfall thường cần define cụ thể yêu cầu của dự án, trong
khi các yêu cầu trong các dự án Agile có thể thay đổi và phát triển.
Trong các dự án Waterfall, bạn không thể thay đổi những thứ bạn đã làm trong những
công đoạn trước, tuy nhiên Agile rất phù hợp và có thể đáp ứng được các thay đổi.
2.7.

Lập trình Typescript + một số thư viện hỗ trợ

Hình 2.7: Logo Typescript
Typescript là một dự án mã nguồn mở được Microsoft phát triển, được xem là một
phiên bản nâng cao của Javascript.
TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


14

TypeScript thêm các namespace, class và module tùy chọn vào JavaScript. TypeScript
hỗ trợ các công cụ cho các ứng dụng JavaScript quy mơ lớn cho bất kỳ trình duyệt nào, cho
bất kỳ máy chủ nào, trên bất kỳ hệ điều hành nào.
Ưu điểm của Typescript:
-

Dễ dàng hơn trong phát triển các dự án lớn, được hỗ trợ bởi các Javascript
Framework lớn.

-


Hỗ trợ OOP mạnh: Hầu hết các cú pháp hướng đối tượng đều được hỗ trợ bởi
Typescript như kế thừa, đóng gói, constructor, abstract, interface, implement,
override...v.v

-

Cách tổ chức code rõ ràng hơn bởi được hỗ trợ các kỹ thuật mới nhất và hỗ trợ
lập trình hướng đối tượng: Hỗ trợ cơ chế giúp kiến trúc hệ thống code hướng
module, hỗ trợ namespace, giúp xây dựng các hệ thống lớn nơi mà nhiều dev
có thể làm việc cùng nhau một cách dễ dàng hơn.

-

Hỗ trợ các tính năng mới nhất của Javascript.

-

Một lợi thế của Typescript nữa là mã nguồn mở vì vậy nó miễn phí và có cộng
đồng hỗ trợ rất lớn.

Typescript đang được sử dụng ở các Framework Front-end phổ biến như
Angular 2, Ionic... cũng như Nền tảng cho back-end như Node-js bởi những ưu điểm của
mình.
3. Thực hiện project
Sau gần một tháng được training và thực hành, thực tập sinh đã nắm được những kiến
thực cơ bản về mongoDb, nodejs, typescript. Trong tháng thứ hai, trainer đã hướng
dẫn thực tập sinh áp dụng những kiến thức đã học để thực hiện một project product
của công ty
Chi tiết dự án sẽ được nói ở phần sau.

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


15

4. Lịch làm việc
Tuần

Cơng việc

Người hướng dẫn

❖ Tìm hiểu về công ty, cách tổ chức của công Anh Nguyễn Vĩnh Khiêm
ty.
1

❖ Làm quen với các công cụ làm việc trong
công ty.
❖ Học cách trao đổi, làm việc qua slack.
❖ Học tập ôn lại các kiến thức cũ, nắm chắc Anh Trần Quốc Khánh
những gì cơ bản đã học.

1
❖ Tìm hiểu, ôn tập về Typescript, NodeJS,
MongoDB

2


❖ Tìm hiểu Typescript
❖ Tham gia vào dự án PawnVn

3-7

❖ Tìm hiểu cấu trúc project
❖ Viết bắt đầu viết api.
❖ Viết document và Swageer.

8 trở đi

❖ Viết Unit test cho hệ thống.
❖ Tham gia các hoạt động nghiên cứu, cuộc thi
tại công ty.

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


16

Chương 3: Chi tiết về project
Theo quy chế đối với thực tập sinh, trích dẫn:
Điều 5: Bảo mật thơng tin
Phần a.Thông tin của khách hàng: … Bảo mật thông tin khách hàng ( họ tên, địa chỉ,
điện thoại, sản phẩm, doanh thu, dữ liệu, …)
Phần b.Thông tin của công ty: … Đảm bảo an tồn thơng tin về sản phẩm, dự án đang
trong giai đoạn kế hoạch, phát triển sản phẩm hoặc chưa được phép công bố
Nên phần này sẽ mơ tả giới hạn về q trình thực tập

Giới thiệu về PawnVn

3.1

a. Giới thiệu
PawnVn là ứng dụng thương mại điện tử theo hình thức P2P kết hợp với mall
từ đối tác hoặc sở hữu của công ty. Ứng dụng cho phép người dùng giao dịch trực tiếp thông
qua ứng dụng dưới sự kiểm duyệt sản phẩm từ cửa hàng và các chuyên gia kiểm định nhằm
đem lại sản phẩm đúng và an toàn với người mua và người bán.
b. Chi tiết ứng dụng
Ứng dụng được xây dựng bằng ReactJs, server sử dụng NodeJS với mục đích tiết
kiệm chi phí khi phát triển ứng dụng.
Các công nghệ sử dụng trong dự án:
-

Mongoose: Mongoose là một framework JavaScript thường được sử dụng
trong ứng dụng Node.js với database là MongoDB

-

Bcrypt: BCrypt là một thuật tốn mã hóa mật khẩu được thiết kế bởi Niels
Provos and David Mazières. BCrypt được đánh giá là bảo mật và an toàn hơn

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


17


so với MD5 và SHA bởi mỗi lần thực hiện băm nó lại cho một giá trị khác
nhau, việc này khiến cho việc dị tìm mật khẩu trở nên khó hơn.
-

Jsonwebtoken: JSON Web Token (JWT) là 1 tiêu chuẩn mở (RFC 7519) định
nghĩa cách thức truyền tin an toàn giữa các thành viên bằng 1 đối tượng JSON.
Thông tin này có thể được xác thực và đánh dấu tin cậy nhờ vào “chữ ký” của
nó. Phần chữ ký của JWT sẽ được mã hóa lại bằng HMAC hoặc RSA.

-

Swagger-ui-express: Swagger UI là một tool cho phép bất kỳ ai - từ developers
cho đến end users - có thể hình dung và tương tác với các tài nguyên API của
dự án. Tool này sẽ tự động generates ra API documents từ file config Swagger,
với cái nhìn trực quan và việc triển khai trở nên dễ dàng hơn cho phía client.

-

Axios: Axios là một HTTP Client được viết dựa trên Promise, được dùng cho
việc hỗ trợ xây dựng các ứng dụng API, nó có thể sử dụng trong React, Vue,
Angular…

-

Cors: CORS là một cơ chế cho phép nhiều tài nguyên khác nhau (fonts,
Javascript, v.v…) của một trang web có thể được truy vấn từ domain khác với
domain của trang đó. CORS là viết tắt của từ Cross-origin resource sharing

-


Helmet: Helmet là một package được viêt để giúp bạn bảo vệ ứng dụng của
mình khỏi những lỗ hổng đã biết bằng cách thiết lập các Http headers một cách

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


18

phù hợp Thực tế thì Helmet chỉ là một tập hợp các Middleware nhỏ làm nhiệm
vụ thiết lập các Http headers liên quan đến bảo mật

-

PM2: pm2 là một trình quản lý các process (tiến trình) dành cho các ứng dụng
Nodejs. Nó được viết bằng chính Nodejs và Shell. PM2 cũng được tích hợp bộ
cân bằng tải (load balancer). Bạn có thể giữ cho các process của server cịn
sống và reload/restart với zero downtime.

-

Nginx: là một phần mềm web server mã nguồn mở nỗi tiếng. Ban đầu nó dùng
để phục vụ web HTTP. Tuy nhiên, ngày nay nó cũng được dùng làm reverse
proxy, HTTP load balancer và email proxy như IMAP, POP3, và SMTP

c. Một số giao diện:
Một sô màn hình giao diện hệ thống và màn hình giao diện swagger

Hình 3.1: Màn hình swagger thể hiện các thơng tin api của ứng dụng.


Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


19

Hình 3.2: Màn hình terminal deploy ứng dụng thơng qua pm2

Hình 3.3: Màn hình log các thơng tin khi ứng dụng chạy

Hình 3.4: Màn hình đăng nhập

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


20

Hình 3.5: Màn hình đăng kí

Hình 3.6: Màn hình xác thực OTP

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy



21

Hình 3.7: Màn hình phân quyền

3.2 Thực hiện
4 thành viên của team fresher PawnVN:


Trương Viết Huy Phong



Chung Nguyễn Trường Duy



Võ Phi Nhật Duy



Trần Quốc An

Và sự giúp đỡ tận tình của team trainer Sum Việt.

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


22


TÀI LIỆU THAM KHẢO

Mongodb


Packages


Typescript
/> />a/p/tim-hieu-typescript-va-kien-thuc-co-ban-PmeRQpnyGoB
Nodejs
/>
Redmind
/>
Visual studio code
/>Tài liệu nội bộ dự án PawnVn của công ty Sum Việt

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy


23

TỔNG KẾT

Sau 5 tháng thực tập tại công ty, em đã học được rất nhiều đều, không chỉ kiến thức
riêng về lập trình mà cịn về quy chuẩn làm việc tại công ty, để biết được rằng hiện tại những
doanh nghiệp đang làm việc như thế nào, phối hợp nhân lực ra sao.

Hơn nữa, em còn được tiếp thu những kinh nghiệp quý báu từ các anh chị và đồng
nghiệp, góp phần giúp em hồn thiện kiến thức, kỹ năng của mình và đạt được một số thành
cơng nhất định trong q trình thực tập tại cơng ty.
Về tư tưởng của bản thân, em biết được làm sao để trở thành một lập trình viên, các
những lập trình viên khác giải quyết vấn đề, về nghề nghiệp sẽ làm trong tương lai, định
hướng nghề nghiệp.

Thực tập tốt nghiệp

Chung Nguyễn Trường Duy



×