1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo thực tập doanh nghiệp công ty tnhh infodation việt nam

36 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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 doanh nghiệp
Tác giả Nguyễn Duy Tốn
Người hướng dẫn HÀ THỊ THANH NGÀ
Trường học ĐẠI HỌC NHÀ TRANG
Chuyên ngành KỸ THUẬT PHẦN MỀM
Thể loại Báo cáo thực tập
Năm xuất bản 1959
Thành phố NHA TRANG
Định dạng
Số trang 36
Dung lượng 3,18 MB

Nội dung

TUẦN 1,2I Tìm hiểu về ASP.NET CORE WEB API I.1 Cài đặt cấu hình ASP.NET WEB API - Hướng dẫn cách tạo trang web API đầu tiên và thử nghiệm trên Swagger - Hướng dẫn cài đặt các chức nă

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN KỸ THUẬT PHẦN MỀM

BÁO CÁO THỰC TẬP DOANH NGHIỆP

Công ty TNHH INFOdation VIỆT NAM

Tầng 10, Toà nhà VCN Tower, Số 2 Tố Hữu, Khu đô thị VCN, Phường Phước Hải, Thành phố Nha

Trang, Tỉnh Khánh Hòa, Việt Nam

Sinh viên thực tập: Nguyễn Duy Tân - 62131842 GVHD: HÀ THỊ THANH NGÀ

NHA TRANG, KHÁNH HÒA

1

Trang 2

MỤC LỤC

TUẦN 1,2 4

I Tìm hiểu về ASP.NET CORE WEB API 4

I.1 Cài đặt cấu hình ASP.NET WEB API 4

I.2 Cách sử dụng mẫu Repository trong ASP.NET CORE WEB API 4

I.3 Cách sử dụng Service trong ASP.NET CORE WEB API 4

I.4 Cài đặt và ứng dụng trên FrontEnd 4

I.5 Sử dụng Unit of work trong bài tập thực hành 5

TUẦN 3 6

I Sercurity 6

I.1 Học được như thế nào là Filter 6

I.2 Học được như thế nào là middleware 6

II Đăng kí vào tạo service để sử dụng link API cho Angular 6

TUẦN 4 7

I Csv Helper 7

II.Sercure 7

II.1 Access Token 7

III.Upload File 7

IV Angular 7

TUẦN 5 8

I Các khái niệm cơ bản được công ty đề xuất 8

2

Trang 3

II Json Web Token (JWT) 8

II Giao diện (Angular) 8

Chương 1: Phân Tích Thiết Kế 9

I.Tìm hiểu về quy trình bán vé hệ thống 9

II.Các chức năng có trong một web bán vé xem phim 9

II.1 Đặc tả hệ thống 9

II.1.1 Yêu cầu chức năng của hệ thống 9

II.1.2 Yêu cầu chức năng và phi chức năng của hệ thống 9

II.2 Thiết kế dữ liệu 9

Chương 2: Tình bày sản phẩm web 18

I Công nghệ ASP.NET CORE WEB API 18

II AngularJS 18

III Trình bày sản phẩm 19

3

Trang 4

TUẦN 1,2

I Tìm hiểu về ASP.NET CORE WEB API

I.1 Cài đặt cấu hình ASP.NET WEB API

- Hướng dẫn cách tạo trang web API đầu tiên và thử nghiệm trên Swagger

- Hướng dẫn cài đặt các chức năng cơ bản như CRUD trong API

- Hướng cách kết nối cơ sở dữ liệu (SQL SERVER) bằng hai cách theo kiểu codefirst và data first

- Hướng dẫn sử dụng POST MAN

- Tìm hiểu về các cấu trúc cơ bản trong C# để tạo ra chức năng

- Tìm hiểu được cách sử dụng API thế nào trong cuộc sống

I.2 Cách sử dụng mẫu Repository trong ASP.NET CORE WEB API

- Tìm hiểu được công dụng của mẫu qua các bước

- Áp dụng trực tiếp vào bài thực tập trên công ty

- Sử dụng một cách hiệu quả vào các chức năng CRUD cãi thiện code

- Tìm hiểu lại cách đặt tên cho các biến, các hàm trong C#

I.3 Cách sử dụng Service trong ASP.NET CORE WEB API

- Hiểu được cách thức hoạt động của Service

- Mối liên hệ giữa mẫu Repository với Service trong API

- Cải thiện code rõ ràng và chỉnh chu đáng kể

- Biết được cách đăng kí dịch vụ

I.4 Cài đặt và ứng dụng trên FrontEnd

- Tìm hiểu được Angular 17

4

Trang 5

- Gắn và cài đặt API để web có cơ sở dữ liệu

- Cách đăng kí dịch vụ CORS để liên hệ từ máy chủ đến máy khách

I.5 Sử dụng Unit of work trong bài tập thực hành

- Tìm hiểu được cấu trúc của Unit of work

5

Trang 6

TUẦN 3

I Sercurity

I.1 Học được như thế nào là Filter

- Tài liệu kham thảo:

https://learn.microsoft.com/en-us/aspnet/core/mvc/controllers/filters

- Được hướng dẫn áp dụng trực tiếp vào dự án ASP.NET CORE WEB API

- Hiểu đường dùng Filter để hiện được quá trình thực thi theo ý muốn

- Hiểu được trong Filter có rrast nhiều loại

I.2 Học được như thế nào là middleware

- Tài liệu kham thảo:

https://learn.microsoft.com/en-us/aspnet/core/fundamentals/middleware

- Hiểu được lý thuyết của middlewware và cách hoạt động của chúng

II Đăng kí vào tạo service để sử dụng link API cho Angular

- Hiểu được các đăng kí dịch vụ cho API bên angular áp dụng vào FrontEnd

- Dựa vào API hiện tại BackEnd đã gần xong và đã áp dụng bên Angular thànhcông

- Đối với dự án nhóm trên công ty hiện tại đã hoàn thành 60%

- Tài liệu kham thảo : https://www.youtube.com/@QuaNhanhCodingMusic

6

Trang 7

TUẦN 4

I Csv Helper

- Csv helper là thư viện hỗ trợ dành cho khi viết file csv Học cách thêm vào file

csv tạo file csv ngoài ra còn hỗ trợ làm xuất nhập phần mềm exel

II.Sercure

II.1 Access Token

- Được tìm hiểu lí thuyết về Access Token, áp dụng trực tiếp vào bài, vàauthentication (Xác thực người dùng)

III.Upload File

- Tạo chức năng upload file cho các bảng cần dữ liệu ảnh được tìm hiểu và ápdụng vào bài tập lớn, lấy được link máy chủ vào cơ sở dữ liệu mối quan hệ giửamáy chủ và máy khách để không bị sai link (thường bị lỗi đường link nhưnghiện đã fix được)

IV Angular

- Hiện tại đã có sự phân chia các chức năng người dùng bên quản lí và bên lànhân viên

- Đang trong quá trình hoàn thiện và gắn các chức năng API

Tài liệu kham thảo:

- https://www.youtube.com/watch?v=z3BwMlcGdhg (CSV Helper)

- aspnet-web-api (Access Token)

https://www.dotnettricks.com/learn/webapi/token-based-authentication-in Asp-Net-web-api/ (Upload File)

https://www.c-sharpcorner.com/UploadFile/2b481f/uploading-a-file-in-7

Trang 8

TUẦN 5

Hiện đã hoàn thành xong các thao tác củng như các bài học cơ bản liên quan đếnASP.NET WEB API nhưng vẫn còn một số khái niệm chuyên sâu về ASP.NET WEBAPI cần được học và cải thiện thêm

I Các khái niệm cơ bản được công ty đề xuất

- Oauth2

- Google cloud storage

- Rabbitmq

II Json Web Token (JWT)

- Đã áp dụng thành công lẫn backend và front end về đăng nhập và đăng xuất cho

dự án web ở công ty

- Asp dụng vào angular và thành công bảo mật dữ liệu dưới dạng JWT

- Trong quá trình làm thì bị lỗi Authen (401) nhưng hiện đã được fix và thànhcông

II Giao diện (Angular)

- Hiện đã làm xong hoàn thành 80% vẫn có một số lỗi cần cải thiện ở giao diện Tài liệu kham thảo:

Trang 9

Chương 1: Phân Tích Thiết Kế

I.Tìm hiểu về quy trình bán vé hệ thống

- Trong thời gian thực tập em quyết định chủ đề là quản lí bán vé xem phim

- Trong phầm mềm quản lí bán vé xem phim cho khách hàng thì gồm hai người sử dụng chính là quản lí và nhân viên gồm các quy trình như sau:

+ Về quản lí: Có nhiệm vụ thêm sửa xóa các dữ liệu liên quan đến rạp chiếu phim như phòng chiếu, ghế, Phim, …và có thể bán vé hoặc xuất lại vé, Thống kê doanh thu+ Về nhân viên: Có nhiệm vụ tìm lịch chiếu theo ý của khách hàng, đặt ghế cho khách hàng, kiểm tra thông tin khách hàng đã đặkt có đúng hay chưa Cuối cùng là thanh toán cho khách hàng

II.Các chức năng có trong một web bán vé xem phim

II.1 Đặc tả hệ thống

II.1.1 Yêu cầu chức năng của hệ thống

Chức năng hệ thống Mô tả yêu cầu chức năng hệ

thống

lý thông tin về các phim đang chiếu vàsắp chiếu, bao gồm tên phim, thể loại, thời lượng và mô tả, ảnh, trailer, banner, ngày khởi chiếu Nó cũng cần

hỗ trợ cập nhật thông tin phim và thêmmới, chỉnh sửa hoặc xóa phimQuản lý suất chiếu Hệ thống phải có khả năng quản

lý lịch chiếu các suất phim, bao gồm ngày, giờ, phòng chiếu và phim được 9

Trang 10

chiếu Nó cần hỗ trợ cập nhật lịch chiếu, bao gồm thêm mới, chỉnh sửa hoặc hủy bỏ suất chiếu

năng đặt vé trực tuyến cho khách hàng Người dùng cần có khả năng xem lịch chiếu, chọn suất phim, chọn ghế ngồi và hoàn tất quá trình đặt vé

Hệ thống cần kiểm tra tính khả dụng của ghế và giữ chỗ cho người dùng trong thời gian giới hạn để hoàn tất thanh toán

thức thanh toán an toàn và tiện lợi nhưthẻ tín dụng, ví điện tử hoặc thanh toán trực tiếp tại quầy Nó cần xác nhận thanh toán và cung cấp vé điện

tử hoặc mã vé cho người dùngQuản lý thông tin khách hàng Hệ thống cần lưu trữ và quản lý

thông tin cá nhân của khách hàng, bao gồm tên, địa chỉ, số điện thoại và email,giới tính Để gửi mail về thông tin vé cho khách hàng nếu khách hàng cần hoặc vé lỗi sẽ đền bù bằng cách xác thực tên và số điện thoại nếu có trường hợp này

10

Trang 11

II.1.2 Yêu cầu chức năng và phi chức năng của hệ thống

11

Trang 12

Danh sách yêu cầu chức năng

Nhóm người dùng Yêu cầu chức năng

- Quản lí thông tin khách hàng

- Quản lí thông tin phim

-Quản lí phòng chiếu phim

-Quản lí thể loại-Quản lí quốc gia-Quản lí giá vé-Quản lí quảng cáo-Quản lí thông tin nhân viên

-Quản lí ghế-Quản lí người dùngTra cứu:

- Xem thông tin khách hàng

- Xem thông tin lịch chiếu

- Xem thông tin phim-Xem thông tin vé-Xem thông tin phòng chiếu

Phân quyền:

- Phân quyền sử dụng giữa quản lý, nhân viên

và khách hàng.Sao lưu:

- Sao lưu, phục hồi dữ liệu

Trang 13

III Phân tích thiết kế hệ thống

II.2 Thiết kế dữ liệu

Tiến hành thiết kế các bảng dữ liệu chưa có khóa ngoại và các bảng sau thể hiện trình tự đó:Bảng QUOCGIA lưu trữ thông tin quốc gia

tính

Kiểu dữ liệu

Miền giá trị

Trang 14

giaBảng THELOAI lưu trữ thông tin thể loại

liệu

Miền giátrị

Diễn giải

là khóa chính

Bảng NHANVIEN lưu trữ thông tin nhân viên

tính

Kiểu dữ liệu

Miền giá trị

Diễn giải

viên là khóa chính

Trang 15

5 Gioitinh Tinyint Giới tính (0

là nữ, 1 là nam)Bảng LICHCHIEU dùng để lưu trữ thông tin lịch chiếu

tính

Kiểu dữ liệu

Miền giá trị

Diễn giải

chiếu là khóa chính

chiếu sẽ bằng ngày hiện tại

sẽ là giờ trong ngày đó

Bảng PHONG lưu trữ thông tin phòng chiếu

tính

Kiểu dữ liệu

Miền giá trị

Diễn giải

khóa chính

15

Trang 16

2 TenPhong Chuỗi ≤50 Tên phòng

Miền giá trị

phải lớn hơn không khách hàng không được nhập số âm

Bảng GHE lưu trữ thông tin ghế

16

Trang 17

tính liệu trị

khóa chính

là khóa ngoạiBảng PHIM để lưu trữ thông tin phim

liệu

Miền giátrị

17

Trang 18

là khóa ngoại

gia là khóa ngoại

Bảng LICHCHIEUPHIM dùng để lưu trữ thông tin lịch chiếu của bộ phim đó

STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Diễn giải

khóa chính dùngđịnh danh tỏng lịch chiếu phim

liệu

Miền giátrị

Trang 19

3 MaPhong Chuỗi ≤11 Mã phòng là

khóa ngoại

khóa ngoạiBảng TTDATVE lưu trữ thông tin đặt vé

liệu

Miền giátrị

ngày hiện tại

Bảng CTDATVE lưu trữ thông tin chi tiết đặt vé

tính

Kiểu dữ liệu

Miền giá trị

19

Trang 20

STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Diễn giải

phương thức khách hàng muốn thanh toán

Bảng NGUOIDUNG lưu trữ thông tin người dùng

liệu

Miền giátrị

Diễn giải

là khóa chính

20

Trang 21

4 role bit Loại người dùng

(0 là nhân viên, 1

là quản lí)

21

Trang 22

Chương 2: Tình bày sản phẩm web

I Công nghệ ASP.NET CORE WEB API

Ngoài các chức năng CRUD từng bảng ra còn có các chức năng CRUD phụ để bổ sung chức năng khác như hiển thị lịch chiếu theo ngày, thêm 1 lần vào nhiều bảng, tự tạo ghế cho phòng chiếu khi tạo được phòng chiếu dựa vào số chỗ ngồi, khi có nhân viên mới vàothêm thông tin thì tự động tạo ra tài khoản cho nhân viên tất cả sẻ được chi tiết ở phần trình bày sản phẩm

Trong ngữ cảnh của Web API, AngularJS và Web API có thể hoạt động cùng nhau để tạo

ra một ứng dụng web hoàn chỉnh AngularJS được sử dụng phía client (trình duyệt) để xây dựng giao diện người dùng tương tác, trong khi Web API đóng vai trò là phía server (máy chủ) cung cấp dữ liệu và xử lý logic

Cụ thể, khi sử dụng AngularJS với Web API, bạn có thể thực hiện các tác vụ sau:

Giao tiếp với Web API: AngularJS cung cấp các công cụ và tính năng để thực hiện các yêu cầu HTTP (GET, POST, PUT, DELETE) đến Web API từ phía client Bằng cách sử

22

Trang 23

dụng các service và $http module của AngularJS, bạn có thể gửi yêu cầu đến các endpoint của Web API và nhận lại dữ liệu từ phản hồi.

Hiển thị dữ liệu: AngularJS cho phép bạn gắn kết dữ liệu trả về từ Web API vào các thành phần giao diện người dùng Bằng cách sử dụng các biểu thức (expressions) và các directives của AngularJS, bạn có thể hiển thị dữ liệu từ Web API trên trang web, ví dụ như danh sách, bảng, form, v.v

Xử lý sự kiện và tương tác: AngularJS cung cấp các công cụ và tính năng để xử lý sự kiện từ người dùng và tương tác với Web API Bạn có thể định nghĩa các hàm xử lý sự kiện trong controller của AngularJS và sử dụng các service để gửi yêu cầu đến Web API khi người dùng thực hiện các tương tác như nhấn nút, điền form, v.v

Định tuyến (Routing): AngularJS cung cấp hệ thống định tuyến để quản lý việc chuyển đổi giữa các trang hoặc các phần trong ứng dụng Bạn có thể định nghĩa các route để xác định URL và hiển thị các view tương ứng, kết hợp với Web API để lấy dữ liệu từ server khi chuyển đổi giữa các route

III Trình bày sản phẩm

+ Trang Admin (Vĩnh tiến ): Ngoài các chức năng cơ bản thêm, sửa, xóa, hiển thị cho từng bảng thì có các chức năng phụ khác để giúp người quản trị sẽ dễ dàng hơn khi sử dụng.

23

Trang 24

 Giao diện trang admin

- Thêm sửa xóa bao gồm các bảng được nêu trên

- Ngoài các chức năng mỗi bảng còn có các chức năng khác như:

Hình 1 Chức năng thêm phòng tự động thêm ghế của phòng

 Khi người dùng thêm một phòng bất kì nào đó thì nó sẻ dựa vào số chỗ ngồi và tự động rand ra các ghế tương ứng theo mã phòng theo hàng và thoe cột như sau:

24

Trang 25

- Chức năng tự động thêm tài khoản người dùng khi thêm thông tin nhân viên

25

Trang 26

 Khi thêm thông tin một nhân viên bất kì thì sẽ tự động thêm vào bảng người dùng và từ đó quản lí có thể chỉnh sửa phù hợp để đưa tài khoản

và mật khẩu cho nhân viên:

Hình 4 Bảng người dùng

 Tự động rand ra username (khóa chính) bởi vì đăng nhập bằng email và mật khẩu nên quản lí sẽ đưa cho nhân viên tài khoản và mật khẩu mặc định.

- Ngoài các chức năng phụ liên quan đến CRUD ra còn có các chức khác như:

26

Trang 27

+ Đăng nhập: Ở đây em dùng JWT (Json web Token) để xử lí việc đăng nhập và phân quyền như sau:

Hình 5 Giao diện đăng nhập

 Khi đăng nhập hệ thống sẽ gửi một Access Token từ bên máy chủ bằng Link Api sau đó dùng đoạn mã đó để đăng nhập và truy cập dữ liệu mỗi role là mỗi chức năng khác nhau trong hệ thống được phân chia ra.

Hình 6 Gửi mã token và xác thực đăng nhập

 Nó xác thực đăng nhập bằng cách khi người dùng nhấn vào một bảng tức là một link Api để hiển thị dữ liệu thì nó xác thực xem liệu có đúng

mã đó không hay không có mã đó và tiếp tục truy cập vào dữ liệu không thì nó sẽ báo lỗi truy cập quyền

+ Phân trang: Em phân trang dựa vào bên FE để có thể hiển thị dữ liệu theo yêu cầu

27

Trang 28

+ Upload file: Về phần upload file em làm chức năng này bên BE là chính cònbên FE chủ yếu là lấy lại link hình ảnh (duy tân)

Hình 8 Giao diện bảng phim

 Khi thêm phim có chức năng upload file và gửi về máy chủ tuy nhiên gửi vềmáy chủ vẩn chưa được nên phải có thêm một chức năng đó là update lấylink từ danh sách trong BE và cập nhật lên database chủ yếu sử dụngwwwroot để lưu ảnh và tải ảnh lên

28

Trang 29

+ Chức năng thống kê: Thống kê dựa vào bảng thanh toán để thống kê tổng doanh thu số vé bán được.

 Có bảng thông tin đặt vé dùng để lưu trữ tin đặt vé của khách hàng để nhở có trường hợp nếu khách làm mất vé mà vẩn còn mã thì có thể tìm

và in lại vé cho khách hàng

29

Trang 30

+ Trang nhân viên bán hàng:

Hình 9 Trang chủ

 Ở trang dành cho nhân viên bán hàng trang chủ để dùng cho màn hình thứhai để khách hàng có thể kham thảo củng như biết được đang chiếu và sắpchiếu phim nào trong tương lai củng như hiện tại (duy tân)

 Chức năng phân chia phim đang chiếu và phim sắp chiếu em chủ yếu làmchức năng này ở bên Angularjs với định hướng chức năng như sau: Đó chính

là đối với phim đang chiếu thì phải bé hơn ngày hiện tại và phim sắp chiếuphải lớn hơn ngày hiện tại (duy tân)

30

Trang 31

 Chức năng hiển thị lịch chiếu phim như sau: Dùng một link Api riêng để hiểnthị showtime theo đúng định dạng mà em đề ra đó là Tên phim, giờ chiếu với

có chức năng bao gồm bên FE khi các giờ chiếu có cùng bộ phim thì nó sẽxếp chung một bộ phim và tách lẻ lịch chiếu phim (duy tân)

Hình 11 Hiển thị lịch chiếu phim

 Chức năng hiển thị phòng và ghế theo bảng lịch chiếu phim: Em làm một chức năng này bằng một link Api khác để hiển thị bằng cách truy vấn từ bảng lịch chiếu phim đến các bảng phòng và ghế để có thể hiển thị đúng phòng và ghế của bộ phim đó trong showtime (Vĩnh tiến)

31

Ngày đăng: 31/07/2024, 17:17

w