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

Báo cáo thực tập lập trình backend với asp net core

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.25 MB, 23 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

LẬP TRÌNH BACKEND VỚI ASP.NET CORE

Cơng ty thực tập: TGL Solutions
Người phụ trách: Lý Hồng Bảo
Thực tập sinh: Đỗ Thành Đạt

TP. Hồ Chí Minh, tháng 12 năm 2022

Đỗ Thành Đạt


LỜI MỞ ĐẦU

Ngày nay, với sự phát triển nhanh chóng của internet, các ứng dụng web cũng ngày càng
nhiều nên việc phát triển các ứng dụng web cũng đã trở nên rất phổ biến trong ngành công nghệ
thông tin.
Các ứng dụng web được sinh ra là do nhu cầu sử dụng internet hiện nay rất cao. Các ứng
dụng web cũng đem lại nhiều thuận tiện cho người dùng khi chỉ cần thiết bị hỗ trợ kết nối mạng
là đã sử dụng được. Vì lý do này, em quyết định chọn lập trình web làm định hướng cho việc
học tập của mình.
Sau hơn 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 ứng dụng web trong một môi trường chuyên nghiệp, em có dự
định là sẽ thực tập trong học kỳ này. Vì vậy, em quyết định chọn TGL Solutions - một môi
trường lý tưởng, hiện đại, chuyên nghiệp, trẻ trung năng động - là nơi sẽ giúp em thực hiện
được dự định này.


Đỗ Thành Đạt


LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Công ty TGL Solutions đã 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ự giúp đỡ nhiệt tình của mọi người trong cơng
ty, sự hỗ trợ nhiệt tình của các anh trong team TNF, em đã tiếp thu được những kiến thức quan
trọng để có thể cùng các thành viên trong team tạo ra một ứng dụng web . Chân thành cảm ơn
các anh trong team TNF đã bỏ ra nhiều thời gian, cơng sức để hướng dẫn em hồn thành đợt
thực tập này.
Đặc biệt cảm ơn chị Lê Bê Ly, đã hướng dẫn, giúp đỡ cho em tận tình khi em gặp những
khó khăn trong việc làm quen với môi trường mới; cảm ơn anh Lý Hồng Bảo đã hỗ trợ em rất
nhiều về các vấn đề tìm hiểu các kỹ thuật trong việc xây dựng API web server trong quá trình
làm web; cảm ơn anh Phan Ngọc Thịnh – team leader đã quan tâm, giúp đỡ em trong khoảng
thời gian thực tập.
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.
Đỗ Thành Đạt
TpHCM, ngày 12 tháng 12 năm 2022

Đỗ Thành Đạt


NHẬN XÉT CỦA KHOA

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

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

Đỗ Thành Đạt


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 TGL Solutions................................................................................. 6

2.

Sản phẩm của công ty ................................................................................................... 7

Chương 2: Nội dung thực tập ................................................................................................... 11

1.

Tìm hiểu công ty và các kỹ năng cơ bản trong cơng ty .............................................. 11

2.

Tìm hiểu về dự án ....................................................................................................... 11

3.

Nghiên cứu kỹ thuật .................................................................................................... 11

4.

Thực hiện project ........................................................................................................ 13

5.

Lịch làm việc ............................................................................................................... 14

Chương 3: Chi tiết về project ................................................................................................... 14
1.

Giới thiệu về dự án ...................................................................................................... 14

2.

Các màn hình chính .................................................................................................... 14

2.1. Danh sách các công việc ............................................................................................. 14

2.2. Thông tin cơng việc .................................................................................................... 19
2.3. Thơng tin vị trí ............................................................................................................ 20
2.4. Upload file CSV Postcode .......................................................................................... 20
2.5. Nhập thông tin vào form ............................................................................................. 21

Đỗ Thành Đạt


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

1.

Giới thiệu công ty TGL Solutions
Công ty Cổ phần TGL Solutions (gọi tắt TGL, tiếng Việt: ) là một công ty Việt Nam
trong lĩnh vực IT hướng đến việc cung cấp các giải pháp (solutions) một cách thơng
minh và nhanh nhất, qua đó tối ưu hố lợi nhuận cho khách hàng.
Cơng ty cổ phần TGL Solutions được thành lập vào tháng 07/2019 với hai thành viên. Từ
khi thành lập cho đến nay, công ty luôn phát triển không ngừng và đặt mục tiêu phát triển
liên tục vững mạnh hơn nữa trong thời gian tới.
Hiện có hơn 50 kỹ sư tài năng đang làm việc, cùng nhau xây dựng hình ảnh TGL năng
động và chuyên nghiệp trên bản đồ công nghệ thông tin.
Phương châm: Smart & Speed Solutions
Giá trị cốt lõi: Xây dựng công ty với 2 giá trị cốt lõi là: NHÂN HOÀ
-

NHÂN: là con người. Tơn chỉ của TGL Solutions chính là xây dựng công ty lấy con
người làm trung tâm. Lợi nhuận thu được từ việc kinh doanh sẽ được dùng để đầu tư
về trang thiết bị để tạo môi trường làm việc tốt hơn, đầu tư các khóa đào tạo để nâng
cao kỹ năng cho mọi người. Bên cạnh đó, sẽ có các kì bonus theo dự án (khơng định
kỳ), các kỳ đánh giá tăng lương 2 lần/năm.


-

HÒA: là sự hồ hợp, là sự đồng thuận, đồng lịng.Khi bàn luận về một vấn đề, chúng
ta có thể thoải mái tranh luận, thoải mái góp ý.Sẽ có một lãnh đạo đưa ra quyết định
cuối cùng và chịu trách nhiệm về quyết định của mình.

Định hướng cơng ty:
Tăng số lượng nhân viên lên 100 vào tháng 12/2022, 300 nhân viên vào tháng 12/2022

Đỗ Thành Đạt


Tiếp tục đi theo hướng chính là outsourcing trong vịng 3 năm tới.

2.

-

Một là, theo xu hướng chung của thế giới là cloud services. Công ty sẽ mở rộng
service từ AWS ra GCP và Azure. Chinh phục SaaS (Salesforce)

-

Hai là, xơng pha vào một lĩnh vực hẹp, ở đó IT chưa phát triển lắm và cịn ít đối thủ
cạnh tranh. Hiện tại công ty đang hợp tác với 1 kiến trúc sư rất giỏi người Nhật để
phát triển các projects liên quan đến xây dựng nhà ở, kiến trúc

Sản phẩm của công ty
Những sản phẩm phần mềm của TGL Solutions được phát triển nhắm tới tệp khách hàng

rất đa dạng, từ trong nước cho tới ngồi nước, từ chính phủ cho tới các doanh nghiệp, tập
đồn lớn. Là một cơng ty chuyên cung cấp các giải pháp, các sản phẩm trải rộng trên
nhiều lĩnh vực. TGL Solutions chuyên cung cấp các sản phẩm phần mềm phục vụ nhiều
loại hình dịch vụ khác nhau, đem lại trải nghiệm tốt nhất cho người dùng.
Một số dự án nổi bật:

2.1. MIRAI EC System
TÍNH NĂNG:
-

Tính năng đặt hàng, mua bán sản phẩm, tích lũy và đổi point

-

Góc VR Showroom, góc video giới thiệu sản phẩm của các nhà sản xuất

-

Tính năng livestream: Các streamer có thể thực hiện tổ chức livestream, lên lịch
livestream.Người dùng có thể xem livestream của các streamer và mua hàng trực tiếp

-

Tính năng đấu giá sản phẩm: Các streamer có thể tổ chức đấu giá sản phẩm. Người
dùng có thể tham gia đấu giá sản phẩm, người đấu giá thành cơng có thể thực hiện
order với giá thắng.

-

Trang admin: Trang admin: Quản lý sản phẩm, quản lí đặt hàng, số points, doanh

thu... ; Xuất excel theo đơn đặt hàng, theo sản phẩm, theo người dùng ...; Có thể tạo
các link quickLogin đăng nhập vào trang Top, Admin; Có hệ thống gửi mail thông
báo các trạng thái của đơn đặt hàng, trạng thái thay đổi points đến người dùng và
người chịu trách nhiệm đơn hàng.

Đỗ Thành Đạt


CÔNG NGHỆ:
Nextjs, Ant Design, Agora, Socket, GraqhQL, webRTC, NestJS, Base Web

2.2. APP QUAY SỐ ĐA CHỨC NĂNG (QUAY SỐ ONLINE/ TRỰC TIẾP/ QR CODE)
TÍNH NĂNG:
-

Quay số online hoặc trực tiếp tại cửa hàng

-

Quản lý thông tin người quay số, kết quả xổ số, thiết lập tỉ lệ xổ số mong muốn

Đỗ Thành Đạt


-

Tùy chỉnh thiết kế thích hợp với user dựa trên mơ hình SaaS

CƠNG NGHỆ:
ReactJS (Nextjs), Oracle, GraphQL, NestJS


Đỗ Thành Đạt


2.3. APP QUẢN LÝ SERIAL CODE
TÍNH NĂNG:
-

Tạo các Serial Code để quay số trúng thưởng

-

Quản lý các Serial code đã tạo

-

Tự động xuất các QR Code tương ứng với Serial Code

CÔNG NGHỆ:
ReactJS (Nextjs), Oracle, GraphQL, NestJS

Đỗ Thành Đạt


Chương 2: Nội dung thực tập
Đợt thực tập nhằm mục đích giúp sinh viên thực tập được đào tạo về lập trình back-end
với ASP.NET Core, đồng thời rèn luyện những kỹ năng mềm như làm việc nhóm, giao tiếp, trao
đổi với các thành viên khác trong công ty. 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 phát triển ứng dụng web chun 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 giám đốc công ty giới thiệu về cơng ty, q 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…
Kết quả : Hiểu thêm về công ty TGL Solutions, q trình thành lập và phát triển. Có
thêm hiểu biết về cách thức làm việc trong một công ty cơng nghệ thống tin đồng thời
thực tập sinh có ý thức hơn trong việc làm việc có kế hoạch, trao đổi, giải thích với
những thành viên khác trong cơng ty.
2. Tìm hiểu về dự án
Thời gian : 5 ngày
Nội dung: Giới thiệu, đưa tài liệu để tìm hiểu về dự án
Thực tập sinh được người hướng dẫn giới thiệu tổng quan về dự án
Ngoài ra, thực tập sinh được đưa các tài liệu liên quan về dự án để tìm hiểu
Kết quả : Hiểu thêm về dự án sẽ làm, về cách làm việc với vai trị lập trình viên trong
công ty.
3. Nghiên cứu kỹ thuật
3.1.

Các công cụ làm việc
Thời gian: 2 ngày
Nội dung: Tìm hiểu về các cơng cụ sẽ được sử dụng trong quá trình làm việc.
Trong thời gian này, người phụ trách đã hướng dẫn thực tập sinh tìm hiểu về các
cơng cụ sẽ giúp ích cho trong công việc sau này. Một số phần mềm trong số đó như
Microsoft Teams - sử dụng trong quá trình làm việc nhóm, DBeaver - một cơng cụ

Đỗ Thành Đạt



quản trị cơ sở dữ liệu mã nguồn mở, Visual Studio - một cơng cụ hỗ trợ lập trình,
SourceTree – Git GUI clients.
Thực hiện : Làm quen với cách sử dụng các phần mềm đã nêu trên.
Kết quả : Lập trình sử dụng các cơng cụ miễn phí.
3.2.

Tìm hiểu về ASP.NET Core và Entity Framework
Thời gian: 5 ngày (1 tuần)
Nội dung: Được hướng dẫn thêm về các kỹ thuật lập trình web nâng cao, những kiến
thức quan trọng cho việc tối ưu lập trình web bằng ASP.NET Core.
- Lập trình hướng đối tượng
Các kiến thức cơ bản về lập trình hướng đối tượng như khái niêm, các đặc tính
như tính kế thừa, tính đóng gói, tính ảo hóa, tính đa hình. Ngồi ra, thực tập sinh
cịn được hướng dẫn về cách thiết kế lớp cho các đối tượng game.
Thực hiện:
- Tham gia meeting hàng ngày của team
- Hoàn thành các cơng việc được giao
- Tìm hiểu thêm về ngơn ngữ C#
- Thực hành tạo API đơn giản với ASP.Net Core và Entity Framework
- Thực hành tạo migration với Entity Framework Code First Approach
Kết quả:
-

3.3.

Nâng cao kỹ năng lập trình với ngôn ngữ C#.
Hiểu thêm được những kiến thức mới với lập trình back-end với ASP.Net Core
Ngồi ra cịn được biết thêm một số quy tắc trong việc viết code sao cho đúng

chuẩn, dễ đọc, dễ hiểu.

Lập trình Web Back-end với ASP.NET Core, Entity Framework
Nội dung: Các kiến thức cơ bản về ASP.NET Core và Entity Framework để có thể
hồn thành một Web API đơn giản.
-

Khái niệm cơ bản về ASP.NET Core:
• Nó là một open-source mới và framework đa nền tảng (cross-platform) cho
việc xây dựng những ứng dụng hiện tại dựa trên kết nối đám mây, giống
như web apps, IoT và backend cho mobile.
• Ứng dụng ASP.NET Core có thể chạy trên .NET Core hoặc trên phiên bản
đầy đủ của .NET Framework. Nó được thiết kế để cung cấp và tối ưu

Đỗ Thành Đạt


development framework cho những dụng cái mà được triển khai trên đám
mây (clound) hoặc chạy on-promise.
• Nó bao gồm các thành phần theo hướng module nhằm tối thiểu tài nguyên
và chi phí phát triển, như vậy bạn giữ lại được sự mềm giẻo trong việc xây
dựng giải pháp của bạn. Bạn có thể phát triển và chạy những ứng dụng
ASP.NET Core đa nền tảng trên Windows, Mac và Linux.
• Đồng thời nó đã trở thành một mã nguồn mở. Đây là một thay đổi rất lớn
và là quan trọng nhất của ASP.NET Core. Điều mà trước đây khó có một
lập trình viên nào có thể nghĩ đến. Có lẽ đó cũng là một xu thế mà các ngơn
ngữ lập trình hiện nay đang hướng tới.
-

Khái niệm Entity Framework:

Hiểu một cách đơn giản, entity framework là một thư viện ORM (Object
Relational Mapping) hay một framework làm việc cùng cơ sở dữ liệu do microsoft
khuyến nghị giúp phản xạ quan hệ đối tượng qua lại giữa các object của một
chương trình, bảng cơ sở dữ liệu, bản ghi,...

Thực hiện :
-

Tham gia các buổi meeting hàng ngày.
Làm các cơng việc được giao.
Tìm hiểu thêm các công nghệ mới dựa vào các tài liệu trên mạng và việc đặt câu
hỏi cho người phụ trách hướng dẫn

Kết quả :
-

Hiểu được quá trình xây dựng một Web API bằng ASP.Net Core, Entity
Framework.

4. Thực hiện project
Sau hai tuần thực tập sinh được giới thiệu, hướng dẫn và thực hành, thực tập sinh đã nắm
được những kiến thức cơ bản về C#, ASP.Net Core và Entity Framework. Trong khoảng
thời gian tiếp theo, thực tập sinh được tham gia vào dự án của công ty và áp dụng những
kiến thức đã học để hồn thành tốt các cơng việc được giao. Chi tiết dự án sẽ được nêu ở
phần sau.

Đỗ Thành Đạt


5. Lịch làm việc

Tuần
-

1

Cơng việc
Tìm hiểu về cơng ty, 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 công ty.
Học cách trao đổi, làm việc qua email.
Tìm hiểu về thơng tin dự án

2
-

3

4

5

-

Tìm hiểu về ASP.NET core
Tìm hiểu về Entity Framework Code First
Thực hành tạo migration để thêm cột vào trong Anh Lý Hồng Bảo
bảng cơ sở dữ liệu
Thực hành tạo một vài API cơ bản

-


Tìm hiểu về Box API để upload file
Anh Lý Hồng Bảo
Tạo chức năng cho phép người dùng bình luận,
trao đổi về file được upload sử dụng Box API

-

Tạo API CRUD vị trí bản đồ, cho phép người dùng Anh Lý Hồng Bảo
upload hình ảnh lên theo vị trí bản đồ
Anh Phan Ngọc Thịnh

6
-

Tạo API cho phép thêm, xóa, chỉnh sửa template Anh Lý Hồng Bảo
với dữ liệu động

-

Tạo API trả về danh sách giá trị của form
Anh Lý Hồng Bảo
Tạo API cho phép thêm, cập nhật, xóa giá trị trong Anh Phan Ngọc Thịnh
form

7

8

Người hướng dẫn
Anh Lê Tiến Triển

Chị Lê Bê Ly
Anh Lý Hồng Bảo
Anh Lý Hồng Bảo
Anh Phan Ngọc Thịnh
Anh Trần Thanh Vũ
Anh Lý Hồng Bảo

Chương 3: Chi tiết về project
1. Giới thiệu về dự án
Dự án được sử dụng để làm nơi quản lý tiến độ công việc, trao đổi các tài liệu giữa các
bên: công ty xây dựng, nhà thầu và công ty thiết kế kiến trúc xây dựng. Đầu ra của một
công việc trong hệ thống là bản vẽ xây dựng kiến trúc sư vẽ ra. Từ bản vẽ đó, cơng ty
xây dựng có thể dễ dàng làm việc.
2. Các màn hình chính
2.1.

Danh sách User

-

Màn hình hiển thị danh sách các user dung hệ thống

Đỗ Thành Đạt


2.2.

Danh sách các template

Đỗ Thành Đạt



2.3.

Chỉnh sửa nội dung template

-

Màn hình cho phép chỉnh nội dung template với trường động, nhiều loại dữ liệu

Đỗ Thành Đạt


2.4.

Danh sách các cơng việc
-

Màn hình danh sách các cơng việc hỗ trợ việc tìm kiếm với các thơng tin cơ bản
giúp dễ dàng chọn ra các công việc cần tìm

Đỗ Thành Đạt


-

Màn hình thêm cơng việc mới

Đỗ Thành Đạt



2.5.

Thông tin công việc
-

Chi tiết công việc: Hiển thị các thơng tin cơ bản của cơng việc

-

Quy trình thực hiện cơng việc: Người dùng có thể xem cơng việc đang ở bước nào
hoặc có thể upload các file tài liệu cần thiết lên để có thể hồn thành một bước
trong công việc

Đỗ Thành Đạt


2.6.

Thơng tin vị trí

Người dùng có thể upload các file liên quan lên để các kiến trúc sư có thể dựa vào đó để thiết kế
bản vẽ hợp lý cho các cơng việc có địa chỉ gần với các điểm được lưu.

2.7.

Upload file CSV Postcode

Người dùng có thể upload file postcode để cập nhật lại các postcode còn thiếu hoặc sai để nâng
cao mức độ chính xác các vị trí được lưu trong hệ thống


Đỗ Thành Đạt


2.8.

Nhập thông tin vào form

Nhập các thông tin cần thiết để từ đó các kiến trúc sư có thể thiết kế bản vẽ đúng.

Đỗ Thành Đạt


TÀI LIỆU THAM KHẢO

Entity Framework: Entity Framework | Microsoft Docs
ASP.Net Core: Introduction to ASP.NET Core | Microsoft Docs
MySQL: MySQL :: MySQL Documentation

Đỗ Thành Đạt


TỔNG KẾT

Thời gian thực tập vừa qua đã giúp em có điều kiện va chạm với thực tế, có thể áp dụng
các kiến thức đã học ở trong trường vào thực tế và điều này thực sự rất quan trọng, cần thiết và
bổ ích đối với sinh viên bọn em.Ngồi ra, em còn học được thêm những kiến thức mới về lập
trình web back-end với ASP.Net Core và Entity Framework. Thêm vào đó, em cịn được biết
thêm về quy trình làm việc tại môi trường chuyên nghiệp, cách làm việc nhóm, giao tiếp giữa
các thành viên để có thể chuẩn bị tốt hơn cho tương lai.

Chúng em xin chân thành cảm ơn các thầy cơ cùng tồn thể q cơng ty đã giúp đỡ và
tạo điều kiện cho chúng em hoàn thành tốt nhiệm vụ và yêu cầu đặt ra trong thời gian thực tập
này.
Tuy nhiên vì thời gian và khả năng có hạn lại chưa có nhiều kinh nghiệm thực tế nên báo
cáo thực tập vẫn còn nhiều thiếu sót vì vậy em mong muốn nhận được sự đóng góp ý kiến từ
các thầy cơ để nội dung bản báo cáo thực tập được hoàn thiện hơn.

Đỗ Thành Đạt



×