lOMoARcPSD|11346942
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
lOMoARcPSD|11346942
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
lOMoARcPSD|11346942
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
lOMoARcPSD|11346942
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 code
first 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
lOMoARcPSD|11346942
- 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
lOMoARcPSD|11346942
TUẦN 3
I. Sercurity
I.1 Học được như thế nào là Filter
- Tài liệu kham thảo:
/> - Đượ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:
/> - 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ành
cơng
- Đối với dự án nhóm trên cơng ty hiện tại đã hồn thành 60%
- Tài liệu kham thảo : />
6
lOMoARcPSD|11346942
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 ngồ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à áp
dụ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ửa
máy chủ và máy khách để không bị sai link (thường bị lỗi đường link nhưng
hiệ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 q trình hồn thiện và gắn các chức năng API
Tài liệu kham thảo:
- (CSV Helper)
- />
aspnet-web-api (Access Token)
- />
Asp-Net-web-api/ (Upload File)
7
lOMoARcPSD|11346942
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 đến
ASP.NET WEB API nhưng vẫn còn một số khái niệm chuyên sâu về ASP.NET WEB
API 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ành
cô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:
- Oauth2: /> - Google cloud storage: /> - Rabbitmq: /> - JWT: />
8
lOMoARcPSD|11346942
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 tố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
Quản lý phim Hệ thống cần có khả năng quản
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êm
mới, chỉnh sửa hoặc xóa phim
Quả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
lOMoARcPSD|11346942
Đặt vé chiếu. Nó cần hỗ trợ cập nhật lịch
Thanh toán chiếu, bao gồm thêm mới, chỉnh sửa
Quản lý thông tin khách hàng hoặc hủy bỏ suất chiếu
Hệ thống phải cung cấp chức
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à hồn tất q 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
Hệ thống cần hỗ trợ các phương
thức thanh tốn an tồ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ù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
lOMoARcPSD|11346942
II.1.2 Yêu cầu chức năng và phi chức năng của hệ thống
11
Downloaded by Quang Tr?n ()
lOMoARcPSD|11346942
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 Yêu cầu chức năng
nghiệp vụ hệ thống
Quản lí Lưu trữ: Phân quyền:
- Quản lí lịch chiếu - Phân quyền sử dụng
phim giữa quản lý, nhân viên
và khách hàng.
- Quản lí thơng tin
khách hàng Sao lưu:
- Quản lí thơng tin - Sao lưu, phục hồi dữ
phim liệu
-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ùng
Tra 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é
12
-Xem thơng tin phịng
chiếu
Downloaded by Quang Tr?n ()
lOMoARcPSD|11346942
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
STT Tên thuộc Kiểu dữ Miền giá Diễn giải
tính liệu trị
1 MaQuocgia Chuỗi ≤11 Mã quốc
gia là khóa chính
2 TenQuocGia Chuỗi ≤50 Tên quốc
13
Downloaded by Quang Tr?n ()
lOMoARcPSD|11346942
gia
Bảng THELOAI lưu trữ thông tin thể loại
STT Tên thuộc tính Kiểu dữ Miền giá Diễn giải
liệu trị
1 MaTL Chuỗi ≤11 Mã thể loại
là khóa chính
2 TenTL Chuỗi ≤11 Tên thể loại
Bảng NHANVIEN lưu trữ thông tin nhân viên
STT Tên thuộc Kiểu dữ Miền giá Diễn giải
tính liệu trị
1 MaNhanVien Chuỗi ≤11 Mã nhân
viên là khóa
chính
2 TenNhanVien Chuỗi ≤50 Tên nhân
viên
3 SoDienThoai Chuỗi ≤13 Số điện
thoại là ký số
4 DiaChi Chuỗi ≤100 Địa chỉ
14
Downloaded by Quang Tr?n ()
lOMoARcPSD|11346942
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
STT Tên thuộc Kiểu dữ Miền giá Diễn giải
tính liệu trị
1 MaLichChieu Chuỗi ≤11 Mã lịch
chiếu là khóa
chính
2 NgayChieu date Ngày
chiếu sẽ bằng
ngày hiện tại
3 GioChieu time Giờ chiếu
sẽ là giờ trong
ngày đó
Bảng PHONG lưu trữ thơng tin phịng chiếu
STT Tên thuộc Kiểu dữ Miền giá Diễn giải
trị
tính liệu
1 MaPhong Chuỗi ≤11 Mã phòng là
khóa chính
15
Downloaded by Quang Tr?n ()
lOMoARcPSD|11346942
2 TenPhong Chuỗi ≤50 Tên phòng
3 SoChoNgoi int Số chỗ ngồi
4 SoHang int ≤11 Số hàng
5 socot int ≤11 Số cột
Bảng GIAVE lưu trữ thông tin giá vé
STT Tên thuộc Kiểu dữ Miền giá Diễn giải
trị
tính liệu
1 MaGiaVe Chuỗi ≤11 Mã gía vé
là khóa chính
2 Tên loại Chuỗi ≤11 Hiển thị
vé giá vé đó là loại
vé cho đối
tượng khách
hàng nào
3 GiaVe int >0 Giá vé
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ế
STT Tên thuộc Kiểu dữ Miền giá Diễn giải
16
Downloaded by Quang Tr?n ()
lOMoARcPSD|11346942
tính liệu trị
1 maGhe Chuỗi ≤11 Mã ghế là
khóa chính
2 TenGhe Chuỗi ≤50 Tên ghế
3 TrangThai Chuỗi ≤10 Trạng thái
4 MaPhong Chuỗi ≤11 Mã phòng
là khóa ngoại
Bảng PHIM để lưu trữ thông tin phim
STT Tên thuộc tính Kiểu dữ Miền giá Diễn giải
liệu trị
1 MaPhim Chuỗi ≤11 Mã phim là khóa
ngoại
2 TenPhim Chuỗi ≤50 Tên phim
3 ngaykhoichie date Ngày khởi chiếu
lớn hơn hoặc
u bằng ngày hiện
tại
4 Mota Chuỗi ≤100 Mô tả
5 Anh Chuỗi ≤11 ảnh
6 Trailer Chuỗi ≤50 Trailer
7 MaTL Chuỗi ≤11 Mã thể loại
17
Downloaded by Quang Tr?n ()
lOMoARcPSD|11346942
là khóa ngoại
8 MaQuocGia Chuỗi ≤11 Mã quốc
gia là khóa ngoại
9 banner Chuỗi ≤50 Banner
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
1 MaLichPhim Chuỗi ≤11 Mã lịch phim là
khóa chính dùng
định danh tỏng
lịch chiếu phim
2 MaLichChieu Chuỗi ≤11 Mã lịch chiếu
khóa ngoại
3 MaPhong Chuỗi ≤11 Mã phòng là
khóa ngoại
4 MaPhim Chuỗi ≤11 Mã phim là
khóa ngoại
Bảng TRANGTHAIGHE lưu trữ trạng thái ghế
STT Tên thuộc tính Kiểu dữ Miền giá Diễn giải
liệu trị
1 Maghe Chuỗi ≤11 Mã ghế là khóa
ngoại
2 TrangThai Chuỗi ≤11 Trạng thái
18
Downloaded by Quang Tr?n ()
lOMoARcPSD|11346942
3 MaPhong Chuỗi ≤11 Mã phòng là
khóa ngoại
4 MaLichChieu Chuỗi ≤11 Mã lịch chiếu là
khóa ngoại
Bảng TTDATVE lưu trữ thơng tin đặt vé
STT Tên thuộc tính Kiểu dữ Miền giá Diễn giải
liệu trị
1 MaDatVe Chuỗi ≤11 Mã đặt vé là
khóa chính
2 MaLichPhim Chuỗi ≤11 Mã lịch phim là
khóa ngoại
3 NgayDat date Ngày đặt bằng
ngày hiện tại
Bảng CTDATVE lưu trữ thông tin chi tiết đặt vé
STT Tên thuộc Kiểu dữ Miền giá Diễn giải
tính liệu trị
1 MaDatve int Mã đặt vé là
khóa ngoại
2 MaGhe Chuỗi ≤11 Mã ghế là khóa
ngoại
Bảng THANHTOAN lưu trữ thơng tin thanh tốn
19
Downloaded by Quang Tr?n ()
lOMoARcPSD|11346942
STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Diễn giải
1 MaThanhToan Chuỗi ≤11 Mã thanh toán
là khóa chính
2 MaDatVe Chuỗi ≤11 Mã đặt vé là
khóa ngoại
3 MaNhanVien Chuỗi ≤11 Mã nhân viên
là khóa ngoại
5 NgayThanhToan date Ngày thanh
toán bằng với
ngày hiện tại
6 Phương thức thanh toán Chuỗi ≤11 Hiển thị
phương thức
khách hàng
muốn thanh
tốn
Bảng NGUOIDUNG lưu trữ thơng tin người dùng
STT Tên thuộc tính Kiểu dữ Miền giá Diễn giải
liệu trị
1 username Chuỗi ≤50 Mã người dùng
là khóa chính
2 password Chuỗi ≤100 Mật khẩu
3 email Chuỗi ≤100 Email
20
Downloaded by Quang Tr?n ()