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

Báo cáo đồ án cơ sở ngành mạng đề tài xây dựng website chia sẻ video

19 2 0

Đ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 đề Xây Dựng Website Chia Sẻ Video
Người hướng dẫn Thầy Nguyễn Tấn Khôi
Trường học Trường Đại học Bách Khoa Đà Nẵng
Chuyên ngành Công nghệ Thông tin
Thể loại Báo cáo đồ án cơ sở ngành
Năm xuất bản 2023
Thành phố Đà Nẵng
Định dạng
Số trang 19
Dung lượng 477,7 KB

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

Nội dung

Báo cáo đồ án cơ sở ngành mạng đề tài xây dựng website chia sẻ video Báo cáo đồ án cơ sở ngành mạng đề tài xây dựng website chia sẻ video Báo cáo đồ án cơ sở ngành mạng đề tài xây dựng website chia sẻ video Báo cáo đồ án cơ sở ngành mạng đề tài xây dựng website chia sẻ video

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN CƠ SỞ NGÀNH MẠNG

ĐỀ TÀI : XÂY DỰNG WEBSITE CHIA SẺ VIDEO

Trang 2

LỜI NÓI ĐẦU

Trong suốt thời gian thực hiện và hoàn thành dự án này, em đã nhận được sự giúp

đỡ và hướng dẫn tận tình của các thầy, các cô và các bạn trong khoa Công nghệ thông tin Trường Đại học Bách Khoa – Đại học Đà Nẵng Em xin gửi lời cám ơn chân thành và sâu sắc đến các thầy cô trong Khoa đã giảng dạy và truyền đạt những kiến thức cần thiết, những kinh nghiệm quý báu cho em để thực hiện dự án này Trước tiên, em xin gửi lời cám ơn đến giáo viên hướng dẫn thầy Nguyễn Tấn Khôi

đã dẫn đường, giúp đỡ và thảo luận cho em kiến thức và nhiệt tình để thiết kế và xây dựng trang web này

Do kiến thức và kinh nghiệm bản thân em còn hạn chế nên việc thực hiện không thể tránh khỏi sơ sót Rất mong nhận được sự đóng góp ý kiến của thầy cô trong bộ môn Công nghệ thông tin trường Đại học Bách Khoa Đà Nẵng để báo cáo của em được hoàn thiện hơn

Cuối cùng, em xin chân thành cảm ơn thầy cô trong khoa Công nghệ thông tin trường Đại học Bách Khoa Đà Nẵng, đặc biệt là thầy Nguyễn Tấn Khôi đã hướng dẫn và giúp đỡ em hoàn thành dự án này

Em xin chân thành cảm ơn!

Trang 3

Tóm tắt đề tài

Website chia sẻ video được xây dựng với mục đích tạo ra một trang thông tin điện

tử để phục vụ tất cả những người mong muốn được chia sẻ những khoảnh khắc tuyệt vời của bản thân Từ trưng bày giới thiệu tất cả các video được nhiều người đánh giá cao nhất, đến tìm video để xem và chia sẻ những cảm xúc của mình Đồng thời website cũng cho phép tương tác với bài đăng trên website Website phục vụ cho hai đối tượng chính: đối tượng đầu tiên là những người mong muốn xem video, trang web sẽ giúp người dùng tìm tất cả những video mà người dùng mong muốn và được trải nghiệm trong thế giới video vô vàn, đối tượng thứ hai là những người chia

sẻ ra video và mong muốn video được nhiều người biết đến, trang web sẽ giúp đăng video miễn phí và cho phép những người dùng có tài khoản bình luận, đánh giá, thể hiện cảm xúc của mình Thông qua quá trình thu thập kinh doanh, phân tích, thiết

kế, phát triển và thực hiện, em mong muốn sẽ làm sáng tỏ mọi vấn đề và cố gắng để

có một website hoàn thiện

Trang 4

DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT

Số thứ tự Chữ viết tắt Diễn giải

1 API Application Programming Interface

2 HTML Hypertext Markup Language

3 HTTP Hypertext Transfer Protocol

4 XML Extensible Markup Language

5 JSON JavaScript Object Notation

6 REST Representational State Transfer

7 CSS Cascading Style Sheet

8 MVC Model, View, Controller

9 UX/UI User Experience/User Interface

10 AJAX Asynchronous JavaScript and XML

11 SKU Stock-Keeping Unit

Trang 5

MỞ ĐẦU

1 Tổng quan về đề tài

Cùng với sự tăng trưởng kinh tế trên toàn cầu là sự phát triển của các ngành khoa học kỹ thuật, đặc biệt là các ngành công nghệ thông tin Việc ứng dụng công nghệ thông tin và các nghiêm cứu của công nghệ thông tin vào đời sống trên toàn thế giới ngày càng nhiều và càng phát triển

Xuất phát từ việc bảo vệ môi trường và nhu cầu về chia sẻ trải nghiệm của bản thân ngày càng lớn, các trang web điện tử giúp người dùng có những trải

nghiệm online thư giãn ở mọi nơi Đây là một nguồn thông tin vô tận, khó bị mất và

và là cơ hội để cảm xúc của bản thân mỗi người có thể lan tỏa tới mọi người dùng trên thế giới

Đáp ứng nhu cầu đó, trong dự án này em đã xây dựng một website về chia sẻ video online, hỗ trợ tải video trực tuyến

2 Mục đích và ý nghĩa của đề tài

2.1 Mục đích

Xây dựng website chia sẻ video phục vụ chủ yếu cho các đối tượng khách hàng sau: Người dùng chia sẻ video và Quản trị viên của website Do đó hệ thống được tạo ra với ba mục đích chính:

- Giúp cho người đọc truyện nhanh chóng tìm được video mong muốn, tiết kiệm thời gian tìm kiếm

- Giúp cho những tác giả có thể đăng video mọi lúc mọi nơi, phổ biến video đến mọi tay người dùng, đồng thời có thể theo dõi và quản lý những video của mình một cách dễ dàng và hiệu quả

- Giúp cho người quản trị viên của website có cái nhìn tổng quan về tất cả các sản phẩm và video trên website đang trưng bày, quản lý các thông tin của website, quản lý tất cả các thông tin của người dùng cũng như liên hệ với website một cách dễ dàng

Trang 6

2.2 Ý nghĩa

- Giúp cho các công đoạn của việc chia sẻ video và trải nhiệm bản thân trở nên nhanh chóng và hiệu quả nhất

- Số hóa tất cả các công việc giấy tờ từ đó có thể quản lý tập trung tất cả các công đoạn vào một quy trình chung của quản lý website, tiết kiệm thời gian

và kinh tế

3 Phương pháp thực hiện

- Phương pháp phân tích tổng hợp từ tài liệu từ nguồn tài liệu trên mạng

- Phương pháp phân tích thiết kế hệ thống theo hướng đối tượng

- Phương pháp thử nghiệm, đánh giá kết quả.

4 Bố cục của đề tài

Báo cáo đề tài bao gồm các nội dung sau:

Mở đầu

Chương 1: Nghiên cứu tổng quan

Chương 2: Phân tích và thiết kế hệ thống

Kết luận và hướng phát triển.

5 Phân công tổ chức công việc

- Công cụ quản lý mã nguồn: github

Trang 7

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1 Nghiên cứu lý thuyết

1.1.1 Restful Web Service

- Định nghĩa Web Service: là một dịch vụ mà nó kết hợp các máy tính cá nhân với các thiết bị khác, các cơ sở dữ liệu và các mạng máy tính để tạo thành một cơ cấu tính toán ảo mà người sử dụng có thể làm việc thông qua các trình duyệt mạng Bản thân các dịch vụ này sẽ chạy trên các máy chủ trên nền Internet Các máy chủ của một nhà cung cấp dịch vụ web này cũng cần nguồn cung cấp cho người sử dụng cả về độ an toàn, độ riêng tư và khả năng truy nhập

- Các web service thường trả về dữ liệu dưới dạng máy tính có thể đọc được là XML hoặc JSON rồi trả về trình duyệt ở phía client

- Các công nghệ thường được sử dụng để xây dựng cho web service:

+ SOAP (Simple Object Access Protocol)

+ WSDL (Web Service Description Language)

+ REST (Representational State Transfer)

Trang 8

- Restful là các Web Service được viết dựa trên kiến trúc REST Rest đã được

sử dụng rộng rãi thay thế cho các Web Service dựa trên SOAP và WSDL Restful Web Service nhẹ, dễ dàng mở rộng và bảo trì REST là một bộ quy tắc để tạo ra một ứng dụng Web Service, mà nó tuân thủ 4 nguyên tắc thiết

kế cơ bản sau:

+ Sử dụng các phương thức HTTP một cách rõ ràng

+ Phi trạng thái

+ Hiển thị cấu trúc thư mục như các URLs

+ Truyền tải Javascript Object Notation (JSON), XML hoặc cả hai

1.1.2 MySQL Database

- MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational Database Management System, viết tắt là RDBMS) hoạt động theo mô hình client-server RDBMS là một phần mềm hay dịch vụ dùng để tạo và quản lý các cơ sở dữ liệu (database) theo hình thức quản lý các mối quan hệ giữa chúng

- Database là tập hợp dữ liệu theo cùng một cấu trúc Giống như việc chụp hình: nhấm nút chụp ảnh, hình ảnh là dữ liệu, thư viện lưu ảnh là sơ sở dữ liệu Cơ sở dữ liệu, hay database, là nơi chứa và sắp đặt dữ liệu Dữ liệu được đặt trong một bộ dữ liệu chung, dataset, được tổ chức sắp xếp giống như một bảng tính chung Mỗi “bảng” có liên hệ với nhau theo cách nào đó

Vì vậy từ Relational (liên hệ) trong RDBMS có ý nghĩa như vậy Nếu phần

Trang 9

mềm không hỗ trợ mô hình dữ liệu quan hệ với nhau thì như vậy gọi là DBMS

- Open source dịch là mã nguồn mở, có nghĩa là ai cũng có thể dùng và chỉnh sửa nó Bất kỳ ai cũng có thể cài đặt phần mềmn ày Bạn cũng có thể học cách tùy chỉnh phần mềm theo nhu cầu của bạn Tuy nhiên, giấy phép GPL (GNU Public License) quyết định bạn có thể làm gì tùy vào điều kiện nhất định Phiên bản thương mại cũng được xuất bản nếu bạn cần thêm chủ quyền linh hoạt và hỗ trợ cao cấp

1.1.3 Mô hình MVC

- MVC là viết tắt của Model - View - Controller Là một kiến trúc phần mềm hay mô hình thiết kế được sử dụng trong kỹ thuật phần mềm Nói cho dễ hiểu, nó là mô hình phân bố source code thành 3 phần, mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác

- M là Model: cấu trúc dữ liệu theo cách tin cậy và chuẩn bị dữ liệu theo lệnh của controller

- V là View: hiển thị dữ liệu cho người dùng theo cách dễ hiểu dựa trên hành độgn của người dùng

- C là Controller: nhận lệnh từ người dùng, gửi lệnh đến cho Model để cập nhật dữ liệu, truyền lệnh đến Vew để cập nhật giao diện hiển thị

Trang 10

1.1.4 Ruby on Rails

- Ruby on rails là một Framework mạnh mẽ và đầy thú vị được phát triển trên ngôn ngữ lập trình Ruby cho phép phát triển ứng dụng Web gồm hai phần cơ bản:

+ Phần ngôn ngữ Ruby: Ruby là ngôn ngữ lập trình mã nguồn mở, linh hoạt, với một sự nổi bật về sự đơn giản dễ dùng và hữu ích Nó có cú pháp “tao nhã” và tự nhiên dễ đọc và dễ dàng để viết

+ Phần Framework Rails bao gồm nhiều thư viện liên kết

- Ruby on rails được ra đời một cách hoàn hảo dành cho những ai luôn “mải miết đi tìm câu trả lời” tại sao những lập trình viên luôn tìm mọi cách để phát triển những phần mềm, những ứng dụng web … để người sử dụng được thuận tiện nhất, nhưng lại không thuận tiện cho người lập trình mỗi khi chương trình càng đơn giản thì bên trong nó càng phức tạp, khó chỉnh sửa khi cần thiết, làm cho công việc của người lập trình viên cảm thấy mệt mỏi hơn

Trang 11

1.1.5 Thuật toán mã hóa hàm băm MD5:

MD5 được phát minh bởi Ron Rivest ,người đã tham gia xây dựng RSA.MD5 viết tắt của chữ Message Digest,được phát triển lên từ MD4 và trước đó là MD2,do MD2 và MD4 không còn an toàn.Kích thước của MD5 là 128 bit được tính giá trị của thông điệp có kích thước tối đa 2^4 bit

Thuật toán MD5:

-Input: xâu đầu vào x có độ dài tối đa 2^64 -Output: chuỗi băm 128 bit -Sơ đồ thuật toán: 

Trước tiên thông điệp được đệm vào dãy padding 100 00 Chiều dài của dãy padding được chọn sao cho thông điệp cuối cùng có thể chia làm N block 512 bit M1,M2, ,MN.Quá trình tính giá trị băm của thông điệp là quá trình lũy tiến Trước tiên block M1 kết hợp với giá trị khởi tạo H0 thông qua hàm F để tính giá trị hash H1 Sau đó block M2 đượckết hợp với H1 để cho ra giá trị hash là H2 Block M3 kết hợp với H2 cho ra giá trị H3 Cứ như vậy cho đến block MN thì có giá trị băm của toàn bộ thông điệp là HN

 H0 là một dãy 128 bit được chia thành 4 từ 32 bit, ký hiệu 4 từ 32 bit trên là abcd Với a, b, c, d là các hằng số như sau (viết dưới dạng thập lục phân):

a = 01234567

b = 89abcdef

Trang 12

d = 76543210

-Cấu trúc của hàm F như sau:

Tại mỗi bước lũy tiến, các giá trị abcd của giá trị hash Hi-1 được biến đổi qua 64 vòng từ 0 đến 63 Tại vòng thứ j sẽ có 2 tham số là Kj và Wj đều có kích thước 32 bit Các tham số Kj được tính từ công thức: Kj là phần nguyên của số 2^32

abs(sin(i)) với i biểu diễn theo rad

Giá trị block Mi 512 bit được biến đổi qua một hàm message schedule cho ra 64 giá trị W0, W1,…, W63 mỗi giá trị 32 bit Block Mi 512 bit được chia thành 16 block

32 bit ứng với các giá trị W0, W1, …, W15 (16×32=512) Tiếp theo, 16 giá trị này được lặp lại 3 lần tạo thành dãy 64 giá trị

Sau vòng cuối cùng, các giá trị abcde được cộng với các giá trị abcd của Hi-1 để cho ra các giá trị abcd của Hi Phép cộng ở đây là phép cộng modulo 232

Tiếp theo tìm hiểu cấu trúc của một vòng Việc biến đổi các giá trị abcd trong vòng thứ i được thể hiện trong hình bên dưới

Trang 13

Note:Phép + trong sơ đồ trên là phép cộng modul 2^32

Ở đây c lấy giá trị của b, d lấy giá trị của c, a lấy giá trị của d

Giá trị b được tính qua hàm:

t = a + f(b,c,d) + Wi + Ki

b = b + ROTL(t,s)

Trong đó : Hàm f(x,y,z):

f (x,y,z) = (x ^ y) v (_x ^ z) nếu vòng từ 0 đến 15

f (x,y,z) = (z ^ x) v (_z ^ y) nếu vòng từ 16 đến 32

f (x,y,z) = x xor y xor z nếu vòng từ 32 đến 48

f (x,y,z) = y xor (x v _z) nếu vòng từ 49 đến 63

Hàm ROTL(t, s): t được dịch vòng trái s bit, với s là các hằng số cho vòng thứ i như sau:

Trang 14

1.2 KẾT CHƯƠNG

Chương này cung cấp cho người đọc cái nhìn tổng quan về các lý thuyết được áp dụng để xây dựng website Thông qua cơ sở lý thuyết của các công nghệ nêu trên do đó việc xây dựng website trở nên gần gũi và nhanh chóng hơn rất nhiều

Trang 15

CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

2.1 PHÂN TÍCH YÊU CẦU

Website được chia thành 2 phần chính: Quản trị viên của website , Người dùng chia sẻ video

Người dùng sẽ có các chức năng chính sau:

- Đối với người dùng dù có tài khoản hay không có tài khoản đều có thể xem danh sách tất cả các video trên trang web, thông tin về từng video, xem các đánh giá và bình luận về video, xem các video theo danh mục và sắp xếp Bên cạnh đó người dùng còn có thể tìm kiếm video mà họ yêu thích

- Đối với người dùng đã có tài khoản, họ sẽ được cấp quyền đánh giá, bình luận video, đồng thời họ có thể quản lý những video đã đăng

Người có tài khoản còn có quyền tạo ra và đăng những video của riêng bản thân Họ còn có quyền tự quản lý mọi thông tin tài khoản của bản thân mình, bao gồm tên tài khoản, tên đăng nhập, mật khẩu, email cùng với lịch sử hoạt động của mình

Quản trị viên website ngoài việc có đầy đủ các chức năng của người viết truyện còn có thêm các nhóm chức năng sau:

- Quản lý video: các thông tin liên quan đến truyện bao gồm tên video, tác giả, ảnh bìa và ngày đăng Quản lý website có đầy đủ quyền để thêm mới, chỉnh sửa hay xóa các thông tin của video Đồng thời quản lý còn cho phép duyệt video

- Quản lý người dùng: quản lý toàn bộ các thông tin liên quan đến người dùng bao gồm tên người dùng, tên đăng nhập, mật khẩu tài khoản, email người dùng, và ngày khởi tạo tài khoản Quản lý thông tin tài khoản cho phép quản trị viên xem và biết được số lượng người dùng của trang web, thống kê người dùng, đồng thời quản trị viên có quyền thêm, sửa, xóa một người dùng mới cùng với việc quản lý tất cả các hoạt động của người dùng

Trang 16

2.2 THIẾT KẾ HỆ THỐNG

2.2.1 Biểu đồ ca sử dụng

2.2.2 Thiết kế cơ sở dữ liệu

a Thực thể người dùng (user)

Tên cột Giải thích Kiểu dữ liệu Ghi chú

id Sẽ tự động tăng mỗi khi

thêm mới

int Khóa chính

full_name Tên đầy đủ của người dùng varchar

user_name Tên đăng nhập varchar

password Mật khẩu đăng nhập varchar

email Email đăng nhập varchar Độc nhất

admin Có phải là admin hay không boolean

date_create Ngày tạo tài khoản datetime

b Thực thể post (có video)

Trang 17

Tên cột Giải thích Kiểu dữ liệu Ghi chú

id Sẽ tự động tăng mỗi khi

thêm mới

int Khóa chính

name Tên video varchar

author Tác giả varchar

status Trạng thái varchar

image Hình ảnh video varchar

date_create Ngày đăng datetime

c Thực thể thể loại (category)

Tên cột Giải thích Kiểu dữ liệu Ghi chú

id Sẽ tự động tăng mỗi khi

thêm mới

int Khóa chính name Tên thể loại video varchar

d Thực thể bình luận (comment)

Tên cột Giải thích Kiểu dữ liệu Ghi chú

id Sẽ tự động tăng mỗi khi

thêm mới

int Khóa chính

user_id Bình luận của người dùng

nào

int Khóa ngoại story_id Bình luận cho truyện nào int Khóa ngoại

content Nội dung bình luận text

Trang 18

rating Đánh giá video (1 - 5 sao) int

2.3 KẾT CHƯƠNG

Chương này trình bày cung cấp cho người đọc cái nhìn tổng quan về chuyên môn nghiệp vụ mà website cần phải đáp ứng, thiết kế, xây dựng website và trình bày một số sơ đồ cơ bản thể hiện tổng quát chức năng của website

Trang 19

NGUỒN THAM KHẢO

https://viblo.asia/p/upload-file-co-kich-thuoc-lon-trong-rails-07LKX4ykKV4

 https://gist.github.com/thanashyam/2309671

 http://doc.edu.vn/tai-lieu/de-tai-ma-hoa-thong-tin-thuat-toan-bam-md5-thuat-toan-ma-hoa-rsa-4558/

 https://viblo.asia/p/gioi-thieu-ham-bam-md5-LzD5d63wZjY

Ngày đăng: 12/06/2023, 11:01

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w