1. Trang chủ
  2. » Tất cả

Báo Cáo Thực Tập Lập Trình Web Full Stack Với Angular Và Asp.net.pdf

30 27 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Thực Tập Lập Trình Web Full Stack Với Angular Và Asp.net
Người hướng dẫn Lê Tuấn Khải, Lê Anh Duy
Trường học Trường Đại Học Công Nghệ Thông Tin, Khoa Công Nghệ Phần Mềm
Chuyên ngành Lập Trình Web Full Stack
Thể loại Báo cáo thực tập
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 30
Dung lượng 2,22 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Chương 1: Giới thiệu công ty thực tập (6)
    • 1. Giới thiệu về công ty Gameloft (0)
    • 2. Sản phẩm của công ty (6)
  • Chương 2: Nội dung thực tập (8)
    • 1. Tìm hiểu công ty và các kỹ năng cơ bản trong công ty (8)
    • 2. Chương trình thực tập (8)
      • 2.1 Giai đoạn 1: Tự học, nghiên cứu về công nghệ, kĩ thuật (cá nhân) (9)
        • 2.1.1 Tự học, nghiên cứu về lập trình frontend bằng Angular (10)
        • 2.1.2 Tự học, nghiên cứu về lập trình frontend bằng Angular (0)
        • 2.1.3 Tự học, nghiên cứu về lập trình backend bằng ASP.NET (11)
        • 2.1.4 Tạo API và tích hợp backend vào phần ứng dụng frontend đã làm ở giai đoạn trước (12)
      • 2.2 Làm project thực tế của công ty sau khi đã được tinh chỉnh, lược bớt chức năng khó (nhóm) (0)
    • 3. Thực hiện project (14)
    • 4. Lịch làm việc (15)
  • Chương 3: Chi tiết về project (19)
    • 1. Giới thiệu về project (19)
    • 2. Giao diện và các chức năng của website (20)
      • 2.1 Trang đăng nhập (20)
      • 2.2 Trang Launcher (20)
      • 2.3 Trang Quản lý User (21)
      • 2.4 Trang Quản lý Permission (23)
      • 2.5 Trang Quản lý Role (24)
      • 2.6 Authorization (26)
    • 3. Thực hiện (27)
    • 4. Kế hoạch (27)
  • TÀI LIỆU THAM KHẢO (29)

Nội dung

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 WEB FULL STACK VỚI ANGULAR VÀ ASP NET Công ty thực tập Công ty ROSEN Group Người phụ trách Lê Tuấn Khải, Lê Anh Du[.]

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

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

Trang 2

2

LỜI MỞ ĐẦU

Hiện nay, ngành công nghệ thông tin đang ngày một phát triển vô cùng mạnh mẽ, tác động lớn đến đời sống xã hội con người, và đặc biệt là lĩnh vực kinh tế của hầu hết các quốc gia trên thế giới khi được xem là một trong những ngành kinh tế mũi nhọn góp phần thúc đẩy sự phát triển, thịnh vượng của mỗi quốc gia Thực tế, lĩnh vực công nghệ thông tin hiện nay được ứng dụng vô cùng đa dạng trong nhiều khía cạnh khác nhau, không chỉ dừng lại ở việc phục vụ cho khoa học kĩ thuật Hơn hết, công nghệ thông tin dần trở nên gần gũi, thân thiện hơn khi đi sâu vào từ đời sống con người cho đến các lĩnh vực khác như kinh tế, chính trị, y tế, vv…

Sự bùng nổ của các cuộc cách mạng công nghệ cũng như sự xuất hiện của mạng internet

kĩ thuật số (4G, 5G, vv…) góp phần đưa những sản phẩm công nghệ dễ dàng đến tay người dùng, đặc biệt là các trang website với vô vàn những tiện ích và chức năng phục vụ con người ở nhiều lĩnh vực Hệ thống website đã có từ rất sớm, mặc dù thế, nó vẫn không trở nên lạc hậu mà thay vào đó đang ngày càng cải tiến để đáp ứng được với nhu cầu luôn cập nhật, thay đổi của con người, dần trở thành một mặt không thể thiếu trong xã hội ngày nay Có thể dễ dàng nhận thấy khi tại Việt Nam nói riêng và các quốc gia công nghệ nói chung, các công ty công nghệ phát triển ứng dụng liên quan đến mảng website vẫn chiếm đa số bởi tính phổ biến và thông dụng của nó đối với con người ngày nay

Hiểu được sự quan trọng của lĩnh vực lập trình website này, cùng với sự đam mê, hứng thú của bản thân trong việc phát triển ứng dụng web, sau khoảng thời gian trau dồi các kiến thức

cơ bản lẫn chuyên sâu, và các kỹ năng cần thiết trên ghế nhà trường, bản thân em đã quyết định trong học kì này sẽ đi thực tập tại một công ty hoặc doanh nghiệp thực tế để trước tiên là thử sức mình với lĩnh vực mình đang theo đuổi, đặc biệt hơn là nhu cầu tích lũy kinh nghiệm, trải nghiệm tại môi trường làm việc thực tế

Sau những lần rớt các buổi phỏng vấn vì kĩ năng bản thân không đám ứng được điều kiện của các công ty, em không lấy đó làm chán nản mà xem như là kinh nghiệm để từ đó dành thời gian hơn để trau dồi khả năng của bản thân Cuối cùng, em đã đậu phỏng vấn và được tham gia vào chương trình thực tập tại Công ty ROSEN Group có phòng nghiên cứu ROSEN UIT Research Center tại trường UIT Đến tận bây giờ, em vẫn cảm thấy rất vui, tự hào khi bản thân

có thể tham gia được chương trình thực tập này bởi vì đây là một môi trường lý tưởng, hiện đại, chuyên nghiệp và tràn ngập những tiếng cười của các thành viên trong khoảng thời gian em trải qua những tháng thực tập lập trình web full stack tại ROSEN

Trang 3

Đặc biệt, em xin gửi lời cảm ơn đến anh Lê Tuấn Khải, đã training về Angular

Framework; cảm ơn anh Lê Anh Duy, đã training về ASP.NET Framework cho em; cảm ơn anh

Nguyễn Tuấn Anh đã dành thời gian giới thiệu về công ty cho em, hỗ trợ em trong cách hòa

nhập vào môi trường làm việc và văn hóa chung của ngôi nhà mới – công ty ROSEN; bên cạnh

đó em còn muốn gửi lời cảm ơn tới các anh chị hướng dẫn khác đã dành thời gian chia sẻ, hướng dẫn về các chủ đề hay, các công nghệ hay đang được áp dụng tại công ty ROSEN để em

có thể thuận lợi trong việc tìm hiểu, nghiên cứu và học tập để cuối cùng có thể hoàn thiện được ứng dụng đáp ứng được yêu cầu đặt ra của chương trình thực tập này Em rất biết ơn và cảm

kích với tất cả các anh chị hướng dẫn, đặc biệt là anh Lê Tuấn Khải và anh Lê Anh Duy đã

nhiệt tình hướng dẫn, tận tình giúp đỡ cho em 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, chỉ dẫn em về cách làm báo cáo, lên kế hoạch, những kỹ năng không thể thiếu

Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã luôn nhiệt tình truyền đạt các kiến thức, kinh nghiệm thực tế, tư vấn nghề nghiệp, nhiệt tình hỗ trợ, tạo điều kiện giúp em hoàn thành việc thực tập và làm bài báo cáo thực tập này

Võ Trung Tín

Tp Hồ Chí Minh, ngày 01 tháng 10 năm 2022

Trang 4

4

NHẬN XÉT CỦA KHOA

Trang 5

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 về công ty Gameloft 6

2 Sản phẩm của công ty 6

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

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

2 Chương trình thực tập 8

2.1 Giai đoạn 1: Tự học, nghiên cứu về công nghệ, kĩ thuật (cá nhân) 9

2.1.1 Tự học, nghiên cứu về lập trình frontend bằng Angular 10

2.1.2 Tự học, nghiên cứu về lập trình frontend bằng Angular 11

2.1.3 Tự học, nghiên cứu về lập trình backend bằng ASP.NET 12

2.1.4 Tạo API và tích hợp backend vào phần ứng dụng frontend đã làm ở giai đoạn trước 13

2.2 Làm project thực tế của công ty sau khi đã được tinh chỉnh, lược bớt chức năng khó (nhóm) 14

3 Thực hiện project 15

4 Lịch làm việc 16

Chương 3: Chi tiết về project 19

1 Giới thiệu về project 19

2 Giao diện và các chức năng của website 20

2.1 Trang đăng nhập 20

2.2 Trang Launcher 20

2.3 Trang Quản lý User 21

2.4 Trang Quản lý Permission 23

2.5 Trang Quản lý Role 24

2.6 Authorization 26

3 Thực hiện 27

4 Kế hoạch 27

TÀI LIỆU THAM KHẢO 29

TỔNG KẾT 30

Trang 6

6

CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP

1 Giới thiệu công ty ROSEN Group

Công ty ROSEN Group được thành lập vào năm 1981 bởi ông Hermann Rosen tại Đức, công ty ROSEN phát triển các giải pháp phần mềm và phần cứng để kiểm tra

và bảo trì nhiều loại tài sản công nghiệp, chẳng hạn như đường ống, đảm bảo an toàn cho các hệ thống này Nằm trong Tập đoàn ROSEN hoạt động quốc tế với hơn 3.300 nhân viên, các Trung tâm Nghiên cứu và Phát triển của chúng tôi tại nhiều địa điểm khác nhau đồng nghĩa với sức mạnh đổi mới cao và khả năng sáng tạo phi thường

Công ty ROSEN Group hiện đang có một phòng nghiên cứu và phát triển phần mềm tại trường Đại học Công nghệ Thông tin Thành phố Hồ Chí Minh nơi tập trung một nhóm đội ngũ lập trình đầy nhiệt huyết của công ty ROSEN phát triển các phần mềm hiện đại cho Nhóm ROSEN cho công ty Các thành viên của đội ngũ kĩ sư lập trình ROSEN Group tại UIT hợp tác chặt chẽ, chia sẻ kiến thức và hỗ trợ lẫn nhau

Họ đưa những ý tưởng mới vào thực tế, vươn lên thách thức và thúc đẩy các công nghệ tiên phong Các phương pháp phát triển phần mềm Agile là một phần không thể thiếu trong cách các kĩ sư lập trình ROSEN Group làm việc

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

ROSEN Group là đối tác công nghệ đáng tin cậy và phát triển các sản phẩm và dịch vụ sáng tạo - bao gồm một loạt các giải pháp phần mềm - hỗ trợ hơn 25 chi nhánh trên toàn thế giới Các phần mềm, sản phẩm do ROSEN Group phát triển được sử dụng cho các công cụ kiểm tra hoạt động, đánh giá dữ liệu, báo cáo cũng như bảo trì nhiều loại tài sản công nghiệp, chẳng hạn như đường ống, đảm bảo an toàn cho các hệ thống này Để đạt được mục tiêu này, các kĩ sư lập trình tại ROSEN Group đã sử dụng nhiều công nghệ, các stacks phần mềm khác nhau và quan tâm đến việc sử dụng các công nghệ hiện đại như blockchain, AR / VR và Machine Learning

Trang 7

7

Một số mảng sản phẩm chính mà công ty đang thực hiện:

+ Automated Inspection Systems – Hệ thống kiểm tra tự động

+ Flowmeter – Lưu lượng kế

+ Software – Phần mềm

+ Instruments, tools tracking and locating systems – Hệ thống cung cấp thiết bị, công cụ theo dõi, định vị

+ …

Trang 8

8

CHƯƠNG 2: NỘI DUNG THỰC TẬ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

- Được tạo tài khoản công ty ứng với thông tin cá nhân cung cấp

- 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 ROSEN Group, quá trình thành lập và phát triển các sản phẩm của công ty Hiểu được lý do tại sao công ty ROSEN lại đặt văn phòng tại khuân viên

trường UIT Ngoài ra, hiểu biết thêm về môi trường làm việc, 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, có cái nhìn cơ bản về quy trình phát triển sản phẩm thực tế

2 Chương trình thực tập

Mỗi tuần làm 20 tiếng, lên công ty 3 ngày/tuần

Trang 9

9

2.1 Giai đoạn 1: Tự học, nghiên cứu về công nghệ, kĩ thuật (cá nhân)

Trang 10

10

2.1.1 Tự học, nghiên cứu về lập trình frontend bằng Angular

Thời gian: 2 tuần

Nội dung:

- Học HTML, CSS, TypeScript và các khái niệm liên quan đến kĩ thuật lập trình frontend với Angular Framework

- Có các buổi seminar hướng dẫn về công nghệ liên quan

- Trong thời gian này, anh Lê Tuấn Khải đã hướng dẫn em tìm hiểu về lập trình

frontend với Angular Framework và cung cấp roadmap trong việc tiếp cận Angular để

em có thể dễ dàng học tập hơn

Thực hiện: Tự tìm hiểu và thực hiện theo các nội dung do anh Lê Tuấn Khải hướng

dẫn cũng như dựa trên lộ trình đã nêu ở roadmap

Trang 11

11

Kết quả: Có kiến thức cơ bản và cái nhìn chung về việc lập trình website phần frontend bằng Angular, sử dụng linh hoạt những cú pháp lập trình dựa trên kiến thức đã tìm hiểu được

2.1.2 Lập trình frontend bằng Angular với ứng dụng mẫu đơn giản

Thời gian: 2 tuần

Nội dung:

- Thực hiện việc xây dựng website theo project mẫu đã được cung cấp

- Tìm hiểu về việc viết unit test và E2E test trong Angular sau khi đã hoàn thiện phần giao diện và chức năng của project mẫu được cung cấp

- Thực hiện buổi trình bày về những gì đã làm trong hôm đánh giá về giai đoạn tìm hiểu Angular

Thực hiện: Lập trình theo project mẫu được cung cấp dựa trên việc ứng dụng các kiến thức đã học ở giai đoạn trước

Kết quả: Hiểu thêm về luồng hoạt động của các component trong Angular, có kinh nghiệm lập trình thực tế thay vì lí thuyết như ở giai đoạn trước, biết thêm về các cách xử

lý, lập trình ngắn gọn, ứng dụng clean code, vv… Kĩ năng được nâng cao hơn rất nhiều

so với giai đoạn trước

2.1.3 Tự học, nghiên cứu về lập trình backend bằng ASP.NET

Thời gian: 2 tuần

Trang 12

12

Thực hiện: Tự tìm hiểu và thực hiện theo các nội dung do anh Lê Anh Duy hướng dẫn

cũng như dựa trên lộ trình đã nêu ở roadmap

Kết quả: Có kiến thức cơ bản và cái nhìn chung về việc lập trình website phần backend bằng ASP.NET, sử dụng linh hoạt những cú pháp lập trình dựa trên kiến thức đã tìm hiểu được và cách giao tiếp giữa các module, các tầng ứng dụng với nhau

2.1.4 Tạo API và tích hợp backend vào phần ứng dụng frontend đã làm ở giai đoạn trước

Thời gian: 2 tuần

Nội dung:

- Thực hiện việc tạo và xây dựng các api, endpoint cung cấp các tác vụ, thao tác với

dữ liệu trên ASP.NET – backend

Trang 13

Thực hiện: Hoàn thiện project mẫu được cung cấp dựa trên việc ứng dụng các kiến thức

đã học ở giai đoạn trước (Backend và Frontend)

Kết quả: Kĩ năng được nâng cao hơn rất nhiều so với giai đoạn trước, biết cách chia các tầng của ứng dụng, biết tích hợp và giải quyết các vấn đề liên quan việc giao tiếp giữa frontend và backend Học hỏi những vấn đề mới gặp phải và được tư vấn cách giải quyết

bởi anh Lê Anh Duy và anh Lê Tuấn Khải

2.2 Giai đoạn 2: Làm project thực tế của công ty sau khi đã được tinh chỉnh, lược bớt

chức năng khó (nhóm)

Trang 14

- Học về trau dồi các kĩ năng mềm trong quá trình làm việc nhóm

- Phân hóa nhóm thành hai đội ngũ lập trình chuyên hóa là frontend và backend để đẩy nhanh tiến độ công việc

- Học về cách phân chia công việc, đảm nhận công việc, ước tính thời gian hoàn thành

và cập nhật tiến độ công việc trên Azure – văn hóa Scrum

- Thực hiện việc xây dựng website quản lý User, Permission, Role kết hợp Authentication và Authorization trên Auth0

- Thực hiện buổi trình bày vào hôm cuối cùng của giai đoạn về project đã làm, báo cáo tiến độ hoàn thành và đánh giá, rút kinh nghiệm

Thực hiện: Xây dựng project COLLA theo yêu cầu được giao với vai trò là thành viên của đội Backend

Kết quả:

- Biết cách áp dụng kĩ thuật lập trình liên quan tới IAM

- Hoàn thiện được project được giao, đáp ứng các chức năng được yêu cầu

- Biết cách đưa lên vấn đề chung mà đội hoặc cả nhóm đang mắc phải và cùng nhau đưa ra cách giải quyết

- Nắm được quy trình làm việc với mô hình Scrum trong thực tế

3 Thực hiện project

Sau gần năm tháng được training và thực hành, em đã nắm được cách lập trình web full stack với Angular và ASP.NET thông qua các project mẫu do các anh hướng dẫn đưa ra cũng như hoàn thiện final project COLLA

Chi tiết đồ án sẽ được nói ở phần sau

Trang 15

Nhận xét của người hướng dẫn

1

- 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

Anh Nguyễn Tuấn Anh

- Tìm hiểu về Observable

và các cách xử lý data stream trong Angular

- Tìm hiểu về NGRX

- Xem các ứng dụng demo có áp dụng những kiến thức đã tìm hiểu trên Youtube

Anh Lê Tuấn Khải

- Báo cáo kết quả

Anh Lê Tuấn Khải

Hoàn thành - Hoàn thiện các chức

năng

- Đạt yêu cầu 90% (có những chổ code chưa được gọn gàng, tối ưu)

Trang 16

cơ sở dữ liệu và tích hợp vào project User Management ở giai đoạn trước

Anh Lê Anh Duy

Hoàn thành

8

- Tiếp tục hoàn thiện việc

xây dựng API, endpoint

và tích hợp vào project User Management

- Viết unit test và

integration test cho backend

- Báo cáo kết quả

Anh Lê Anh Duy

Hoàn thành - Hoàn thiện các chức

năng

- Đạt yêu cầu 80% (có những chổ cú pháp truy xuất dữ liệu chưa hợp lý, tối

ưu, chưa tích hợp kịp phần integration test)

9

- Phân chia công việc theo

hai nhóm riêng biệt:

- Xây dựng cơ sở dữ liệu

sau khi phân tích yêu cầu

Anh Lê Anh Duy

Hoàn thành Hoàn thành đầy đủ,

đúng deadline

10

- Liệt kê và mô tả các

endpoint cần có cho phần User Management

- Xây dựng phần

Authentication cho chức đăng nhập, thêm người dùng và xác thực tài khoản

Trang 17

17

endpoint của phần User Management

11

- Tiếp tục hoàn thiện các

endpoint còn lại của phần User Management

- Viết unit test, integration

test cho các endpoint User Management

- Liệt kê và mô tả các

endpoint cần có cho phần Permission Management

- Xây dựng một vài

endpoint của phần Permission Management

Anh Lê Anh Duy

Hoàn thành Hoàn thành đầy đủ,

đúng deadline

12

- Tiếp tục hoàn thiện các

endpoint còn lại của Permission Management

- Viết unit test, integration

test cho các endpoint Permission Management

Anh Lê Anh Duy

Hoàn thành Hoàn thành đầy đủ,

đúng deadline

13

- Liệt kê và mô tả các

endpoint cần có cho phần Role Management

- Tiếp tục hoàn thiện các

endpoint còn lại của Role Management

Anh Lê Anh Duy

Hoàn thành Hoàn thành đầy đủ,

đúng deadline

15

- Tiếp tục hoàn thiện các

endpoint còn lại của Role Management

- Viết unit test, integration

test cho các endpoint Role Management

Anh Lê Anh Duy

Hoàn thành Hoàn thành đầy đủ,

đúng deadline

16

- Xây dựng authorization

cho các endpoint cần thiết

Anh Lê Anh Duy

Hoàn thành Hoàn thành đầy đủ,

Ngày đăng: 01/02/2023, 21:18

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] ".NET documentation," [Online]. Available: https://learn.microsoft.com/vi-vn/dotnet/framework/. [Accessed 1 7 2022] Sách, tạp chí
Tiêu đề: NET documentation
[2] "Angular," [Online]. Available: https://angular.io/docs. [Accessed 10 06 2022] Sách, tạp chí
Tiêu đề: Angular
[3] "Auth0 docs," [Online]. Available: https://auth0.com/docs/. [Accessed 5 7 2022] Sách, tạp chí
Tiêu đề: Auth0 docs
[4] "SQL Server migration documentation," [Online]. Available: https://learn.microsoft.com/vi-VN/sql/sql-server/migrate/?view=sql-server-ver16. [Accessed 5 7 2022] Sách, tạp chí
Tiêu đề: SQL Server migration documentation
[5] "Language Integrated Query (LINQ) (C#)," [Online]. Available: https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/. [Accessed 1 07 2022] Sách, tạp chí
Tiêu đề: Language Integrated Query (LINQ) (C#)
[6] "End-to-end testing," [Online]. Available: https://testing-angular.com/end-to-end-testing/. [Accessed 18 06 2022] Sách, tạp chí
Tiêu đề: End-to-end testing
[7] J. Pearce, "Agile and documentation," 3 1 2018. [Online]. Available: https://www.scrum.org/forum/scrum-forum/14437/agile-and-documentation. [Accessed 15 6 2022] Sách, tạp chí
Tiêu đề: Agile and documentation

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w