lOMoARcPSD| 58728417
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT
VƯƠNG ĐẮC BẮC
2021050104
BÁO CÁO THỰC TẬP
DOANH NGHIỆP
NGÀNH CÔNG NGHỆ THÔNG TIN
CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN ĐỊA HỌC
TÌM HIỂU FRAMEWORK REACT.JS CHO
FRONTEND, NODE.JS (EXPRESS) CHO
BACKEND ĐỂ XÂY DỰNG WEBSITE
NGHE NHẠC TRỰC TUYẾN
lOMoARcPSD| 58728417
HÀ NỘI 02/2025
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT
BÁO CÁO THỰC TẬP
DOANH NGHIỆP
NGÀNH CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH
CÔNG NGHỆ THÔNG TIN ĐỊA HỌC
TÌM HIỂU FRAMEWORK REACT.JS CHO FRONTEND,
NODE.JS (EXPRESS) CHO BACKEND ĐỂ XÂY DỰNG
WEBSITE NGHE NHẠC TRỰC TUYẾN
Sinh viên thực tập : Vương Đắc Bắc
Mã sinh viên : 2021050104 Công ty
thực tập : Người phụ trách :
Giảng viên hướng dẫn: Nguyễn Thị Mai Dung
HÀ NỘI 02/2025
lOMoARcPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
MỤC LỤC
MỤC LỤC.................................................................................................................1
DANH MỤC HÌNH VẼ............................................................................................3
DANH MỤC BẢNG BIỂU.......................................................................................4
CHƯƠNG 1 TỒNG QUAN LÝ THUYẾT VỀ LĨNH VỰC NGHIÊN CỨU...........5
1.1 Tình hình nghiên cứu và công nghệ liên quan.................................................5
1.1.1 Ứng dụng phát nhạc trực tuyến trên thế giới............................................5
1.1.2 Ứng dụng phát nhạc trực tuyến Việt Nam.............................................5
1.2 Tìm hiểu những công nghệ sẽ sử dụng............................................................6
1.2.1 Frontend: React.js....................................................................................6
1.2.2 Backend: Node.js (Express.js).................................................................6
1.2.3 Database: PostgreSQL.............................................................................7
1.2.4 Streaming: Firebase Storage....................................................................8
1.2.5 Authentication: Firebase Auth.................................................................9
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG CHO ỨNG DỤNG.........11
2.1 Thu thập thông tin và mô tả bài toán.............................................................11
2.1.1 Thu thập thông tin..................................................................................11
2.1.2 Mô tả bài toán........................................................................................11
2.2 Xác định yêu cầu hệ thống............................................................................11
2.2.1 Mục tiêu.................................................................................................11
2.2.2 Đối tượng sử dụng.................................................................................12
2.2.3 Yêu cầu chức năng.................................................................................12
2.3 Thiết kế hệ thống...........................................................................................12
2.3.1 Biểu đồ ca sử dụng (Use Case Diagram)................................................12
2.3.2 Biểu đồ hoạt động (Activity Diagrams).................................................20
2.3.3 Biểu đồ tuần tự (Sequence Diagrams)....................................................20
2. 4.......................................................................................................................2
1
2.5 Thiết kế wireframe........................................................................................21
TÀI LIỆU THAM KHẢO.......................................................................................23
PHỤ LỤC................................................................................................................24
lOMoARcPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
DANH MỤC HÌNH VẼ
Hình 1- 1 Thao tác cập nhật mục lục........................Error! Bookmark not defined.
Hình 1- 2 Cách chèn nhãn cho hình ảnh (bảng)........Error! Bookmark not defined.
Hình 1- 3 Cách tạo một nhãn mới.............................Error! Bookmark not defined.
Hình 1- 4 Cách tham chiếu đến một nhãn.................Error! Bookmark not defined.
Hình 1- 5 Danh mục hình ảnh, bảng biểu.................Error! Bookmark not defined.
Hình 1- 6 Cập nhật danh mục hình ảnh, bảng biểu...Error! Bookmark not defined.
Hình 1- 7 Cập nhật tài liệu tham khảo......................Error! Bookmark not defined.
Hình 1- 8 Quản lý nguồn tham khảo.........................Error! Bookmark not defined.
Hình 1- 9 Chèn danh sách trích dẫn..........................Error! Bookmark not defined.
Hình 1- 10 Danh mục tài liệu tham khảo..................Error! Bookmark not defined.
lOMoARcPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
DANH MỤC BẢNG BIỂU
Bảng 1- 1 Danh sách sinh viên.................................Error! Bookmark not defined.
lOMoARcPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
CHƯƠNG 1 TỒNG QUAN LÝ THUYẾT VỀ LĨNH VỰC
NGHIÊN CỨU
1. Sinh viên thực tập
TT
Mã sinh viên
Họ và tên
Lớp
Điện thoại
E-mail
1
2021050104
Vương Đắc Bắc
DCCTDH65B
0336766312
vuongdacbac2702@gmail.com
2. Giảng viên hướng dẫn
TT
Họ và tên
Đơn vị
Điện thoại
E-mail
1
Nguyễn Thị
Mai Dung
Khoa CNTT, Bộ
môn Tin học Trắc
địa
0985276806
nguyenthimaidung@humg.edu.vn
3. Thông tin công ty thực tập
Tên công ty: CÔNG TY CỔ PHẦN CÔNG NGHỆ VÀ THƯƠNG MẠI NHP
Tên quốc tế: Nhp Technology And Trade Joint Stock Company
Tên viết tắt: NHP TECH
Loại hình pháp lý: Công ty cổ phần
Địa chỉ: 12 ngách 378/65 Thụy Khuê, Phường Bưởi, Quận Tây Hồ, Thành phố
Hà Nội
Điện thoại: (+84) 906521698
4. Người hướng dẫn thực tập tại công ty
5. Tên đ ti hoặc dự án thực tập
Tên dự án: Tìm hiểu Framework React.js cho Frontend, Node.js (Express) cho
Backend để xây dựng website nghe nhạc trực tuyến.
(Nghe nhạc trực tuyến là việc người dùng truy cập vào mạng Internet và sử dụng
các nền tảng stream nhạc như Spotify, Apple Music,…để nghe nhạc trực tiếp trên các
thiết bị kết nối Internet như điện thoại, máy tính, smart TV, loa thông minh,
Thay tải nhạc về máy tính hay thiết bị lưu trữ, nghe nhạc trực tuyến giúp người
dùng tiết kiệm bộ nhớ chi phí mua nhạc. Từ những nền tảng này, người dùng
thể truy cập vào hàng triệu bài hát của các nghệ sĩ nổi tiếng từ khắp nơi trên thế giới,
lOMoARcPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
đồng thời những bản nhạc mới nhất liên tục được cập nhật để mang đến những trải
nghiệm nghe nhạc mới nhất cho người dùng.)
6. Các nhiệm vụ được giao thực hiện
Tìm hiểu và nghiên cứu những thông tin cơ bản có liên quan đến đề tài
Phân tích, thiết kế hệ thống và cơ sở dữ liệu
Xây dựng Backend
Xây dựng Frontend
Kiểm thử
7. Kế hoạch thực hiện
Tuần
Nội dung công việc lm theo tuần
Kết quả dự kiến
1
Tìm hiểu về địa điểm thực tập
Xác định tên đề tài, dự án thực tập
Khảo sát các ứng dụng có chủ đề, nội
dung tương tự với đề tài sẽ làm
Viết bản đề cương thực tập doanh
nghiệp
Nắm được những thông tin cơ bản
của công ty
Xác định được và lên ý tưởng sau
khi đã khảo sát
Gửi bản đề cương hoàn thiện cho
giáo viên phụ trách
2
Tìm hiểu những công nghệ sẽ sử dụng
Phân tích yêu cầu của bài toán
Phân tích và thiết kế hệ thống
Thiết kế wireframe
Những công nghệ được lựa chọn
Danh sách tính năng cần phát triển
Vẽ ra sơ đồ Use Case
Wireframe giao diện cơ bản trên
Figma
3
Thiết lập môi trường & Backend cơ
bản:
Khởi tạo và cấu hình dự án
Xây dựng hệ thống xác thực
Thiết lập database
Codebase được thiết lập
API xác thực người dùng (Đăng ký,
Đăng nhập) hoạt động
Xây dựng được lược đồ thực thể -
liên kết và lược đồ quan hệ
lOMoARcPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
Database PostgreSQL đã khởi tạo
4 - 5
Xây dựng Backend hoàn chỉnh:
Quản lý nhạc & Playlist
Xây dựng tính năng phát nhạc
API CRUD cho bài hát, playlist
hoàn tất
API phát nhạc streaming hoạt động
API tìm kiếm bài hát hoạt động
6 - 7
Xây dựng Frontend:
Thiết kế giao diện chính
Tích hợp API với Frontend
Xây dựng trình phát nhạc
Giao diện trang chủ, trang phát
nhạc, playlist hoàn thành
Fetch API từ Backend để hiển thị dữ
liệu
Trình phát nhạc có thể phát, dừng,
chuyển bài
React Context quản lý trạng thái
nhạc
8
Hoàn thiện các tính năng nâng cao:
Thêm tính năng tìm kiếm
Quản lý playlist cá nhân
Responsive
Tìm kiếm nhạc trên giao diện hoạt
động
Chỉnh sửa, lưu danh sách phát nhạc
cá nhân hoàn tất
Responsive với các kích thước hiển
thị của trình duyệt
9
Kiểm thử chức năng và giao diện
Sửa các lỗi phát hiện trong quá trình
kiểm thử
Sửa thành công các lỗi nếu phát hiện
10
Viết báo cáo thực tập và nộp kết quả
thực hiện
Làm Slide Powerpoint
Thuyết trình kết quả quá trình thực
tập trước Bộ môn
lOMoARcPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
1.1 Tình hình nghiên cứu v công nghệ liên quan
1.1.1 Ứng dụng phát nhạc trực tuyến trên thế giới
Spotify: Spotify một nhà cung cấp dịch vụ phát trực tuyến âm thanh
phương tiện truyền thông của Thụy Điển được thành lập vào ngày 23 tháng 4 năm
2006 bởi Daniel Ek Martin Lorentzon. Tính đến tháng 12 năm 2024, đây một
trong những nhà cung cấp dịch vụ phát trực tuyến nhạc lớn nhất, với hơn 675 triệu
người dùng hoạt động hàng tháng bao gồm 263 triệu người đăng trả phí. Spotify
cung cấp nội dung âm thanh được ghi âm có bản quyền kỹ thuật số hạn chế, bao gồm
hơn 100 triệu bài hát và 6 triệu tiêu đề podcast, từ các hãng thu âm và công ty truyền
thông. Hoạt động như một dịch vụ freemium, các tính năng bản miễn phí với
quảng cáo quyền kiểm soát hạn chế, trong khi các tính năng bổ sung, chẳng hạn
như nghe ngoại tuyến nghe không quảng cáo, được cung cấp thông qua các
đăng trả phí. Người dùng thể tìm kiếm nhạc dựa trên nghệ sĩ, album hoặc thể
loại và có thể tạo, chỉnh sửa và chia sẻ danh sách phát. Nó cung cấp một số tính năng
truyền thông hội, theo dõi bạn tạo các buổi tiệc nghe gọi "Jams".
https://en.wikipedia.org/wiki/Spotify
Apple Music: Apple Music là dịch vụ phát trực tuyến âm thanh video do
Apple Inc. phát triển. Người dùng thể chọn nhạc để phát trực tuyến theo yêu cầu
đến thiết bị của họ hoặc nghe danh sách phát hiện có . Dịch vụ này cũng bao gồm các
đài phát thanh internet chị em Apple Music 1 , Apple Music Hits, Apple Music
Country, Apple Música Uno, Apple Music Club và Apple Music Chill được phát trực
tiếp đến hơn 200 quốc gia 24 gimột ngày. Dịch vụ này được ng bố vào ngày 8
tháng 6 năm 2015 ra mắt vào ngày 30 tháng 6 năm 2015. Người đăng mới được
dùng thử miễn phí một tháng hoặc sáu tháng khi mua các sản phẩm được chọn trước
khi dịch vụ yêu cầu đăng ký hàng tháng. https://en.wikipedia.org/wiki/Apple_Music
1.1.2 Ứng dụng phát nhạc trực tuyến ở Việt Nam
1.2 Tìm hiểu những công nghệ sẽ sử dụng
Để xây dựng một website phát nhạc tương tự Spotify, bạn cần những công nghệ
phù hợp với từng thành phần của hệ thống: Frontend, Backend, Database, Streaming,
Authentication. Dưới đây là các công nghệ gợi ý cho từng phần.
1.2.1 Frontend: React.js
React (còn được gọi là React.js hoặc ReactJS) là một thư viện JavaScript front-
end miễn phí nguồn mở nhằm mục đích làm cho việc xây dựng giao diện người
dùng dựa trên các thành phần trở nên "liền mạch" hơn. được duy trì bởi Meta
(trước đây là Facebook) và một cộng đồng các nhà phát triển và công ty riêng lẻ.
lOMoARcPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
React có thể được sử dụng để phát triển các ứng dụng một trang , di động hoặc
được kết xuất trên máy chủ với các khung như Next.js và Remix. Vì React chỉ quan
tâm đến giao diện người dùng kết xuất các thành phần cho DOM , nên các ứng
dụng React thường dựa vào các thư viện để định tuyến và các chức năng khác ở phía
máy khách. Một lợi thế chính của React chỉ kết xuất lại những phần của trang
đã thay đổi, tránh việc kết xuất lại không cần thiết các thành phần DOM không thay
đổi. [ 1 ] https://en.wikipedia.org/wiki/React_(software)
1.2.2 Backend: Node.js (Express.js)
Node.js môi trường chạy JavaScript nguồn mở, đa nền tảng thể chạy
trên Windows, Linux, Unix, macOS, v.v. Node.js chạy trên công cụ JavaScript V8 và
thực thi mã JavaScript bên ngoài trình duyệt web.
Node.js cho phép các nhà phát triển sử dụng JavaScript để viết các công cụ dòng
lệnh để viết kịch bản phía máy chủ. Khả năng chạy JavaScript trên máy chủ
thường được sử dụng để tạo nội dung trang web động trước khi trang được gửi đến
trình duyệt web của người dùng. Do đó, Node.js đại diện cho hình "JavaScript
khắp mọi nơi", thống nhất phát triển ứng dụng web xung quanh một ngôn ngữ lập
trình duy nhất, trái ngược với việc sử dụng các ngôn ngữ khác nhau cho lập trình phía
máy chủ so với phía máy khách.
Node.js kiến trúc hướng sự kiện khả năng I/O không đồng bộ. Các lựa
chọn thiết kế này nhằm mục đích tối ưu hóa thông lượng và khả năng mở rộng trong
các ứng dụng web nhiều hoạt động đầu vào/đầu ra, cũng như đối với các ứng dụng
web thời gian thực (ví dụ: chương trình giao tiếp thời gian thực và trò chơi trên trình
duyệt ). [ 2 ] https://en.wikipedia.org/wiki/Node.js
Express.js, hay đơn giản là Express, là một khuôn khổ ứng dụng web back-end
để xây dựng các API REST ful với Node.js, được phát hành dưới dạng phần mềm
miễn phí nguồn mở theo Giấy phép MIT. được thiết kế để xây dựng các
ứng dụng web API. được gọi khuôn khổ máy chủ chuẩn de facto cho Node.js.
Tác giả gốc, TJ Holowaychuk, tả như một máy chủ lấy cảm hứng từ
Sinatra, nghĩa là nó tương đối tối giản với nhiều tính năng có sẵn dưới dạng plugin.
Express thành phần phụ trợ của các ngăn xếp phát triển phổ biến như ngăn xếp
MEAN, MERN hoặc MEVN, cùng với phần mềm sở dữ liệu MongoDB một
khuôn khổ hoặc thư viện JavaScript front-end. [ 3 ]
https://en.wikipedia.org/wiki/Express.js
1.2.3 Database: PostgreSQL
PostgreSQL còn được gọi Postgres, một hệ thống quản sở dữ liệu
quan hệ ( RDBMS) miễn phí và mã nguồn mở, nhấn mạnh vào khả năng mở rộng và
lOMoARcPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
tuân thủ SQL. PostgreSQL có các giao dịch với các thuộc tính nguyên tử, nhất quán,
cô lập, bền vững (ACID), chế độ xem có thể tự động cập nhật, chế độ xem được thực
thể hóa, kích hoạt, khóa ngoại và thủ tục được lưu trữ. Nó được hỗ trợ trên tất cả các
hệ điều hành chính, bao gồm Windows, Linux, macOS, FreeBSD OpenBSD,
xử một loạt khối ợng ng việc từ máy đơn đến kho dữ liệu, hồ dữ liệu, hoặc
dịch vụ web có nhiều người dùng đồng thời .
Nhóm phát triển toàn cầu PostgreSQL chỉ tập trung vào việc phát triển một công
cụ sở dữ liệu các thành phần liên quan chặt chẽ. Về mặt kỹ thuật, cốt lõi này
tạo nên PostgreSQL, nhưng có một cộng đồng nhà phát triển và hệ sinh thái rộng lớn
cung cấp các bộ tính năng quan trọng khác mà theo truyền thống thể được cung
cấp bởi một nhà cung cấp phần mềm độc quyền. Chúng bao gồm các tính ng của
công cụ cơ sở dữ liệu chuyên dụng, như những tính năng cần thiết để hỗ trợ cơ sở dữ
liệu không gian địa hoặc thời gian hoặc các tính năng phỏng các sản phẩm
sở dữ liệu khác. Ngoài ra, các bên thứ ba n cung cấp nhiều tính năng giao diện
người dùng máy, chẳng hạn như giao diện người dùng đồ họa hoặc bộ công cụ cân
bằng tải khả dụng cao. Mạng lưới hỗ trợ PostgreSQL của bên thứ ba lớn gồm
những người, công ty, sản phẩm và dự án, mặc dù không phải là một phần của Nhóm
phát triển PostgreSQL, nhưng lại rất cần thiết cho việc áp dụng sử dụng công cụ
cơ sở dữ liệu PostgreSQL và tạo nên hệ sinh thái PostgreSQL nói chung.
PostgreSQL ban đầu được đặt tên POSTGRES, ám chỉ nguồn gốc của
người kế nhiệm cơ sở dữ liệu Ingres được phát triển tại Đại học California, Berkeley.
Năm 1996, dự án được đổi tên thành PostgreSQL để phản ánh sự hỗ trợ của đối
với SQL. Sau khi xem xét vào năm 2007, nhóm phát triển đã quyết định giữ nguyên
tên PostgreSQL và bí danh Postgres. [ 4 ] https://en.wikipedia.org/wiki/PostgreSQL
1.2.4 Streaming: Firebase Storage
Firebase Storage là dịch vụ mà các nhà phát triển có thể sử dụng cho nhiều mục
đích khác nhau, bao gồm tải lên, lưu trữ tải xuống các tệp do người dùng ứng dụng
tạo ra. Điều tuyệt vời nhất về loại hệ thống lưu trữ này không cần mã hóa phía máy
chủ.
Firebase Storage sử dụng các thùng u trữ đám mây của riêng Google để u
trữ các tệp cho phép truy cập từ cả Google Cloud và Firebase. Các thùng lưu trữ đám
mây được hình thành trong một cấu trúc phân cấp.
lOMoARcPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
Một điều tuyệt vời khác về lưu trữ đám mây Firebase cách tích hợp liền
mạch với Firebase Authentication. Điều này cho phép các nhà phát triển sắp xếp các
tệp đã tải lên dựa trên từng người dùng ứng dụng và triển khai kiểm soát truy cập nếu
cần. Hơn nữa, u trữthể tự động mở rộng khi cần để bạn không phải lo lắng khi
lưu trữ trở nên quá lớn. [ 5 ] https://www.ashutec.com/blog/what-is-googlefirebase-
storage-and-how-to-use-it-for-application-development-4f9f462d1487 Tính năng:
Google Firebase Storage cung cấp cho bạn dịch vụ lưu trữ nhanh chóng
an toàn, được gọi Firebase Hosting, thể được sử dụng cho ng
dụng web, nội dung tĩnh và động cũng như các dịch vụ siêu nhỏ của bạn.
Lưu trữ Firebase dành cho các nhà phát triển web hiện đại, với sự ra đời
của các khuôn khổ JavaScript front-end như Angular và các công cụ tạo
tĩnh, các trang web và ứng dụng mạnh mẽ hơn bao giờ hết.
Bộ nhớ Firebase công cụ đo lường nguồn doanh thu giúp bạn hiểu
được giá trị trọn đời của người dùng phát triển doanh nghiệp của mình
để đo lường doanh thu Firebase, bạn có thể sử dụng Google Analytics.
Firebase cung cấp một công cụ trong bảng điều khiển Firebase để khám
phá và phân tích dữ liệu dự án của bạn. Nó có thể thiết lập các truy vấn
của bạn có thể được xuất sang BigQuery, với BigQuery, bạn có thể phân
tích dữ liệu của mình hoặc xuất dữ liệu để sử dụng các công cụ.
Để làm việc trên nhiều nền tảng thông qua một liên kết duy nhất, Firebase
cung cấp cho bạn các liên kết động Firebase, với các liên kết động, người
dùng được trải nghiệm tốt nhất thể trên nền tảng họ mở liên kết
của bạn.
lOMoARcPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
Google Analytics ứng dụng đo lường các giải pháp không tính
thêm phí, cung cấp thông tin chi tiết về mức độ sử dụng ứng dụng
mức độ tương tác của người dùng.
Firebase cung cấp cho bạn không gian lưu trữ để lưu nội dung do người
dùng tạo như ảnh và video trên bộ nhớ đám mây Firebase.
1.2.5 Authentication: Firebase Auth
Firebase Authentication dịch vphụ trợ mạnh mẽ do Google Firebase cung
cấp, được thiết kế để tăng tốc quá trình xác thực người dùng trong các ứng dụng. Hỗ
trợ nhiều phương thức xác thực khác nhau, chẳng hạn như email/mật khẩu, số điện
thoại và thông tin đăng nhập mạng xã hội, Firebase Authentication đảm bảo xác thực
người dùng và quản lý danh tính an toàn.
Xác thực Firebase hoạt động như thế nào?
Xác thực Firebase hoạt động bằng cách cung cấp một bộ SDK (Bộ phát
triển phần mềm) phía máy khách cho các nền tảng phổ biến như Android,
iOS và web.
Các SDK này xử quy trình xác thực phía máy khách, giao tiếp an
toàn với các dịch vụ phụ trợ của Firebase.
Khi người dùng cố gắng đăng nhập vào ứng dụng của chúng tôi, Firebase
Authentication SDK sẽ khởi tạo quy trình xác thực bằng cách yêu cầu
thông tin đăng nhập từ người dùng.
Sau đó, thông tin c thực được truyền một cách an toàn đến máy chủ
Firebase, tại đó chúng được xác minh với ncung cấp xác thực đã cấu
hình (ví dụ: máy chủ xác thực Firebase, Google, Facebook , v.v.).
Sau khi thông tin đăng nhập của người dùng được xác minh, Firebase
Authentication sẽ tạo một mã xác thực duy nhất và gửi lại cho ứng dụng
khách.
thông báo này đóng vai trò bằng chứng về danh tính của người
dùng thể được sử dụng để truy cập các dịch vụ tài nguyên
Firebase một cách an toàn.
Các tính năng chính của Firebase Authentication:
Nhiều n cung cấp xác thực: Firebase Authentication hỗ trợ nhiều
phương thức xác thực, bao gồm email/mật khẩu, số điện thoại, đăng nhập
bằng mạng xã hội (Google, Facebook, Twitter, GitHub), v.v.
Tích hợp dễ dàng: Firebase Authentication cung cấp SDK cho các nền
tảng phổ biến, giúp bạn dễ dàng tích hợp xác thực vào ứng dụng chỉ bằng
một vài dòng mã.
lOMoARcPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
Bảo mật: Firebase Authentication xử xác thực người dùng một cách
an toàn, sử dụng các giao thức xác thực hóa tiêu chuẩn công nghiệp
để bảo vệ dữ liệu và thông tin đăng nhập của người dùng.
Quản người dùng: Firebase Authentication cung cấp các công cụ để
quản tài khoản người dùng, bao gồm tạo người dùng , đặt lại mật khẩu,
xác minh email và xóa tài khoản .
Tùy chỉnh: Bạn thể tùy chỉnh trải nghiệm xác thực trong ứng dụng
của mình, bao gồm tùy chỉnh UI, triển khai xác thực đa yếu tố thực
thi chính sách mật khẩu.
https://www.geeksforgeeks.org/what-is-firebase-authentication/
lOMoARcPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
TÀI LIỆU THAM KHẢO
Ti liệu Tiếng Việt
1. Họ Tên tác giả (Thứ tự theo Tên). Tên tài liệu. Địa danh. Nxb. Tên nhà xuất
bản, năm xuất bản.
2. Nguyễn Quốc ờng, Hoàng Đức Hải. Giáo trình Đồ hoạ vi tính. Hà Nội. Nxb.
Giáo dục, 2000.
Ti liệu Tiếng Anh
3. Amy Apon. University of Arkansas, 2004. Lecture for Cluster and Grid
Computing.
4. Bart Jacob, Luis Ferreira, Nobert Bieberstein, Candice Gilzean, Jean-Yves, Girard,
Roman Strachowski, Seong (Steve) Yu. Enabling Application for Grid Computing
with Globus. IBM RedBooks, 2003.
Ti liệu từ Internet
5. Tên bài viết, liên kết trang (có thể dùng Google URL Shortener https://goo.gl/ hoặc
Bitly https://bitly.com/ để tạo link cho gọn), ngày truy cập.
6. ...
lOMoARcPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
lOMoARcPSD| 58728417
PHỤ LỤC
Vương Đắc Bắc
15
DCCTDH65B
lOMoARcPSD| 58728417

Preview text:

lOMoAR cPSD| 58728417
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT VƯƠNG ĐẮC BẮC 2021050104 BÁO CÁO THỰC TẬP DOANH NGHIỆP
NGÀNH CÔNG NGHỆ THÔNG TIN
CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN ĐỊA HỌC
TÌM HIỂU FRAMEWORK REACT.JS CHO
FRONTEND, NODE.JS (EXPRESS) CHO
BACKEND ĐỂ XÂY DỰNG WEBSITE
NGHE NHẠC TRỰC TUYẾN lOMoAR cPSD| 58728417 HÀ NỘI 02/2025
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT BÁO CÁO THỰC TẬP DOANH NGHIỆP
NGÀNH CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH
CÔNG NGHỆ THÔNG TIN ĐỊA HỌC
TÌM HIỂU FRAMEWORK REACT.JS CHO FRONTEND,
NODE.JS (EXPRESS) CHO BACKEND ĐỂ XÂY DỰNG
WEBSITE NGHE NHẠC TRỰC TUYẾN

Sinh viên thực tập : Vương Đắc Bắc
Mã sinh viên : 2021050104 Công ty thực tập
: Người phụ trách :
Giảng viên hướng dẫn: Nguyễn Thị Mai Dung HÀ NỘI 02/2025 lOMoAR cPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin MỤC LỤC
MỤC LỤC.................................................................................................................1
DANH MỤC HÌNH VẼ............................................................................................3
DANH MỤC BẢNG BIỂU.......................................................................................4
CHƯƠNG 1 TỒNG QUAN LÝ THUYẾT VỀ LĨNH VỰC NGHIÊN CỨU...........5
1.1 Tình hình nghiên cứu và công nghệ liên quan.................................................5
1.1.1 Ứng dụng phát nhạc trực tuyến trên thế giới............................................5
1.1.2 Ứng dụng phát nhạc trực tuyến ở Việt Nam.............................................5
1.2 Tìm hiểu những công nghệ sẽ sử dụng............................................................6
1.2.1 Frontend: React.js....................................................................................6
1.2.2 Backend: Node.js (Express.js).................................................................6
1.2.3 Database: PostgreSQL.............................................................................7
1.2.4 Streaming: Firebase Storage....................................................................8
1.2.5 Authentication: Firebase Auth.................................................................9
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG CHO ỨNG DỤNG.........11
2.1 Thu thập thông tin và mô tả bài toán.............................................................11
2.1.1 Thu thập thông tin..................................................................................11
2.1.2 Mô tả bài toán........................................................................................11
2.2 Xác định yêu cầu hệ thống............................................................................11
2.2.1 Mục tiêu.................................................................................................11
2.2.2 Đối tượng sử dụng.................................................................................12
2.2.3 Yêu cầu chức năng.................................................................................12
2.3 Thiết kế hệ thống...........................................................................................12
2.3.1 Biểu đồ ca sử dụng (Use Case Diagram)................................................12
2.3.2 Biểu đồ hoạt động (Activity Diagrams).................................................20
2.3.3 Biểu đồ tuần tự (Sequence Diagrams)....................................................20
2. 4.......................................................................................................................2 1
2.5 Thiết kế wireframe........................................................................................21
TÀI LIỆU THAM KHẢO.......................................................................................23
PHỤ LỤC................................................................................................................24 lOMoAR cPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin DANH MỤC HÌNH VẼ
Hình 1- 1 Thao tác cập nhật mục lục........................Error! Bookmark not defined.
Hình 1- 2 Cách chèn nhãn cho hình ảnh (bảng)........Error! Bookmark not defined.
Hình 1- 3 Cách tạo một nhãn mới.............................Error! Bookmark not defined.
Hình 1- 4 Cách tham chiếu đến một nhãn.................Error! Bookmark not defined.
Hình 1- 5 Danh mục hình ảnh, bảng biểu.................Error! Bookmark not defined.
Hình 1- 6 Cập nhật danh mục hình ảnh, bảng biểu...Error! Bookmark not defined.
Hình 1- 7 Cập nhật tài liệu tham khảo......................Error! Bookmark not defined.
Hình 1- 8 Quản lý nguồn tham khảo.........................Error! Bookmark not defined.
Hình 1- 9 Chèn danh sách trích dẫn..........................Error! Bookmark not defined.
Hình 1- 10 Danh mục tài liệu tham khảo..................Error! Bookmark not defined. lOMoAR cPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
DANH MỤC BẢNG BIỂU
Bảng 1- 1 Danh sách sinh viên.................................Error! Bookmark not defined. lOMoAR cPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
CHƯƠNG 1 TỒNG QUAN LÝ THUYẾT VỀ LĨNH VỰC NGHIÊN CỨU
1. Sinh viên thực tập TT Mã sinh viên Họ và tên Lớp Điện thoại E-mail
1 2021050104 Vương Đắc Bắc DCCTDH65B 0336766312 vuongdacbac2702@gmail.com
2. Giảng viên hướng dẫn
TT Mã cán bộ Họ và tên Đơn vị Điện thoại E-mail
Nguyễn Thị Khoa CNTT, Bộ 1
môn Tin học Trắc 0985276806 nguyenthimaidung@humg.edu.vn Mai Dung địa
3. Thông tin công ty thực tập
Tên công ty: CÔNG TY CỔ PHẦN CÔNG NGHỆ VÀ THƯƠNG MẠI NHP
Tên quốc tế: Nhp Technology And Trade Joint Stock Company Tên viết tắt: NHP TECH
Loại hình pháp lý: Công ty cổ phần
Địa chỉ: 12 ngách 378/65 Thụy Khuê, Phường Bưởi, Quận Tây Hồ, Thành phố Hà Nội
Điện thoại: (+84) 906521698
4. Người hướng dẫn thực tập tại công ty
5. Tên đề tài hoặc dự án thực tập
Tên dự án: Tìm hiểu Framework React.js cho Frontend, Node.js (Express) cho
Backend để xây dựng website nghe nhạc trực tuyến.
(Nghe nhạc trực tuyến là việc người dùng truy cập vào mạng Internet và sử dụng
các nền tảng stream nhạc như Spotify, Apple Music,…để nghe nhạc trực tiếp trên các
thiết bị kết nối Internet như điện thoại, máy tính, smart TV, loa thông minh, …
Thay vì tải nhạc về máy tính hay thiết bị lưu trữ, nghe nhạc trực tuyến giúp người
dùng tiết kiệm bộ nhớ và chi phí mua nhạc. Từ những nền tảng này, người dùng có
thể truy cập vào hàng triệu bài hát của các nghệ sĩ nổi tiếng từ khắp nơi trên thế giới, lOMoAR cPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
đồng thời những bản nhạc mới nhất liên tục được cập nhật để mang đến những trải
nghiệm nghe nhạc mới nhất cho người dùng.)
6. Các nhiệm vụ được giao thực hiện
• Tìm hiểu và nghiên cứu những thông tin cơ bản có liên quan đến đề tài
• Phân tích, thiết kế hệ thống và cơ sở dữ liệu • Xây dựng Backend • Xây dựng Frontend • Kiểm thử
7. Kế hoạch thực hiện Tuần
Nội dung công việc làm theo tuần
Kết quả dự kiến 1
• Tìm hiểu về địa điểm thực tập
Nắm được những thông tin cơ bản
• Xác định tên đề tài, dự án thực tập của công ty
• Khảo sát các ứng dụng có chủ đề, nội Xác định được và lên ý tưởng sau
dung tương tự với đề tài sẽ làm khi đã khảo sát
• Viết bản đề cương thực tập doanh
Gửi bản đề cương hoàn thiện cho nghiệp giáo viên phụ trách 2
• Tìm hiểu những công nghệ sẽ sử dụng Những công nghệ được lựa chọn
• Phân tích yêu cầu của bài toán
Danh sách tính năng cần phát triển
• Phân tích và thiết kế hệ thống Vẽ ra sơ đồ Use Case • Thiết kế wireframe
Wireframe giao diện cơ bản trên Figma 3
Thiết lập môi trường & Backend cơ
Codebase được thiết lập bản:
API xác thực người dùng (Đăng ký,
Khởi tạo và cấu hình dự án Đăng nhập) hoạt động
Xây dựng hệ thống xác thực
Xây dựng được lược đồ thực thể -
liên kết và lược đồ quan hệ Thiết lập database lOMoAR cPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
Database PostgreSQL đã khởi tạo
4 - 5 Xây dựng Backend hoàn chỉnh:
API CRUD cho bài hát, playlist
Quản lý nhạc & Playlist hoàn tất
Xây dựng tính năng phát nhạc
API phát nhạc streaming hoạt động
API tìm kiếm bài hát hoạt động 6 - 7 Xây dựng Frontend:
Giao diện trang chủ, trang phát
Thiết kế giao diện chính nhạc, playlist hoàn thành
Tích hợp API với Frontend
Fetch API từ Backend để hiển thị dữ
Xây dựng trình phát nhạc liệu
Trình phát nhạc có thể phát, dừng, chuyển bài
React Context quản lý trạng thái nhạc 8
Hoàn thiện các tính năng nâng cao:
Tìm kiếm nhạc trên giao diện hoạt
Thêm tính năng tìm kiếm động
Quản lý playlist cá nhân
Chỉnh sửa, lưu danh sách phát nhạc Responsive cá nhân hoàn tất
Responsive với các kích thước hiển thị của trình duyệt 9
• Kiểm thử chức năng và giao diện
Sửa thành công các lỗi nếu phát hiện
• Sửa các lỗi phát hiện trong quá trình kiểm thử
10 • Viết báo cáo thực tập và nộp kết quả
Thuyết trình kết quả quá trình thực thực hiện tập trước Bộ môn • Làm Slide Powerpoint lOMoAR cPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
1.1 Tình hình nghiên cứu và công nghệ liên quan
1.1.1 Ứng dụng phát nhạc trực tuyến trên thế giới
Spotify: Spotify là một nhà cung cấp dịch vụ phát trực tuyến âm thanh và
phương tiện truyền thông của Thụy Điển được thành lập vào ngày 23 tháng 4 năm
2006 bởi Daniel Ek và Martin Lorentzon. Tính đến tháng 12 năm 2024, đây là một
trong những nhà cung cấp dịch vụ phát trực tuyến nhạc lớn nhất, với hơn 675 triệu
người dùng hoạt động hàng tháng bao gồm 263 triệu người đăng ký trả phí. Spotify
cung cấp nội dung âm thanh được ghi âm có bản quyền kỹ thuật số hạn chế, bao gồm
hơn 100 triệu bài hát và 6 triệu tiêu đề podcast, từ các hãng thu âm và công ty truyền
thông. Hoạt động như một dịch vụ freemium, các tính năng cơ bản là miễn phí với
quảng cáo và quyền kiểm soát hạn chế, trong khi các tính năng bổ sung, chẳng hạn
như nghe ngoại tuyến và nghe không có quảng cáo, được cung cấp thông qua các
đăng ký trả phí. Người dùng có thể tìm kiếm nhạc dựa trên nghệ sĩ, album hoặc thể
loại và có thể tạo, chỉnh sửa và chia sẻ danh sách phát. Nó cung cấp một số tính năng
truyền thông xã hội, theo dõi bạn bè và tạo các buổi tiệc nghe gọi là "Jams".
https://en.wikipedia.org/wiki/Spotify
Apple Music: Apple Music là dịch vụ phát trực tuyến âm thanh và video do
Apple Inc. phát triển. Người dùng có thể chọn nhạc để phát trực tuyến theo yêu cầu
đến thiết bị của họ hoặc nghe danh sách phát hiện có . Dịch vụ này cũng bao gồm các
đài phát thanh internet chị em là Apple Music 1 , Apple Music Hits, Apple Music
Country, Apple Música Uno, Apple Music Club và Apple Music Chill được phát trực
tiếp đến hơn 200 quốc gia 24 giờ một ngày. Dịch vụ này được công bố vào ngày 8
tháng 6 năm 2015 và ra mắt vào ngày 30 tháng 6 năm 2015. Người đăng ký mới được
dùng thử miễn phí một tháng hoặc sáu tháng khi mua các sản phẩm được chọn trước
khi dịch vụ yêu cầu đăng ký hàng tháng. https://en.wikipedia.org/wiki/Apple_Music
1.1.2 Ứng dụng phát nhạc trực tuyến ở Việt Nam
1.2 Tìm hiểu những công nghệ sẽ sử dụng
Để xây dựng một website phát nhạc tương tự Spotify, bạn cần những công nghệ
phù hợp với từng thành phần của hệ thống: Frontend, Backend, Database, Streaming,
Authentication. Dưới đây là các công nghệ gợi ý cho từng phần.
1.2.1 Frontend: React.js
React (còn được gọi là React.js hoặc ReactJS) là một thư viện JavaScript front-
end miễn phí và mã nguồn mở nhằm mục đích làm cho việc xây dựng giao diện người
dùng dựa trên các thành phần trở nên "liền mạch" hơn. Nó được duy trì bởi Meta
(trước đây là Facebook) và một cộng đồng các nhà phát triển và công ty riêng lẻ. lOMoAR cPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
React có thể được sử dụng để phát triển các ứng dụng một trang , di động hoặc
được kết xuất trên máy chủ với các khung như Next.js và Remix. Vì React chỉ quan
tâm đến giao diện người dùng và kết xuất các thành phần cho DOM , nên các ứng
dụng React thường dựa vào các thư viện để định tuyến và các chức năng khác ở phía
máy khách. Một lợi thế chính của React là nó chỉ kết xuất lại những phần của trang
đã thay đổi, tránh việc kết xuất lại không cần thiết các thành phần DOM không thay
đổi. [ 1 ] https://en.wikipedia.org/wiki/React_(software)
1.2.2 Backend: Node.js (Express.js)
Node.js là môi trường chạy JavaScript mã nguồn mở, đa nền tảng có thể chạy
trên Windows, Linux, Unix, macOS, v.v. Node.js chạy trên công cụ JavaScript V8 và
thực thi mã JavaScript bên ngoài trình duyệt web.
Node.js cho phép các nhà phát triển sử dụng JavaScript để viết các công cụ dòng
lệnh và để viết kịch bản phía máy chủ. Khả năng chạy mã JavaScript trên máy chủ
thường được sử dụng để tạo nội dung trang web động trước khi trang được gửi đến
trình duyệt web của người dùng. Do đó, Node.js đại diện cho mô hình "JavaScript ở
khắp mọi nơi", thống nhất phát triển ứng dụng web xung quanh một ngôn ngữ lập
trình duy nhất, trái ngược với việc sử dụng các ngôn ngữ khác nhau cho lập trình phía
máy chủ so với phía máy khách.
Node.js có kiến trúc hướng sự kiện có khả năng I/O không đồng bộ. Các lựa
chọn thiết kế này nhằm mục đích tối ưu hóa thông lượng và khả năng mở rộng trong
các ứng dụng web có nhiều hoạt động đầu vào/đầu ra, cũng như đối với các ứng dụng
web thời gian thực (ví dụ: chương trình giao tiếp thời gian thực và trò chơi trên trình
duyệt ). [ 2 ] https://en.wikipedia.org/wiki/Node.js
Express.js, hay đơn giản là Express, là một khuôn khổ ứng dụng web back-end
để xây dựng các API REST ful với Node.js, được phát hành dưới dạng phần mềm
miễn phí và mã nguồn mở theo Giấy phép MIT. Nó được thiết kế để xây dựng các
ứng dụng web và API. Nó được gọi là khuôn khổ máy chủ chuẩn de facto cho Node.js.
Tác giả gốc, TJ Holowaychuk, mô tả nó như một máy chủ lấy cảm hứng từ
Sinatra, nghĩa là nó tương đối tối giản với nhiều tính năng có sẵn dưới dạng plugin.
Express là thành phần phụ trợ của các ngăn xếp phát triển phổ biến như ngăn xếp
MEAN, MERN hoặc MEVN, cùng với phần mềm cơ sở dữ liệu MongoDB và một khuôn khổ hoặc thư viện JavaScript front-end. [ 3 ]
https://en.wikipedia.org/wiki/Express.js
1.2.3 Database: PostgreSQL
PostgreSQL còn được gọi là Postgres, là một hệ thống quản lý cơ sở dữ liệu
quan hệ ( RDBMS) miễn phí và mã nguồn mở, nhấn mạnh vào khả năng mở rộng và lOMoAR cPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
tuân thủ SQL. PostgreSQL có các giao dịch với các thuộc tính nguyên tử, nhất quán,
cô lập, bền vững (ACID), chế độ xem có thể tự động cập nhật, chế độ xem được thực
thể hóa, kích hoạt, khóa ngoại và thủ tục được lưu trữ. Nó được hỗ trợ trên tất cả các
hệ điều hành chính, bao gồm Windows, Linux, macOS, FreeBSD và OpenBSD, và
xử lý một loạt khối lượng công việc từ máy đơn đến kho dữ liệu, hồ dữ liệu, hoặc
dịch vụ web có nhiều người dùng đồng thời .
Nhóm phát triển toàn cầu PostgreSQL chỉ tập trung vào việc phát triển một công
cụ cơ sở dữ liệu và các thành phần liên quan chặt chẽ. Về mặt kỹ thuật, cốt lõi này
tạo nên PostgreSQL, nhưng có một cộng đồng nhà phát triển và hệ sinh thái rộng lớn
cung cấp các bộ tính năng quan trọng khác mà theo truyền thống có thể được cung
cấp bởi một nhà cung cấp phần mềm độc quyền. Chúng bao gồm các tính năng của
công cụ cơ sở dữ liệu chuyên dụng, như những tính năng cần thiết để hỗ trợ cơ sở dữ
liệu không gian địa lý hoặc thời gian hoặc các tính năng mô phỏng các sản phẩm cơ
sở dữ liệu khác. Ngoài ra, các bên thứ ba còn cung cấp nhiều tính năng giao diện
người dùng và máy, chẳng hạn như giao diện người dùng đồ họa hoặc bộ công cụ cân
bằng tải và khả dụng cao. Mạng lưới hỗ trợ PostgreSQL của bên thứ ba lớn gồm
những người, công ty, sản phẩm và dự án, mặc dù không phải là một phần của Nhóm
phát triển PostgreSQL, nhưng lại rất cần thiết cho việc áp dụng và sử dụng công cụ
cơ sở dữ liệu PostgreSQL và tạo nên hệ sinh thái PostgreSQL nói chung.
PostgreSQL ban đầu được đặt tên là POSTGRES, ám chỉ nguồn gốc của nó là
người kế nhiệm cơ sở dữ liệu Ingres được phát triển tại Đại học California, Berkeley.
Năm 1996, dự án được đổi tên thành PostgreSQL để phản ánh sự hỗ trợ của nó đối
với SQL. Sau khi xem xét vào năm 2007, nhóm phát triển đã quyết định giữ nguyên
tên PostgreSQL và bí danh Postgres. [ 4 ] https://en.wikipedia.org/wiki/PostgreSQL
1.2.4 Streaming: Firebase Storage
Firebase Storage là dịch vụ mà các nhà phát triển có thể sử dụng cho nhiều mục
đích khác nhau, bao gồm tải lên, lưu trữ và tải xuống các tệp do người dùng ứng dụng
tạo ra. Điều tuyệt vời nhất về loại hệ thống lưu trữ này là không cần mã hóa phía máy chủ.
Firebase Storage sử dụng các thùng lưu trữ đám mây của riêng Google để lưu
trữ các tệp cho phép truy cập từ cả Google Cloud và Firebase. Các thùng lưu trữ đám
mây được hình thành trong một cấu trúc phân cấp. lOMoAR cPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
Một điều tuyệt vời khác về lưu trữ đám mây Firebase là cách nó tích hợp liền
mạch với Firebase Authentication. Điều này cho phép các nhà phát triển sắp xếp các
tệp đã tải lên dựa trên từng người dùng ứng dụng và triển khai kiểm soát truy cập nếu
cần. Hơn nữa, lưu trữ có thể tự động mở rộng khi cần để bạn không phải lo lắng khi
lưu trữ trở nên quá lớn. [ 5 ] https://www.ashutec.com/blog/what-is-googlefirebase-
storage-and-how-to-use-it-for-application-development-4f9f462d1487 Tính năng:
• Google Firebase Storage cung cấp cho bạn dịch vụ lưu trữ nhanh chóng
và an toàn, được gọi là Firebase Hosting, có thể được sử dụng cho ứng
dụng web, nội dung tĩnh và động cũng như các dịch vụ siêu nhỏ của bạn.
• Lưu trữ Firebase dành cho các nhà phát triển web hiện đại, với sự ra đời
của các khuôn khổ JavaScript front-end như Angular và các công cụ tạo
tĩnh, các trang web và ứng dụng mạnh mẽ hơn bao giờ hết.
• Bộ nhớ Firebase có công cụ đo lường nguồn doanh thu giúp bạn hiểu
được giá trị trọn đời của người dùng và phát triển doanh nghiệp của mình
để đo lường doanh thu Firebase, bạn có thể sử dụng Google Analytics.
• Firebase cung cấp một công cụ trong bảng điều khiển Firebase để khám
phá và phân tích dữ liệu dự án của bạn. Nó có thể thiết lập các truy vấn
của bạn có thể được xuất sang BigQuery, với BigQuery, bạn có thể phân
tích dữ liệu của mình hoặc xuất dữ liệu để sử dụng các công cụ.
• Để làm việc trên nhiều nền tảng thông qua một liên kết duy nhất, Firebase
cung cấp cho bạn các liên kết động Firebase, với các liên kết động, người
dùng có được trải nghiệm tốt nhất có thể trên nền tảng mà họ mở liên kết của bạn. lOMoAR cPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
• Google Analytics là ứng dụng đo lường các giải pháp mà không tính
thêm phí, cung cấp thông tin chi tiết về mức độ sử dụng ứng dụng và
mức độ tương tác của người dùng.
• Firebase cung cấp cho bạn không gian lưu trữ để lưu nội dung do người
dùng tạo như ảnh và video trên bộ nhớ đám mây Firebase.
1.2.5 Authentication: Firebase Auth
Firebase Authentication là dịch vụ phụ trợ mạnh mẽ do Google Firebase cung
cấp, được thiết kế để tăng tốc quá trình xác thực người dùng trong các ứng dụng. Hỗ
trợ nhiều phương thức xác thực khác nhau, chẳng hạn như email/mật khẩu, số điện
thoại và thông tin đăng nhập mạng xã hội, Firebase Authentication đảm bảo xác thực
người dùng và quản lý danh tính an toàn.
Xác thực Firebase hoạt động như thế nào?
• Xác thực Firebase hoạt động bằng cách cung cấp một bộ SDK (Bộ phát
triển phần mềm) phía máy khách cho các nền tảng phổ biến như Android, iOS và web.
• Các SDK này xử lý quy trình xác thực ở phía máy khách, giao tiếp an
toàn với các dịch vụ phụ trợ của Firebase.
• Khi người dùng cố gắng đăng nhập vào ứng dụng của chúng tôi, Firebase
Authentication SDK sẽ khởi tạo quy trình xác thực bằng cách yêu cầu
thông tin đăng nhập từ người dùng.
• Sau đó, thông tin xác thực được truyền một cách an toàn đến máy chủ
Firebase, tại đó chúng được xác minh với nhà cung cấp xác thực đã cấu
hình (ví dụ: máy chủ xác thực Firebase, Google, Facebook , v.v.).
• Sau khi thông tin đăng nhập của người dùng được xác minh, Firebase
Authentication sẽ tạo một mã xác thực duy nhất và gửi lại cho ứng dụng khách.
• Mã thông báo này đóng vai trò là bằng chứng về danh tính của người
dùng và có thể được sử dụng để truy cập các dịch vụ và tài nguyên
Firebase một cách an toàn.
Các tính năng chính của Firebase Authentication:
• Nhiều nhà cung cấp xác thực: Firebase Authentication hỗ trợ nhiều
phương thức xác thực, bao gồm email/mật khẩu, số điện thoại, đăng nhập
bằng mạng xã hội (Google, Facebook, Twitter, GitHub), v.v.
• Tích hợp dễ dàng: Firebase Authentication cung cấp SDK cho các nền
tảng phổ biến, giúp bạn dễ dàng tích hợp xác thực vào ứng dụng chỉ bằng một vài dòng mã. lOMoAR cPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
• Bảo mật: Firebase Authentication xử lý xác thực người dùng một cách
an toàn, sử dụng các giao thức xác thực và mã hóa tiêu chuẩn công nghiệp
để bảo vệ dữ liệu và thông tin đăng nhập của người dùng.
• Quản lý người dùng: Firebase Authentication cung cấp các công cụ để
quản lý tài khoản người dùng, bao gồm tạo người dùng , đặt lại mật khẩu,
xác minh email và xóa tài khoản .
• Tùy chỉnh: Bạn có thể tùy chỉnh trải nghiệm xác thực trong ứng dụng
của mình, bao gồm tùy chỉnh UI, triển khai xác thực đa yếu tố và thực
thi chính sách mật khẩu.
https://www.geeksforgeeks.org/what-is-firebase-authentication/ lOMoAR cPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin
TÀI LIỆU THAM KHẢO
Tài liệu Tiếng Việt
1. Họ và Tên tác giả (Thứ tự theo Tên). Tên tài liệu. Địa danh. Nxb. Tên nhà xuất bản, năm xuất bản.
2. Nguyễn Quốc Cường, Hoàng Đức Hải. Giáo trình Đồ hoạ vi tính. Hà Nội. Nxb. Giáo dục, 2000.
Tài liệu Tiếng Anh
3. Amy Apon. University of Arkansas, 2004. Lecture for Cluster and Grid Computing.
4. Bart Jacob, Luis Ferreira, Nobert Bieberstein, Candice Gilzean, Jean-Yves, Girard,
Roman Strachowski, Seong (Steve) Yu. Enabling Application for Grid Computing
with Globus. IBM RedBooks, 2003.
Tài liệu từ Internet
5. Tên bài viết, liên kết trang (có thể dùng Google URL Shortener https://goo.gl/ hoặc
Bitly https://bitly.com/ để tạo link cho gọn), ngày truy cập. 6. ... lOMoAR cPSD| 58728417
Báo cáo thực tập doanh nghiệp ngành Công nghệ thông tin lOMoAR cPSD| 58728417 PHỤ LỤC Vương Đắc Bắc 15 DCCTDH65B lOMoAR cPSD| 58728417