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
PHÁT TRIỂN ỨNG DỤNG WEB BẰNG .NET
Công ty thực tập
: Kyanon digital
Người phụ trách
: Sang Nguyễn
Thực tập sinh
: Nguyễn Thanh Hưng
TP. Hồ Chí Minh, tháng 06 năm 2022
Nguyễn Thanh Hưng
2
LỜI MỞ ĐẦU
Với sự bùng nổ của Internet và chưa có dấu hiệu hạ nhiệt, thời đại 4.0 hiện nay đang cung cấp
rất nhiều việc làm các sinh viên công nghệ thông tin. Hiện nay, các công việc về phát triển web
vẫn có sức nóng vì sự ra đời của các công nghệ giúp lập trình phát triển nhanh hơn như ReactJS,
Angular, NodeJS, npm, ...
Rất nhiều cuộc cạnh tranh xem web với mobile đâu là con đường phát triển tốt hơn ở Việt Nam.
Dù có theo phát triển web hay mobile thì xu thế của ngành công nghiệp phát triển ứng dụng ở
Việt Nam vẫn còn thiếu hụt nhân lực. Sinh viên chỉ nắm vững các kiến thức cơ bản về nhập
môn lập trình, lập trình hướng đối tượng, cơ sở dữ liệu thì có thể thực tập tại bất kỳ công ty nào.
Thâm chí còn được đào tạo lại với trợ cấp.
Sau khoảng thời gian theo học trên trường, em đã tích lũy cũng như nắm chắc các kiến thức cơ
bản để có thể tham gia thực tập tại doanh nghiệp. Thật may mắn khi em được nhận vào chương
trình thực tập của công ty Kyanon Digital với các dự án nổi bật liên quan đến thương mại điện
tử.
Nguyễn Thanh Hưng
3
LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty Kyanon Digital đã tạo điều kiện cho em có cơ hội được thực
tập tại công ty.
Đặc biệt, em rất cảm ơn sanh Sang Nguyễn, Pha Huỳnh Công, và mọi người trong chapter BE
.Net đã hướng dẫn, giúp đỡ em trong thời gian thực tập.
Tuy chỉ trong thời gian ngắn nhưng em đã được tiếp xúc với dự án lớn cũng như hiểu được cơ
bản quy trình làm việc trong dự án đó là như thế nào. Trong thời gian này, em đã nâng cao được
khả năng đọc hiểu code, tư duy hơn, cách viết code cũng như cách tổ chức source code ra sao.
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.
Nguyễn Thanh Hưng
TpHCM, ngày 16 tháng 06 năm 2022
Nguyễn Thanh Hưng
4
NHẬN XÉT CỦA KHOA
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
Nguyễn Thanh Hưng
5
MỤC LỤC
Contents
1.
2
3
Giới thiệu công ty Kyanon Digital ...................................................................................................... 6
1.1
Thông tin chung ........................................................................................................................... 6
1.2
Giới thiệu ..................................................................................................................................... 6
1.3
Quy mô......................................................................................................................................... 7
1.4
Sản phẩm công ty......................................................................................................................... 8
Nội dung thực tập ................................................................................................................................ 9
2.1
Tìm hiểu công ty và các kỹ năng cơ bản trong công ty ............................................................... 9
2.2
Nghiên cứu kỹ thuật..................................................................................................................... 9
2.2.1
Các công cụ làm việc............................................................................................................ 9
2.2.2
Tìm hiểu các thư viện .NET ................................................................................................. 9
2.3
Thực hiện project ....................................................................................................................... 10
2.4
Tham gia vào dự án công ty ....................................................................................................... 10
2.4.1
Tổng quan về dự án ............................................................................................................ 10
2.4.2
Các công việc chính trong dự án ........................................................................................ 11
Chi tiết về dự án ............................................................................................................................... 14
3.1
4
Giới thiệu website thương mại điện tử..................................................................................... 14
TÀI LIỆU THAM KHẢO ................................................................................................................ 15
Nguyễn Thanh Hưng
6
Chương 1: Giới thiêu công ty thực tập
1. GIỚI THIỆU VỀ CÔNG TY KYANON DIGITAL
1.1 Thông tin chung
-
Công ty TNHH Kyanon Digital
-
Địa chỉ:
o
Chi nhánh 1: 249-296 Trường sa, Phường 2, Quận Phú Nhận, Tp Hồ Chí Minh
o
Chi nhánh 2: 09 Hòa Cầu, Phường 7, Quận Phú Nhuận, Tp Hồ Chí Minh
-
Email:
[email protected]
-
Website công ty: https://kyanon.digital
-
Techstack: .NET, Java, PHP, IOS, Android, ...
1.2 Giới thiệu
-
Kyanon Digital (KD) được thành lập vào năm 2012 với tiền thân là công ty
cung cấp dịch vụ sản xuất phần mềm, thiết kế và triển khai các giải pháp digital phục
vụ cho mục đích marketing của các doanh nghiệp Việt Nam như Samsung, Nestle,
Beiersdorf,…
-
Năm 2016 nắm bắt được làn sóng chuyển đổi số, Kyanon đã chuyển mình
sang tư vấn và triển khai chuyển đổi số cho cả doanh nghiệp trong nước và ngoài
nước.
-
Năm 2017, Kyanon đã mở văn phòng tại Singapore, tập trung vào các dự án
chuyển đổi số và có được các khách hàng từ Singapore, Pháp, Úc, Mỹ,…
Nguyễn Thanh Hưng
7
-
Năm 2020, Kyanon đã nằm trong top 10 công ty CNTT-TT tại Việt Nam và
nhận giải thưởng Sao Khuê từ Hiệp hội Phần mềm và dịch vụ CNTT Việt Nam
(VINASA)
1.3 Quy mô
Một trong những những người lãnh đạo và thành tích
của công ty (Nguồn: https://kyanon.digital/the-archery/)
Nguyễn Thanh Hưng
8
Sơ đồ tổ chức công ty
1.4 Sản phẩm công ty
-
Kyanon Digital cung cấp 02 dịch vụ chính:
o
Digital consulting (tư vấn công nghệ)
▪
Tập trung hoạt động tư vấn, giải đáp thắc mắc cho khách hàng và nghiên cứu xây dựng
nền tảng công nghệ bền vững cho Kyanon Digital
▪
Trọng tâm: Omnichannel, Low-code/No-code, Data & Analytics
o
Agile engineering (phát triển phần mềm)
▪
Tập trung vào các hoạt động triển khai phần mềm (thiết kế, phát triển, hoàn thiện sản
phẩm)
Nguyễn Thanh Hưng
9
2 NỘI DUNG THỰC TẬP
Tìm hiểu nắm vững các kiến thức về .NET Core, Entityframework, RESTful API, Architect,
luồng hoạt động, nghiệp vụ và quy trình trong 1 dự án. Xây dựng 1 trang web đơn giản áp dụng
các kiến thức đã tìm hiểu và tham gia vào các dự án thương mại điện tử của công ty.
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 : Giới thiệu về công ty, cách tổ chức của công ty
Được nghe người hướng dẫn 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 .
Ngoà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…
Kết quả : Hiểu thêm về công ty Kyanon Digital, quá trình thành lập và phát triển. Có thêm các
kỹ năng về việc sử dụng email trong công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm
hơn.
2.2
Nghiên cứu kỹ thuật
2.2.1 Các công cụ làm việc
Thời gian : 1 ngày
Nội dung :
Các công cụ để quản source code như Gitlab, SourceTree, tìm hiểu về giao thức SSH trong
Gitlab. Sử dụng Visual Studio để chạy máy chủ IIS ở local
Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên.
Kết quả : Sử dụng các công cụ, phần mềm giúp việc viết và quản lý code dễ dàng hơn.
2.2.2 Tìm hiểu các thư viện .NET
Thời gian : 3 ngày
Nội dung :
Nguyễn Thanh Hưng
10
Tìm hiểu và sử dụng các thư viện trong .NET như EntityFramework Core, AutoMapper,
NewsoftJson, Swagger UI, MediaR và xUint
Thực hiện : Cài đặt và sử dụng các thư viện ở trên từ nuget
Kết quả : Hiểu được cách chức năng mà các thư viện cung cấp và có thể tiếp xúc các dự án của
công ty.
2.3
Thực hiện project
Sau gần 1 tuần được training về các công cụ, kỹ thuật để phát triển dự án thì em nhận được 1
bài practice viết api cho 1 trang web cho thuê nhà
Nội dung:
-
Sử dụng EntityFramework để tạo và tương tác với model
-
Hiểu cơ chế Dependency Injection trong .NET và sử dụng design pattern để kiểm soát
luồng dữ liệu
-
Giao tiếp giữa BE và FE, sử dụng Cookie và JWT để xác thực người dùng
Thực hiện:
-
Báo cáo tiến độ hằng ngày và file daily tracking
Kết quả:
-
Nâng cao tiếng Anh vì tài liệu chủ yếu được viết bằng tiếng Anh.
-
Nâng cao khả năng sử dụng các thư viện, thiết kế database.
-
Cách làm việc có quy trình với teamwork vì là bài tập làm chung.
2.4 Tham gia vào dự án công ty
2.4.1 Tổng quan về dự án
-
Dự án về thương mại điện tử.
-
Mô tả: Thiết kế API, giao diện theo yêu cầu của đối tác, gồm các chức năng chính
của 1 trang thương mại điện tử, tích hợp thêm các kênh thanh toán BrainTree, 2c2p.
Nguyễn Thanh Hưng
11
-
Các thành viên trong dự án:
o
Nguyễn Thanh Hưng.
o
Pha Huỳnh Công (mentor).
o
Trần Anh Tuấn (PM).
2.4.2 Các công việc chính trong dự án
-
Tìm hiểu về Clean Architect, tổng quan các lớp trong dự án.
-
Tìm hiểu logic và xử lý các luồng về Product, Brand, Member, ContentPage,
Authorize, ShoppingCart.
-
Tìm hiểu về môi trường và cách hoạt động của kênh thanh toán và 2c2p.
-
Cài đặt và triển khai Multi-language cho dự án.
-
Hỗ trợ tìm và fix bug.
-
Thực hiện deploy code lên server qua giao thức FTP.
1. Lịch làm việc
Tuần
Công việc
- Tìm hiểu về công ty,
Mức
độ
Người hướng dẫn
hoàn
thành
Sang Nguyễn
100%
Nhận xét của người
hướng dẫn
cách tổ chức của công
ty.
- Làm quen với các
công cụ làm việc trong
1
công ty.
- Học cách trao đổi,
làm việc qua email, sử
dụng Jira
Nguyễn Thanh Hưng
12
- Tìm hiểu về các thư Sang Nguyễn
100%
viện trong .NET
2
- Thực hành tạo trang
web cá nhân cho thuê
nhà
- Tham gia vào dự án Pha Huỳnh Công, 100%
website thương mại điện Trọng Nguyễn
tử
- Tìm hiểu về kiến trúc
dự án
3
- Tìm hiểu logic, xử lý
và kiểm tra lỗi của các
luồng trong dự án
- Fix bug và viết lại các
luồng
- Tìm hiểu và triển khai Pha Huỳnh Công, 100%
4
Multi-language cho dự Trọng Nguyễn
án (tiếng Anh, Hoa)
- Tiếp tục triển khai và Pha Huỳnh Công, 100%
fix các bug về Multi- Trần Anh Tuấn
language
5
- Fix các bug của QC trả
về
- Điều tra, fix các vấn
đề về security.
- Tìm hiểu môi trường Pha Huỳnh Công
6
100%
Sandbox 2c2p
- Cài đặt, triển khai môi
Nguyễn Thanh Hưng
13
trường thanh toán 2c2p
- Tham gia vào tối ưu Pha Huỳnh Công
100%
performance
- Hỗ trợ anh Pha kiểm
7
tra,
cài
đặt
Push
Notification cho mobile
app
8
- Triển khai môi trường Pha Huỳnh Công,
uat
Sang Nguyễn,
- Sử dụng FileZilla để Trọng Nguyễn
deploy server
- Kết thúc thực tập, báo
cáo
100%
Nguyễn Thanh Hưng
14
3 CHI TIẾT VỀ DỰ ÁN
3.1 Giới thiệu website thương mại điện tử
Đây là một dự án thương mại điện tử chạy trên môi trường máy chủ Window, sử dụng
mô hình Client – Server với các công nghệ được sử dụng phía backend là .NET, còn ở
client là ReactJs và ReactNative, được tích hợp các phương thức thanh toán phổ biến
nhất hiện nay. Ứng dụng cung cấp cho người dùng gần 100 nhà cung cấp, đa dạng các
mặt hàng.
Do các chính sách hạn chế của công ty, nên không cho phép em tiết lộ tên dự án.
Nguyễn Thanh Hưng
15
4 TÀI LIỆU THAM KHẢO
For .Net core 5.0
https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-5.0
For CleanArchitecture
https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
For .Net core multilang
https://docs.microsoft.com/enus/aspnet/core/fundamentals/localization?view=aspnetcore-5.0
For 2c2p
https://developer.2c2p.com/docs/redirect-api-how-it-works
Nguyễn Thanh Hưng
16
TỔNG KẾT
Như vậy, chỉ trong vòng khoảng hai tháng ngắn ngủi, em đã được tham gia vào một dự
án thực tế của Kyanon Digital dưới vai trò Backend developer. Trong khoảng thời gian này em
đã cố gắng hoàn thành tốt các task, issue mà các anh/chị đưa ra.
Em chân thành cảm ơn các anh/chị tại Kyanon Digital đã hỗ trợ em hoàn thành kì thực
tập.
Nguyễn Thanh Hưng