Tải bản đầy đủ (.docx) (36 trang)

Báo cáo thực tập front end website developer

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 (1.82 MB, 36 trang )

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
FRONT-END WEBSITE DEVELOPER

Công
ty
thực GIA KHO GROUP
tập:
Người phụ trách: Đặng Hà Phong
(IT Leader)
Thực tập sinh:
Hoàng Nhật Tiến 19522335

1


TP. Hồ Chí Minh, 20 tháng 06 năm 2023

LỜI MỞ ĐẦU
Trong thời đại 4.0 hiện nay, ngành công nghiệp phát triển ứng dụng
web đã đóng góp một phần khơng thể thiếu vào sự phát triển của các lĩnh
vực trong cuộc sống, đặc biệt là trong lĩnh vực thương mại điện tử (ecommerce). Việc sử dụng công nghệ thông tin và ứng dụng web trong việc
mua bán trực tuyến đã tạo ra một cuộc cách mạng thương mại mới, đem
lại nhiều lợi ích và tiện ích cho người tiêu dùng.
E-commerce, hay còn gọi là thương mại điện tử, đã trở thành một xu
hướng phổ biến trên toàn cầu, và Việt Nam không phải là ngoại lệ. Nhờ sự
phát triển của ngành công nghiệp phát triển ứng dụng web, các website
bán hàng trực tuyến ngày càng được ưa chuộng và thịnh hành. Những
trang web này cung cấp cho người dùng khả năng mua sắm và giao dịch


trực tuyến một cách tiện lợi và linh hoạt, từ việc chọn lựa sản phẩm, thực
hiện thanh toán cho đến việc giao hàng tận nơi.
Việc áp dụng ứng dụng web trong lĩnh vực e-commerce không chỉ
mang lại lợi ích cho người tiêu dùng mà cịn tạo ra những cơ hội kinh
doanh mới cho các doanh nghiệp. Nhờ vào mạng lưới Internet và giao diện
trực tuyến, các doanh nghiệp có thể tiếp cận một lượng khách hàng rộng
lớn trên toàn thế giới. Điều này giúp thúc đẩy tăng trưởng kinh doanh và
mở rộng thị trường tiềm năng.
Đối với các lập trình viên và nhà phát triển web, việc tham gia vào
công việc phát triển ứng dụng web trong lĩnh vực e-commerce không chỉ
mang lại cơ hội nghề nghiệp hấp dẫn mà còn đòi hỏi kiến thức chuyên sâu
về lập trình và thiết kế giao diện, đồng thời phải theo kịp xu hướng và
công nghệ mới nhất. Đây là một lĩnh vực đầy tiềm năng và đa dạng, địi
hỏi sự sáng tạo và khả năng thích ứng nhanh chóng với những thay đổi
của thị trường và nhu cầu của khách hàng.
Với tình hình phát triển mạnh mẽ của ngành công nghiệp phát triển
ứng dụng web và lĩnh vực e-commerce, thực tập tại Công ty TNHH Giá Kho
Group, một môi trường chuyên nghiệp và hiện đại, sẽ mang đến cho em
những cơ hội học tập và trải nghiệm thực tế trong việc phát triển ứng
dụng web liên quan đến e-commerce. Em tin rằng sẽ có nhiều kiến thức
và kỹ năng q giá mà em có thể tích lũy và ứng dụng trong tương lai,
cùng với việc đóng góp vào sự phát triển của lĩnh vực này.

2


LỜI CẢM ƠN
Em xin chân thành cảm ơn ban giám hiệu và quý thầy cô trường Đại
học Công nghệ thông tin và khoa Công Nghệ Phần Mềm đã cung cấp, đào
tạo và bồi dưỡng cho em những kiến thức trọng tâm, kiến thức chuyên

ngành trong suốt 3 năm ngồi trên giảng đường đại học, để từ đó em có
nền tảng áp dụng vào đợt thực tập này một cách hiệu quả nhất có thể.
Em xin gửi lời cảm ơn Cơng ty TNHH Giá Kho Group đã tin tưởng và
tạo điều kiện cho em thực tập tại công ty. Em cũng xin bày tỏ lịng biết ơn
đến tồn thể đội ngũ quản lý và các anh chị đồng nghiệp tại công ty đã
giúp đỡ và hỗ trợ em trong suốt thời gian thực tập.
Trong thời gian thực tập, em đã được công ty Nhật Tiến cung cấp
môi trường làm việc chuyên nghiệp và thúc đẩy em tham gia vào các dự
án thực tế. Công ty đã trang bị cho em những cơng cụ và kỹ năng cần
thiết để hồn thành cơng việc được giao, cùng với việc hướng dẫn và trao
đổi kinh nghiệm từ các anh chị đã có kinh nghiệm làm việc trong ngành.
Em xin bày tỏ lòng biết ơn sâu sắc đến sự hỗ trợ và giúp đỡ của
công ty Nhật Tiến trong việc rèn luyện kỹ năng chuyên môn và phát triển
những kỹ năng mềm quan trọng. Công ty đã tạo điều kiện cho em tiếp cận
và áp dụng những kiến thức đã học vào thực tế, từ đó em đã được trau dồi
kỹ năng lập trình, giải quyết vấn đề, và làm việc trong môi trường chuyên
nghiệp.
Tuy vẫn còn nhiều hạn chế và bỡ ngỡ, nhưng nhờ sự hỗ trợ và đóng
góp ý kiến từ các anh chị, em đã có cơ hội hồn thiện bản thân và nâng
cao trình độ cơng việc. Em xin hứa sẽ tiếp tục nỗ lực, học hỏi và đóng góp
hết mình để đáp lại sự tin tưởng và cơ hội mà công ty Nhật Tiến đã dành
cho em.

Em xin chân thành cảm
TP. HCM, ngày 01 tháng 07 năm
2023
3


4



NHẬN XÉT CỦA KHOA
......................................................................................................................
............................. ........................................................................................
........................................................... ..........................................................
......................................................................................... ............................
......................................................................................................................
. ....................................................................................................................
............................... ......................................................................................
............................................................. ........................................................
........................................................................................... ..........................
......................................................................................................................
... ..................................................................................................................
................................. ....................................................................................
............................................................... ......................................................
............................................................................................. ........................
......................................................................................................................
..... ................................................................................................................
................................... ..................................................................................
................................................................. ....................................................
............................................................................................... ......................
......................................................................................................................
....... ..............................................................................................................
..................................... ................................................................................
................................................................... ..................................................
................................................................................................. ....................
......................................................................................................................
......... ............................................................................................................
....................................... ..............................................................................

..................................................................... ................................................
................................................................................................... ..................
......................................................................................................................
........... ..........................................................................................................
......................................... ............................................................................
....................................................................... ..............................................
..................................................................................................... ................
......................................................................................................................
............. ........................................................................................................
........................................... ..........................................................................
......................................................................... ............................................
....................................................................................................... ..............
......................................................................................................................
............... ......................................................................................................
............................................. ........................................................................
5


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


MỤC LỤC
LỜI MỞ ĐẦU............................................................................................................................2
LỜI CẢM ƠN............................................................................................................................3
NHẬN XÉT CỦA KHOA.........................................................................................................4
MỤC LỤC..................................................................................................................................5
CHƯƠNG 1: GIỚI THIỆU CƠNG TY THỰC TẬP.................................................................7
1.1.

Giới thiệu về Cơng ty TNHH Gia Kho Group............................................................7

1.2.

Tổng quan kinh doanh.................................................................................................8

1.3. Lịch làm việc khi thực tập tại công ty...........................................................................10
CHƯƠNG 2: NỘI DUNG THỰC TẬP...................................................................................11
2.1 Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty.................................................11
2.2 Nghiên cứu kỹ thuật:......................................................................................................11
2.2.1. Giới thiệu về mơ hình làm việc Agile....................................................................11
2.2.2. Làm quen và sử dụng hệ điều hành Ubuntu...........................................................13
2.2.3. Giới thiệu về công cụ quản lý dự án Github..........................................................14
2.2.4. Giới thiệu về IDE sử dụng để code (VSCode).......................................................15
2.2.5. Tìm hiểu về mơi trường NodeJS............................................................................16
2.2.6. Tìm hiểu về phát triển Backend bằng NodeJS (framework Express,js)................16
2.2.7. Tìm hiểu về Framework Front-end (ReacJS).........................................................18
2.2.8. Tìm hiểu về Tailwind CSS.....................................................................................21
2.2.9. Tìm hiểu về ngơn ngữ mở rộng của JavaScript (TypeScript)................................22
2.2.10. Tìm hiểu về thư viện xử lý bất đồng bộ Axios.....................................................23
2.2.11. Tìm hiểu về Redux...............................................................................................24
2.2.12. Tìm hiểu về cơng cụ build website (Vite)............................................................25

6


2.2.13. Tìm hiểu về nền tảng deploy website (Vercel)....................................................25
2.3. Thực hiện dự án cá nhân...............................................................................................26
2.3.1. Giai đoạn 7 ngày đầu (Ôn tập lại các kiến thức cơ bản)........................................26
2.3.2. Giai đoạn 30 ngày..................................................................................................26
2.3.3. Giai đoạn 60 ngày..................................................................................................27
2.4. Tham gia dự án thực tế..................................................................................................28
CHƯƠNG 3: TỔNG KẾT.......................................................................................................30
3.1. Điểm mạnh....................................................................................................................30
3.2. Điểm yếu.......................................................................................................................30
3.3. Chuẩn đạt được.............................................................................................................31
TÀI LIỆU THAM KHẢO........................................................................................................32

7


CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP
1.1. Giới thiệu về Cơng ty TNHH Gia Kho Group

Hình 1.1.1 Logo của Gia Kho Group
-

-

Tên đơn vị: Công ty TNHH Gia Kho Group
Địa chỉ: 47/2/16C Bùi Đình Tuý P. 24, Q. Bình Thạnh, Hồ Chí Minh
Website:
o Ecommerce: />o Head Office: />Số điện thoại: (+84)90 389 1430

Giờ làm việc: từ thứ 2 đến thứ 6, 08:00 – 17:30

Về Điện thoại giá kho: Điện Thoại Giá Kho được thành lập vào năm
2017, sau 5 năm phát triển giờ đây Giá Kho Group - Dienthoaigiakho.vn đã
trở thành một website thương mại điện tử đáng tin cậy - Nơi cung cấp các
mặt hàng công nghệ, thiết bị điện tử, các sản phẩm công nghệ thông
minh, phong cách sống với mơ hình kinh doanh tập trung vào B2B, B2C và
B2B2C.
Điện Thoại Giá kho cung cấp nhiều lựa chọn sản phẩm chất lượng được
cung cấp bởi hàng trăm đối tác kinh doanh, thương hiệu lớn từ nhu cầu
chính, sản phẩm điện tử bao gồm các tiện ích, đến các sản phẩm phong
cách sống.

8


Hình 1.1.2 Hình ảnh Head Office của team (Growth)

Tầm nhìn và sứ mệnh: Trở thành Website TMĐT cung cấp và phân phối
sản phẩm trong lĩnh vực cơng nghệ uy tín hàng đầu Việt Nam. Mang đến
trải nghiệm tốt - dịch vụ tốt - giá rẻ hơn (O2O). Không ngừng nỗ lực tạo ra
trải nghiệm mua sắm từ Online đến Offline (New Retail) “Tuyệt Vời Hơn”
dành cho khách hàng.
Giá trị cốt lõi:
- Luôn tận tâm mang đến trải nghiệm tốt nhất cho khách hàng
- Làm đúng cam kết và nhận trách nhiệm
- Tinh thần gia đình yêu thương và hỗ trợ đồng đội
- Trung trực trong công việc và các mối quan hệ
- Chấp nhận thay đổi. Cải tiến không ngừng
Môi trường làm việc: Làm việc trong môi trường bán lẻ các thiết bị điện

tử, điện thoại di động trẻ trung, nhiệt huyết và năng động.

1.2. Tổng quan kinh doanh
Giai đoạn phát triển của Giá Kho Group gồm 5 Giai đoạn:
-

-

-

Khởi đầu – Chuẩn bị (2017-2018): Tháng 3/2017, Dienthoaigiakho.vn khởi sự bán lẻ
với 3 nhân viên. Tìm Kiếm và Xây dựng một mơ hình mới trong thị trường sừng sững
những tên tuổi khổng lồ bấy giờ. Thử nghiệm bán thuần tại chỗ, Online, Tư vấn 24/7
để tồn tại và duy trì, đúc kết ra những hướng đi phù hợp nhất.
Định hướng (2019): Xây dựng Website bán hàng Online - Giá rẻ - Dịch vụ tốt Online kết hợp Offline. Hình thành dần những bộ phận chuyên môn - Trải nghiệm
dịch vụ tốt hơn đối với Khách hàng và 5 giá trị văn hoá cốt lõi nền tảng.
Cải tiến - Sáng tạo (2020): Điên Thoại Giá Kho mở rộng Showroom mới và Giao
hàng An toàn vượt dịch đã tạo nên những điểm bứt phá trong một năm khó khăn.
Tăng tốc - Vấp ngã Vượt Qua (2021): Mở rộng Showroom mới - Văn phòng mới hiện
đại - Tăng 150% đội ngũ nhân sự - Mở rộng ngành hàng mới, dự án mới. Đối mặt với
giai đoạn khó khăn nhất, 3-4 tháng với đại dịch Covid-19, đóng băng một số bộ phận

9


-

cũng là lúc thách ý chí mạnh mẽ nhất và đúng với giá trị cốt lõi của Giá Kho: Chấp
nhận thay đổi - Cải tiến không ngừng - Để tốt hơn.
Next Generation (2022-2023): Lấy con người làm trung tâm cho sự cải tiến và nâng

cao chất lượng dịch vụ hướng đến mục tiêu: GIÁ KHO GROUP - TĂNG TRƯỞNG
THẦN TỐC

10


Hiện tại Giá Kho Group đang có 2 Website chính: Trang Ecommerce và Trang Tuyển
dụng

Hình 1.2.1 Hình ảnh 1 bộ phận của team

Hình 1.2.2 Hiệu suất của Website Ecommerce được Google đánh giá

11


Hình 1.1.3 Hình ảnh 1 bộ phận của team

Hình 1.1.4 Hiệu suất của Website Tuyển dụng được Google đánh giá

1.3. Lịch làm việc khi thực tập tại công ty
Em tham gia làm việc tại công ty bắt đầu từ ngày 20/04/2023 tới
20/06/2023, các ngày làm việc trong tuần là từ thứ 2 đến thứ 6. Công việc
hằng ngày bắt đầu từ lúc 8h30 sáng đến 17h30 chiều. Thời gian nghỉ trưa
khoảng 1 tiếng 15 phút. Sau mỗi ngày làm việc em sẽ báo cáo tiến độ
công việc trong ngày (daily backlog), đặt câu hỏi và nhận chia sẻ, giải đáp
từ anh hướng dẫn, đặt mục tiêu cho ngày làm việc tiếp theo. Đầu mỗi tuần
(thứ 2) sẽ viết báo cáo và kế hoạch cho tuần tiếp theo (Report & Plan) sau
đó sẽ họp và báo cáo, mọi người sẽ cùng bàn bạc về các vấn đề đã giải
quyết, tồn đọng, bài học, giải pháp và mục tiêu cho tuần tiếp theo. Hằng

tháng mỗi team sẽ cố gắng tổ chức 1 buổi chia sẻ (sharing) về các chủ đề
12


tự chọn đã qua kiểm định, xác thực của mọi người. Ngồi ra, cịn các buổi
chia sẻ riêng (private sharing) về các vấn đề tâm lý.

CHƯƠNG 2: NỘI DUNG THỰC TẬP
2.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: Được bộ phận Training & Learning dành 1 ngày để giới thiệu
về cơng ty, q trình thành lập, phát triển đến hiện tại, quy trình làm việc
từ cao xuống thấp, cách tổ chức của cơng ty, các team và các phịng ban
về IT, HR, … được giới thiệu về các sản phẩm mà công ty đã và đang kinh
doanh kinh doanh, văn hóa cơng ty, trang phục, email cơng việc, các giá
trị cốt lõi mà công ty đã đúc kết trong những năm đã qua. Ngồi ra cịn
các hoạt động ngồi giờ làm việc như team building, các hoạt động thể
dục thể thao, các sự kiện về công nghệ mới sẽ tham gia. Cuối cùng là
những mong muốn và kỳ vọng cho thực tập sinh tại công ty.
Kết quả: Hiểu qua được quy trình làm việc của cơng ty, cơng việc hiện
tại, sắp tới của team IT nói riêng và những dự án lớn của cơng ty nói
chung để có thể làm việc hiệu quả, có kế hoạch, có kỹ luật và có trách
nhiệm hơn.

2.2 Nghiên cứu kỹ thuật:
2.2.1. Giới thiệu về mơ hình làm việc Agile

Hình 2.2.1 Quy trình Agile

a. Mơ hình Agile là gì?


13


Khái niệm Agile (viết tắt của Agile Software Development) có
nghĩa là phương thức phát triển phần mềm linh hoạt, được ứng dụng
trong quy trình phát triển phần mềm với mục tiêu là đưa sản phẩm đến
tay người dùng càng nhanh càng tốt. Ngun tắc phát triển mơ hình là
phân đoạn lặp (iterative) và tăng trưởng (incremental), theo đó nhu
cầu và giải pháp tiến hóa thơng qua sự hợp tác giữa các nhóm tự quản
và liên chức năng.
Rất nhiều nơi định nghĩa Agile như một phương pháp. Thực chất,
Agile giống như một phương pháp luận, một triết lý dựa trên hơn
nguyên tắc phân đoạn vòng lặp (iterative) và tăng trưởng
(incremental).
Ngày nay, triết lí Agile đã vượt xa khỏi khu vực truyền thống của
mình là phát triển phần mềm để đóng góp sự thay đổi trong cách thức
làm việc, quản lý, sản xuất ở các ngành khác như sản xuất, dịch vụ,
sales, marketing, giáo dục... và trở thành một phương thức quản lý dự
án phổ biến nhất hiện nay với nhiều đại diện được gọi là các phương
pháp “họ Agile”.
b. Tại sao cần áp dụng mơ hình Agile?
Agile là một mơ hình phát triển phần mềm linh hoạt. Nó cho phép
các nhà phát triển không ngừng thay đổi sản phẩm sao cho phù hợp với
thời đại và ý kiến của khách hàng.
Nó cho phép phát triển dự án không bị ép buộc vào một quy trình
tuần tự, phù hợp để đáp ứng được các thay đổi. Agile giúp các nhà
phát triển có thể nhận dạng, điều chỉnh các vấn đề và khiếm khuyết
một cách nhanh chóng.
Các điểm mạnh của Agile là:

- Thực hiện thay đổi dễ dàng: Bởi vì dự án được chia thành các phần
nhỏ, riêng biệt, không phụ thuộc lẫn nhau, nên những thay đổi được
thực hiện rất dễ dàng, ở bất kỳ giai đoạn nào của dự án.
- Không cần phải nắm mọi thông tin ngay từ đầu: Phù hợp với những
dự án chưa xác định được mục tiêu cuối cùng rõ ràng, vì việc này
khơng q cần thiết trong giai đoạn đầu.
- Bàn giao nhanh hơn: Việc chia nhỏ dự án cho phép đội ngũ có thể
tiến hành kiểm tra theo từng phần, xác định và sửa chữa vấn đề nhanh
hơn, nhờ đó việc bàn giao cơng việc sẽ nhất quán và thành công hơn.
- Chú ý đến phản hồi của khách hàng và người dùng: Cả khách hàng
và người dùng cuối đều có cơ hội để đóng góp các ý kiến và phản hồi,
từ đó họ sẽ có ảnh hưởng một cách mạnh mẽ và tích cực tới sản phẩm
cuối cùng.
- Cải tiến liên tục: Agile khuyến khích thành viên trong đội ngũ làm
việc và khách hàng cung cấp phản hồi của mình, khi đó các giai đoạn
khác nhau của sản phẩm cuối có thể được kiểm tra và cải thiện lại
nhiều lần nếu cần.
14


Trong ngành công nghiệp phần mềm, phương thức sản xuất phần
mềm có một vai trị vơ cùng quan trọng, nó quyết định cấu trúc tổ
chức, quy trình phát triển, khả năng thành công của các dự án. Trong
những năm gần đây Agile-Scrum nổi lên và thay thế mơ hình thác
nước (Waterfall) truyền thống như một phương thức tổ chức sản xuất
ưu việt được nhiều công ty phần mềm áp dụng và thành công. Quản lý
dự án theo nguyên tắc Agile nổi lên như một sự thay thế tối ưu cho bất
kỳ dự án nào.
c. Áp dụng khi nào?
Có thể được sử dụng với bất kỳ loại hình dự án nào, nhưng nó cần sự

tham gia và tính tương tác của khách hàng. Ngồi ra, nó có thể được sử
dụng khi khách hàng yêu cầu chức năng sẵn sàng trong khoảng thời
gian ngắn (3 tuần )

15


d. 12 Nguyên tắc của Agile
- Agile là một mô hình phát triển phần mềm linh hoạt. Nó cho phép
các nhà phát triển không ngừng thay đổi sản phẩm sao cho phù hợp với
thời đại và ý kiến của khách hàng.
- Đáp ứng tồn diện nhu cầu khách hàng thơng qua việc giao hàng
sớm và sản phẩm có giá trị.
- Thay đổi u cầu được chào đón, thậm chí là rất muộn trong quá
trình phát triển.
- Giao phần mềm chạy được cho khách hàng một cách thường
xuyên.
- Nhà kinh doanh và các kỹ sư phần mềm cần làm việc cùng nhau
trong suốt dự án.
- Xây dựng dự án xung quanh các cá nhân có động lực. Cung cấp sự
hỗ trợ cần thiết, môi trường làm việc và niềm tin để hồn thành cơng
việc.
- Trao đổi trực tiếp là cách truyền đạt thơng tin hiệu quả nhất.
- Thước đo chính của tiến độ là phần mềm chạy tốt.
- Phát triển liên tục và bền vững.
- Cải tiến sự linh hoạt bằng cách quan tâm đến kỹ thuật và thiết kế.
- Nghệ thuật tối đa hóa lượng cơng việc chưa xong - Sự đơn giản là
cần thiết.
- Nhóm tự tổ chức
- Thích ứng thường xuyên với những thay đổi.

2.2.2. Làm quen và sử dụng hệ điều hành Ubuntu
a.

Giới thiệu về hệ điều hành Ubuntu
Ubuntu là một hệ điều hành mã nguồn mở dựa trên Linux, phát triển và phân phối bởi
Canonical. Nó là một trong những phiên bản Linux phổ biến nhất và được sử dụng rộng rãi
trên máy tính cá nhân, máy chủ, và các thiết bị khác.

Hình 2.2.2.1 Hệ điều hành Ubuntu

16


Ubuntu được thiết kế để đơn giản, dễ sử dụng và có khả năng tương thích rộng. Nó cung
cấp mơi trường desktop tương tác và giao diện đồ họa đẹp mắt, cho phép người dùng dễ dàng
truy cập và thao tác trên hệ thống.
Một trong những điểm mạnh của Ubuntu là hỗ trợ cho cộng đồng người dùng Linux
rộng lớn. Người dùng có thể tìm thấy nhiều tài liệu, hướng dẫn và sự hỗ trợ từ cộng đồng
Ubuntu, giúp họ giải quyết các vấn đề và tận dụng tối đa hệ điều hành.
Ubuntu cũng đi kèm với một bộ ứng dụng và cơng cụ đa dạng, bao gồm trình duyệt web,
bộ văn phịng, trình phát nhạc, trình quản lý gói, và nhiều ứng dụng khác, giúp người dùng có
thể làm việc và giải trí trên máy tính của mình.

Hình 2.2.2.2 Giao diện hệ điều hành Ubuntu
Ngoài ra, Ubuntu cũng được sử dụng rộng rãi như một hệ điều hành máy chủ, cung cấp
các tính năng mạnh mẽ cho việc triển khai và quản lý các ứng dụng web, máy chủ ảo, máy
chủ database và nhiều công việc khác trên môi trường máy chủ.
2.2.3. Giới thiệu về công cụ quản lý dự án Github

Hình 2.2.3 Github


17


GitHub là một hệ thống quản lý dự án và phiên bản code, hoạt động giống như một mạng
xã hội cho lập trình viên. Các lập trình viên có thể clone lại mã nguồn từ một repository và
Github chính là một dịch vụ máy chủ repository công cộng, mỗi người cóthể tạo tài khoản
trên đó để tạo ra các kho chứa của riêng mình để có thể làmviệc. Github có đầy đủ những
tính năng của Git, ngồi ra nó cịn bổ sung những tínhnăngvềsocial để các developer tương
tác với nhau.
Github cung cấp các tính năng social networking như feeds, followers và network graph
để các developer học hỏi kinh nghiệm của nhau thông qua lịch sử commit.
2.2.4. Giới thiệu về IDE sử dụng để code (VSCode)

Hình 2.2.4.1 VSCode

Visual Studio Code (VSCode) là một trình chỉnh sửa mã nguồn mã nguồn mở và miễn
phí được phát triển bởi Microsoft. Với giao diện người dùng hiện đại, VSCode cung cấp một
môi trường làm việc linh hoạt và tiện ích cho các nhà phát triển phần mềm. Đặ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.

Hình 2.2.4.2 Màn hình làm việc của VSCode

18


VSCode hỗ trợ nhiều ngơn ngữ lập trình phổ biến, bao gồm JavaScript, Python, C++,
Java và nhiều ngôn ngữ khác. Nó cung cấp các tính năng thơng minh như gợi ý mã, tự động
hoàn thành, và gỡ lỗi để giúp tăng năng suất và hiệu quả trong quá trình viết code.

Một điểm mạnh của VSCode là tích hợp tốt với Git, một hệ thống quản lý phiên bản phổ
biến. Điều này cho phép người dùng quản lý phiên bản mã nguồn, xem lịch sử thay đổi và
thực hiện các hoạt động như commit và push trực tiếp từ giao diện của VSCode.
Bên cạnh đó, VSCode hỗ trợ một hệ sinh thái mở rộng phong phú. Người dùng có thể cài
đặt các tiện ích mở rộng từ cộng đồng lớn của VSCode để mở rộng chức năng và tùy chỉnh
trình chỉnh sửa theo nhu cầu cá nhân.
2.2.5. Tìm hiểu về mơi trường NodeJS

Hình 2.2.5 NodeJS

Node.js là một mơi trường chạy mã JavaScript phía máy chủ (server-side) được xây dựng
dựa trên Chrome V8 JavaScript engine. Nó cho phép bạn chạy mã JavaScript bên ngồi trình
duyệt web, điều này mang lại khả năng xây dựng ứng dụng web và dịch vụ máy chủ hiệu quả
và linh hoạt.
Node.js được thiết kế để xử lý các yêu cầu I/O không đồng bộ (asynchronous I/O) một
cách hiệu quả cao, giúp tối ưu hiệu năng và khả năng mở rộng của ứng dụng. Điều này làm
cho Node.js trở thành một sự lựa chọn phổ biến cho việc phát triển ứng dụng web thời gian
thực, ứng dụng đa người dùng và các hệ thống mã nguồn mở.
Node.js cũng đi kèm với một bộ thư viện mạnh mẽ, gọi là Node.js Standard Library
(hoặc Node.js Core Modules), cung cấp các chức năng cần thiết để phát triển ứng dụng như
làm việc với file hệ thống, mạng, xử lý tiến trình và nhiều hơn nữa.
Một ưu điểm quan trọng của Node.js là khả năng sử dụng các gói (packages) từ npm
(Node Package Manager) - một thư viện mã nguồn mở rộng lớn. Npm cho phép bạn tải
xuống và quản lý các thư viện và công cụ bổ sung từ cộng đồng phát triển rộng lớn của
Node.js.
2.2.6. Tìm hiểu về phát triển Backend bằng NodeJS (framework
Express,js)
a.

Giới thiệu việc xây dựng backend bằng NodeJS:

Backend là phần của một ứng dụng web hoặc ứng dụng di động, chịu trách nhiệm xử lý
dữ liệu và logic phía máy chủ. Node.js là một mơi trường chạy mã JavaScript phía máy chủ

19


mạnh mẽ và phổ biến, và nó thường được sử dụng để xây dựng backend cho các ứng dụng
web và dịch vụ web.
Khi sử dụng Node.js để phát triển backend, có thể sử dụng JavaScript để xây dựng các
API, xử lý dữ liệu từ cơ sở dữ liệu, quản lý phiên, thực hiện xác thực và quản lý tài nguyên
phía máy chủ. Node.js hỗ trợ mơ hình khơng đồng bộ, cho phép xử lý nhiều yêu cầu cùng
một lúc mà khơng cần tạo các tiến trình mới.

Hình 2.2.6.1 NodeJS
Các framework phổ biến cho việc xây dựng backend Node.js bao gồm Express.js, Nest.js
và Koa.js. Những framework này cung cấp các cơ chế và cơng cụ để phát triển ứng dụng phía
máy chủ một cách dễ dàng và hiệu quả.
Với Node.js, bạn cũng có thể sử dụng các module và thư viện từ npm (Node Package
Manager) để mở rộng chức năng và giảm thời gian phát triển. Các module phổ biến như
Express.js Middleware, Mongoose (để làm việc với MongoDB), Passport.js (để xác thực và
quản lý phiên), và nhiều hơn nữa có sẵn để hỗ trợ việc phát triển backend Node.js.

Hình 2.2.6.2 ExpressJS
Với tính linh hoạt và hiệu suất cao, Node.js đã trở thành một lựa chọn phổ biến để xây
dựng các ứng dụng web phía máy chủ. Nó cho phép bạn sử dụng cùng một ngôn ngữ
(JavaScript) trên cả frontend và backend, tạo điều kiện thuận lợi cho việc phát triển và duy trì
ứng dụng.
b.
Hai cơng nghệ phổ biến dùng để xây dựng RESTful API là Node.js và Express
Node.js: Node.js là một mơi trường chạy mã JavaScript phía máy chủ được xây dựng

trên nền tảng Chrome V8 JavaScript Engine. Nó cho phép bạn chạy mã JavaScript ở phía
20



×