Tính cấp thiết của đề tài
Ngày nay, công nghệ thông tin và tin học hóa là yếu tố quyết định trong hoạt động của chính phủ, tổ chức và doanh nghiệp Chúng đóng vai trò quan trọng, góp phần tạo ra những bước đột phá mạnh mẽ trong quản lý và phát triển.
Nhu cầu đọc và mua sách tại Việt Nam ngày càng trở nên thiết yếu, tuy nhiên, cuộc sống bận rộn khiến nhiều người không có thời gian để tìm kiếm những cuốn sách phù hợp Do đó, việc xây dựng một website chuyên giới thiệu và đánh giá sách hay sẽ giúp tiết kiệm thời gian và hỗ trợ người đọc trong việc lựa chọn sách Với ý tưởng này, tôi đã quyết định thực hiện đề tài: “XÂY DỰNG WEBSITE GIỚI THIỆU, ĐÁNH GIÁ SÁCH”.
VỀ SÁCH” – sử dụng ngôn ngữ ruby on rails và hệ quản trị cơ sở dữ liệu Sqlite để làm báo cáo tốt nghiệp của mình.
Mục tiêu và nhiệm vụ nghiên cứu
Mục tiêu
➢ Website được sắp xếp bố cục một cách hợp lý thân thiện với người dùng, tạo điều kiện cho người đọc dễ định hướng trong website
➢ Website có hình thức đẹp phù hợp với chủ đề, có đầy đủ nội dung người dùng quan tâm, thân thiện và thích hợp với mọi lứa tuổi.
Nhiệm vụ
Để đạt được những mục tiêu trên thì nhiệm vụ đặt ra của đề tài là:
➢ Khảo sát nhu cầu của mọi người về việc đọc sách và xem giới thiệu review về sách trước khi mua
➢ Tìm hiểu các loại sách trên thị trường được nhiều người quan tâm
➢ Quản lý thông tin sách
Xây dựng các chức năng như hiển thị sách mới và hot, cho phép người dùng đăng nhập để đánh giá và bình luận về sách, cùng với việc hiển thị các đánh giá, phê bình từ người dùng, tên tác giả và thể loại Người dùng sẽ dễ dàng tìm kiếm và đánh giá sách theo thang điểm, đề xuất thêm sách cho quản trị viên, và đánh dấu sách yêu thích Ngoài ra, người dùng có thể theo dõi các hoạt động của bản thân và những người dùng khác trên trang cá nhân.
Phương pháp nghiên cứu
Về mặt lý thuyết
➢ Nghiên cứu các tài liệu về ngôn ngữ lập trình ruby on rails
➢ Khảo sát nhu cầu thực tế, sử dụng các phương pháp phỏng vấn, điều tra, phân tích, thống kê
➢ Tìm hiểu, tham khảo các ứng dụng sử dụng ngôn ngữ Ruby on Rails và các website giới thiệu về sách, nghiên cứu và ứng dụng vào đề tài
Về mặt lập trình
➢ Sử dụng những kỹ thuật thiết kế website để đưa website giới thiệu về sách vào thực tiễn ngày nay
➢ Nghiên cứu sử dụng các nền tảng Gem hổ trợ của rails và áp dụng vào đề tài.
Phương tiện, công cụ triển khai
➢ Xây dựng hệ thống trên hệ điều hành Ubuntu
➢ Ngôn ngữ lập trình được sử dụng là Ruby viết trên nền tảng của rails
➢ Trình soạn thảo biên dịch Sublime text
➢ Công cụ lưu trữ mã nguồn: Git
➢ Cơ sở dữ liệu: SQLite
➢ Công cụ kiểm thử: Rspec, Rubocop
Kết quả dự kiến và hướng phát triển của đề tài
Kết quả dự kiến
Kết quả đạt được là một website có những yếu tố sau :
➢ Hình ảnh đăng tải với chất lượng cao
➢ CSDL bảo mật cao về quản lí thông tin thành viên
➢ Hiển thị tất cả hình ảnh về thông tin sách được giới thiệu
➢ Chức năng bình luận, đánh giá của khách hàng với sách
➢ Thống kê lượt sách thường được yêu thích, bình luận và đánh giá về chất lượng của sách
➢ Phân quyền truy cập đối với người quản trị hệ thống và người dùng
➢ Hiển thị các hoạt động của người dùng lên trang chủ
➢ Cho phép người dùng đề xuất thêm mới sách Đánh dấu sách theo sở thích
➢ Chức năng cho phép người dùng tìm kiếm theo thể loại sách, tiêu đề, theo yêu thích của sách.
Hướng phát triển của đề tài
Có thể áp dụng vào thực tế.
Bố cục của đề tài
Trong bài viết này, chúng tôi sẽ trình bày lý do lựa chọn đề tài nghiên cứu, xác định khách thể và đối tượng nghiên cứu, đồng thời nêu rõ giới hạn phạm vi nghiên cứu Bên cạnh đó, chúng tôi cũng sẽ đề cập đến nhiệm vụ nghiên cứu và phương pháp thực hiện nghiên cứu để đảm bảo tính chính xác và hiệu quả của đề tài.
GIỚI THIỆU TỔNG QUAN
Lý thuyết tổng quan
Ruby được tạo ra bởi Yukihiro Matsumoto (hay cònđược gọi là Matz),người Nhật Bản, vào ngày 24 tháng 2, 1993 và đưa ra bản chính thức vào năm 1995
Ruby chịu ảnh hưởng lớn từ Perl, và khi hoàn thiện ngôn ngữ này, Matz đã đùa với bạn về việc đặt tên cho nó giống như một viên đá quý Bạn của anh gợi ý cái tên Ruby, và sau này Matz nhận ra rằng Ruby tượng trưng cho những người sinh tháng 7, trong khi Perl tượng trưng cho tháng 6 Matz cho rằng cái tên Ruby rất phù hợp vì nó kế thừa và phát triển nhiều đặc tính từ Perl.
Hiện nay, lập trình viên có nhiều lựa chọn ngôn ngữ lập trình, nhưng việc chọn lựa cho những người mới bắt đầu có thể gặp khó khăn Trong số các ngôn ngữ phát triển, Ruby nổi bật với tính dễ học và thân thiện cho lập trình viên mới Là một ngôn ngữ mã nguồn mở và hướng đối tượng thuần túy, Ruby coi mọi giá trị như một đối tượng, bao gồm số và giá trị true/false Ruby được thiết kế với trọng tâm vào tính đơn giản và hiệu suất, lấy cảm hứng từ các ngôn ngữ như Lisp, Perl và Smalltalk Bên cạnh lập trình hướng đối tượng, Ruby cũng hỗ trợ lập trình thủ tục và chức năng, mang lại sự linh hoạt cho người dùng.
1.1.1.3 Ruby có thể làm được những gì?
Ruby đã tạo nên những nét đặc biệt nhất của những ngôn ngữ lập trình Những nét chính đó là:
Ruby là ngôn ngữ lập trình mạnh mẽ, kết hợp hoàn hảo giữa sức mạnh của lập trình hướng đối tượng và sự tiện lợi của ngôn ngữ kịch bản như Perl Chương trình Ruby không chỉ nhỏ gọn mà còn dễ đọc, mang lại trải nghiệm lập trình tối ưu cho người dùng.
Cú pháp của ngôn ngữ lập trình này rất đơn giản và trực quan, giúp người dùng dễ dàng đọc và hiểu Không có những trường hợp đặc biệt phức tạp cần ghi nhớ, như các instance, số nguyên hay các lớp, mà chỉ cần nắm vững những kiến thức cơ bản Điều này cho phép người học dễ dàng dự đoán và áp dụng vào việc phát triển các khái niệm mới trong lập trình.
Ruby giúp lập trình viên thoát khỏi sự phức tạp của việc biên dịch, cho phép họ tập trung vào việc khắc phục lỗi một cách thủ công Với tính chất vô hình của nó, Ruby luôn nằm trong "vùng kiểm soát", tạo điều kiện thuận lợi cho quá trình lập trình.
Ruby là một ngôn ngữ lập trình mã nguồn mở, cho phép người dùng và nhà phát triển sử dụng một cách tự do mà không bị hạn chế về hệ điều hành hay các vấn đề pháp lý Ngôn ngữ này có khả năng chạy trên nhiều nền tảng khác nhau như Unix, Linux và Microsoft Windows.
1.1.1.4 So sánh với các ngôn ngữ lập trình khác
Giống như Java, Ruby cũng có:
✓ Bộ nhớđược quản lý thông qua bộ thu dọn rác (garbage collector)
✓ Đối tượng là chủ đạo
✓ Đều có những method public, private, protected
Không giống như Java, trong Ruby:
✓ Không cần biên dịch code, ta có thể chạy trực tiếp
✓ Sử dụng từ khóa “end” sau khi định nghĩa một cái gì đó, ví dụ như class, thay vì đặt dấu ngoặc quanh khối lệnh
✓ Sử dụng “require” thay vì “import” ở Java
✓ Tất cả các biến thành viên là private Từ bên ngoài, ta có thể truy xuất mọi thứ qua các method
✓ Mọi thứ đều là đối tượng, bao gồm cả số, ví dụ như 5 và 3.14
✓ Tên biến chỉ là một cái nhãn, không một kiểu đi kèm với nó
✓ Contructor luôn luôn có tên là “initialize” thay vì có tên của class
Trong Ruby, toán tử == và phương thức equal?() có cách xử lý khác nhau Toán tử == được sử dụng để kiểm tra sự tương đương giữa hai giá trị, tương tự như phương thức equal() trong Java Ngược lại, phương thức equal?() được dùng để xác định xem hai đối tượng có phải là một hay không, tương đương với toán tử == trong Java.
Giống như C++, Ruby cũng có:
✓ Đều có những method public, protected, privated
✓ Cú pháp kế thừa(inheritance) chỉ có một kí tự (với Ruby là “