1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề tài sử dụng ruby on rails để xây dựng 1 blog cá nhân

15 7 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 đề Đề Tài Sử Dụng Ruby On Rails Để Xây Dựng 1 Blog Cá Nhân
Tác giả Phan Minh Đạt
Người hướng dẫn Nguyễn Hải Triều
Trường học Trường Đại Học Nha Trang
Chuyên ngành Thực Tập Cơ Sở
Thể loại Đề Tài
Định dạng
Số trang 15
Dung lượng 800,36 KB

Nội dung

Mục tiêu của đề tài Trau dồi kiến thức cho môn học, có kinh nghiệm để tiếp cận với các dự án thực tếliên quan đến ngôn ngữ này. Tăng kỹ năng lập trình.Giới hạn và phạm vi của đề tài N

Trang 1

TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN

Môn học: Thực tập cơ sở

ĐỀ TÀI

SỬ DỤNG RUBY ON RAILS ĐỂ XÂY DỰNG 1 BLOG CÁ NHÂN

Giảng viên hướng dẫn: Nguyễn Hải Triều

Họ và tên sinh viên: Phan Minh Đạt MSSV: 63133669

Trang 2

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI

1.1 Lý do chọn đề tài 1

1.1 Mục tiêu của đề tài 1

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

2.1 Giới thiệu về Ruby on Rails 2

2.2 Tổng quan về SQLite 3

2.2.1 Hệ quản trị CSDL SQLite

2.2.2 Đặc điểm của SQLite

2.3 Lý do chọn Ruby on Rails? 3

CHƯƠNG 3 NỘI DUNG THỰC HIỆN

3.1 Đối tượng sử dụng website: 4

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

3.2.1 Các yêu cầu chức năng chính của hệ thống

3.2.2 Biểu đồ Use Case

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

3.4 Cài đặt Ruby on Rails 5

3.4.1 Cài đặt ruby

3.1.2 Cài đặt SQLite3

3.1.3 Cài Node.js

3.1.4 Cài yarn

3.5 Tạo project với rails 5

3.6 Đặc tả giao diện 7

3.6.1 Giao diện trang chủ

3.6.2 Giao diện đọc blog

3.6.3 Giao diện quản lý

3.6.4 Giao diện thêm mới blog

3.6.5 Giao diện chỉnh sửa blog

CHƯƠNG 4 Kết luận

4.1 Kết quả đạt được của đề tài 11

4.2 Hạn chế của đề tài 11

4.3 Kết luận 11

Trang 4

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1.1 Lý do chọn đề tài

Cùng với sự phát triển của cuộc cách mạng công nghiệp 4.0, công nghệ thông tin

từ đó phát triển với nhiều ngôn ngữ lập trình mang đặc trưng của chính nó Vì thế, để bản thân có nhiều cơ hội việc làm hơn trong tương lai, em quyết định khám phá thêm ngôn ngữ mới cho bản thân và em quyết định chọn ngôn ngữ “Ruby on Rails” để thực hiện đề tài “SỬ DỤNG RUBY ON RAILS ĐỂ XÂY DỰNG MỘT TRANG BLOG CÁ NHÂN.”

1.1 Mục tiêu của đề tài

 Trau dồi kiến thức cho môn học, có kinh nghiệm để tiếp cận với các dự án thực tế liên quan đến ngôn ngữ này

 Tăng kỹ năng lập trình

Giới hạn và phạm vi của đề tài

 Nhỏ, trước mắt sẽ triển khai để làm quen với Ruby on Rails

 Đối tượng sử dụng: sinh viên

Tính khả thi

 Xây dựng được website blog cá nhân theo yêu cầu của đề tài

 Xây dựng được giao diện blog

Trang 5

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu về Ruby on Rails

Đầu tiên chúng ta cần phải biết Ruby là gì Ruby là một ngôn ngữ kịch bản mã nguồn

mở, hướng đối tượng, được thông dịch Nó được tạo ra bởi Yukihiro Matsumoto và ra mắt công chúng vào năm 1995 Ruby được viết bằng ngôn ngữ C và có thể hỗ trợ nhiều nền tảng, bao gồm Windows, Mac, Linux và Unix Ngôn ngữ kịch bản thông dịch này được tạo ra với mục đích đơn giản Mục tiêu cuối cùng của Yukihiro Matsumoto với ngôn ngữ Ruby là tạo ra một mối liên hệ gắn kết giữa các lập trình viên con người và máy móc mà họ đang sử dụng

Ruby on Rails sẽ không tồn tại nếu không có Ruby Rails được lập trình bằng ngôn ngữ Ruby và phát hành ra công chúng vào năm 2005 Rails cũng là ngôn ngữ có mã nguồn mở, nhưng nó không phải là một ngôn ngữ kịch bản Ruby on Rails là một khung công tác phát triển web dựa trên kiến trúc bộ điều khiển chế độ xem mô hình (MVC) Kiến trúc MVC tách cấu trúc dữ liệu khỏi thiết kế giao diện người dùng và cung cấp các chế độ xem dữ liệu khác nhau Nền tảng MVC bao gồm các thành phần dưới đây :

Hình 1: Mẫu Model - View - Controller

Models: Các đối tượng Models là một phần của ứng dụng, các đối tượng này thiết

lập logic của phần dữ liệu của ứng dụng Thông thường, các đối tượng model lấy và lưu trạng thái của model trong CSDL Ví dụ như, một đối tượng Product (sản phẩm) sẽ lấy

dữ liệu từ CSDL, thao tác trên dữ liệu và sẽ cập nhật dữ liệu trở lại vào bảng Products ở SQL Server

Trong các ứng dụng nhỏ, model thường là chỉ là một khái niệm nhằm phân biệt hơn là được cài đặt thực thụ, ví dụ, nếu ứng dụng chỉ đọc dữ liệu từ CSDL và gởi chúng đến view, ứng dụng không cần phải có tầng model và các lớp liên quan Trong trường hợp này, dữ liệu được lấy như là một đối tượng model (hơn là tầng model)

Views: là các thành phần dùng để hiển thị giao diện người dùng (UI) Thông

thường, view được tạo dựa vào thông tin dữ liệu model Ví dụ như, view dùng để cập

2

Model

Controller View

Trang 6

nhật bảng Products sẽ hiển thị các hộp văn bản, drop-down list, và các check box dựa trên trạng thái hiện tại của một đối tượng Product

Controllers: Controller là các thành phần dùng để quản lý tương tác người dùng,

làm việc với model và chọn view để hiển thị giao diện người dùng Trong một ứng dụng MVC, view chỉ được dùng để hiển thị thông tin, controller chịu trách nhiệm quản lý và đáp trả nội dung người dùng nhập và tương tác với người dùng Ví dụ, controller sẽ quản

lý các dữ liệu người dùng gởi lên (query-string values) và gởi các giá trị đó đến model, model sẽ lấy dữ liệu từ CSDL nhờ vào các giá trị này

2.2 Tổng quan về SQLite

2.2.1 Hệ quản trị CSDL SQLite

Khái niệm Hệ quản trị CSDL SQLite

SQLite là hệ quả trị cơ sở dữ liệu (DBMS) quan hệ tương tự như Mysql, Đặc điểm nổi bật của SQLite so với các DBMS khác là gọn, nhẹ, đơn giản, đặt biệt không cần

mô hình server-client, không cần cài đặt, cấu hình hay khởi động nên không có khái niệm user, password hay quyền hạn trong SQLite Database Dữ liệu cũng được lưu ở một file duy nhất

SQLite thường không được sử dụng với các hệ thống lớn nhưng với những hệ thống ở quy mô vùa và nhỏ thì SQLite không thua các DBMS khác về chức năng hay tốc

độ Vì không cần cài đặt hay cấu hình nên SQLite được sử dụng nhiều trong việc phát triển, thử nghiệm … vì tránh được những rắc rối trong quá trình cài đặt

2.2.2 Đặc điểm của SQLite

1 Nhỏ gọn: SQLite rất nhẹ và nhỏ gọn, làm cho nó trở thành lựa chọn phổ biến cho các ứng dụng di động và các dự án có yêu cầu tài nguyên thấp

2.Tích hợp: SQLite có thể tích hợp trực tiếp vào ứng dụng, không cần một quy trình riêng biệt như các hệ quản trị cơ sở dữ liệu truyền thống

3.Không cần máy chủ: Trong khi nhiều RDBMS yêu cầu một máy chủ để quản lý

cơ sở dữ liệu, SQLite hoạt động trực tiếp trên file dữ liệu, không cần máy chủ riêng biệt

4.Không cần cài đặt: Không cần cài đặt hoặc quản lý một dịch vụ cơ sở dữ liệu, điều này làm cho việc triển khai và sử dụng SQLite trở nên đơn giản

5.Hỗ trợ SQL: SQLite hỗ trợ một phạm vi rộng các câu lệnh SQL, giúp nó linh hoạt trong việc xử lý dữ liệu

2.3 Lý do chọn Ruby on Rails?

 Mã HTML có thể được viết bằng các tập lệnh Rails

 Kết nối dễ dàng với cơ sở dữ liệu

 Phát triển ứng dụng hiệu quả

CHƯƠNG 3 NỘI DUNG THỰC HIỆN.

3.1 Đối tượng sử dụng website:

Trang 7

 Đối với Admin:

- Quản lý (thêm/sửa/xóa) các blog

 Đối với Khách hàng:

- Xem trang web và đọc các blog

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

3.2.1 Các yêu cầu chức năng chính của hệ thống

Yêu cầu lưu trữ

- Hệ thống cần lưu trữ các thông tin liên quan đến blog

- Thông tin Blog (custom_id, title, image, content)

3.2.2 Biểu đồ Use Case

Biểu đồ Use case tổng quát

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

STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả

1 id int Khóa chính Số thứ tự

3.4 Cài đặt Ruby on Rails.

3.4.1 Cài đặt ruby

- Đối với chủ đề thực tập này, em sẽ sử dụng ruby version 3.2.2-1 Đây là phiên bản mới nhất và ổn định nhất

- Link dowload: RubyInstaller for Windows

4

Trang 8

- Sau khi cài đặt thành công Ruby Kiểm tra kết quả bằng cách sử dụng câu lệnh: ruby-v trên cmd

3.1.2 Cài đặt SQLite3

- Ta sẽ cài version mới nhất là 3.44.2

- Link download: SQLite Home Page

3.1.3 Cài Node.js

- Đối với chủ đề thực tập này, em sẽ sử dụng version v20.10.0 Tuy đã ra mắt khá lâu nhưng phiên bản này ổn định, ít lỗi và có thể phù hợp với chủ đề

- Link dowload: Node.js (nodejs.org)

- Sau khi cài đặt thành công Node.js, công việc này sẽ cài đặt môi trường Node.js và NPM ứng với version Node.js đã cài đặt

- Kiểm tra kết quả bằng cách sử dụng câu lệnh: node -v và npm -v trên cmd

3.1.4 Cài yarn

- Cài đặt thông qua lệnh trên cmd: npm install –global yarn

- Sau khi đã cài đặt xong thì ta có thể kiểm tra bằng lệnh yarn –v

3.5 Tạo project với rails.

- Đầu tiên tạo 1 folder trong ổ D với tên “RubyonRails”

- Tạo 1 project với tên “datblog” thông qua lệnh: rails new datblog

- Sau khi quá trình cài đặt hoàn tất thì ta có thể truy cập vào project và rails project thông qua lệnh “ cd BlogwitdRuby ”

- Sau đó ta chạy “ rails s ” để khởi động trang web và sau khi trang web đã được khởi động thì ta có thể truy cập thông qua trình duyệt web với “ localhost:3000 ”

Trang 9

-Tiếp theo ta tạo bảng để lưu các dữ liệu bằng cách chạy lệnh: “rails generate migration Creat“tên bảng” “tên cột”:”kiểu dữ liệu”

-Ở đây, tạo 1 bảng có tên blog với 4 cột là custom_id, title, content và image với kiểu

dữ liệu là string (rails sẽ tự động tạo ra 1 khóa chính là id)

- Tiếp đó ta tạo một model có tên tương ứng với tên bảng đã tạo trước đó là Blog

6

Trang 10

-Sau khi đã tạo bảng và model thì ta cần chạy lệnh “rails db:migrate” để lưu lại các thay đổi trong hệ thống

-Tiếp đó tạo 1 controller có tên Main

3.6 Đặc tả giao diện

3.6.1 Giao diện trang chủ

Hiển thị các blog và người dùng cho thể đọc các blog đó

Trang 11

3.6.2 Giao diện đọc blog

Người dùng có thể đọc nội dung của blog ở đây

3.6.3 Giao diện quản lý

Tại đây cho phép quản lý các blog bằng việc thêm mới hoặc chỉnh sửa

8

Trang 12

3.6.4 Giao diện thêm mới blog

-Ta có thể nhập các thông tin như tiêu đề của blog, ảnh bìa và nội dung

-Để có thể lưu được tên file của hình ảnh vào cơ sở dữ liệu thì em thêm một phương thức để yêu cầu rails lấy tên file thay vì một đường dẫn do rails tự tạo ra

Trang 13

3.6.5 Giao diện chỉnh sửa blog

-Tại đây ta có thể sửa các thông tin của blog (tiêu đề, ảnh bìa, nội dung) hoặc xóa blog

10

Trang 14

CHƯƠNG 4 Kết luận 4.1 Kết quả đạt được của đề tài

- Xây dựng 1 trang thông tin cá nhân và chia sẻ các blog

- Giao diện đẹp, màu sắc hài hòa, dễ nhìn, dễ sử dụng

4.2 Hạn chế của đề tài

- Một số chức năng còn chưa được tối ưu, thực hiện

- Chưa thêm được các chức năng như in đậm, in nghiên và chèn hình ảnh vào blog

4.3 Kết luận

Trong quá trình nghiên cứu và vận dụng các kiến thức đã học Em đã hoàn thành trang web “Blog” nhằm mục đích tìm hiểu, nghiên cứu và làm quen với ngôn ngữ lập trình mới

Trong quá trình phát triển trang web với kinh nghiệm thực tế còn chưa nhiều nên bài báo cáo không tránh khỏi những sai sót, rất mong sự góp ý của thầy cô

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

Trang 15

Tài liệu tham khảo

1) https://guides.rubyonrails.org/active_record_migrations.html

2) https://guides.rubyonrails.org/getting_started.html

3) https://pusher.com/tutorials/live-blog-ruby-rails/#creating-the-homepage

12

Ngày đăng: 30/01/2024, 04:55

w