24/08/2011

Xây dựng ứng dụng Blog với YiiFramework - Phần 1

Chào mọi người, sau 1 tuần tìm hiểu về YiiFramework. Hôm nay mình chia sẽ mọi người về hướng dẫn xây dựng ứng dụng Blog với Yii bằng tiếng việt. Về phần tiếng anh, mọi người có thể xem trực tiếp tại: http://www.yiiframework.com/doc/blog/1.1/en/start.overview

I. Giới thiệu về các tính năng của Blog

Đối với Admin thì có các quyền sau:
- Đăng nhập và đăng xuất
- Tạo, cập nhật và xóa bài viết
- Xuất bản hoặc không xuất bản bài viết
- Quản lý bình luận ( duyệt, hiển thị hoặc xóa)

Đối với Guest thì có các quyền sau:
- Xem bài viết
- Bình luận bài viết

Đối với hệ thống, chúng ta có:
- Trang chủ hiển thị 10 bài viết gần nhất
- Trang chủ hiển thị bình luận cùng với bài viết
- Chức năng tag
- Chức năng URL thân thiện

Từ các yêu cầu trên, chúng ta có cơ sở dữ liệu như sau:




  • tbl_user lưu trữ thông tin về người dùng, bao gồm tên đăng nhập (username) và mật khẩu (password).




  • tbl_post lưu trữ các thông tin về bài viết. Bao gồm các trường sau đây:
    • title: tiêu đề của bài viết (bắt buộc);
    • content: nội dung của bài viết (bắt buộc);
    • status: trạng thái của bài viết (bắt buộc), gồm các trạng thái sau:
      • 1, đây là bài viết nháp và chưa xuất bản lên web;
      • 2, bài viết được xuất bản lên web;
      • 3, bài viết cũ, không xuất hiện trên web.
    • tags: chức năng tag.




  • tbl_comment lưu nội dung bình luận. Gồm các trường dữ liệu sau:
    • name: tên người bình luận (bắt buộc);
    • email: email người bình luận (bắt buộc);
    • website: website của người bình luận;
    • content: nội dung bình luận (bắt buộc).
    • status: trạng thái của bình luận, do admin quản lý: 1 là không hiển thị, 2 là hiển thị.




  • tbl_tag lưu trữ thông tin về tag để thực hiện các tính năng điện toán đám mây tag, gồm các trường dữ liệu sau:
    • name: tên tag (bắt buộc);
    • frequency: tần số, là số lần tag xuất hiện trong bài viết (bắt buộc).




  • tbl_lookup stores generic lookup information. It is essentially a map between integer values and text strings. The former is the data representation in our code, while the latter is the corresponding presentation to end users. For example, we use integer 1 to represent the draft post status and stringDraft to display this status to end users. This table mainly contains the following columns:
    • name: the textual representation of the data item that is to be displayed to end users;
    • code: the integer representation of the data item;
    • type: the type of the data item;
    • position: the relative display order of the data item among other items of the same type.


  • Hết phần 1. Đón xem phần 2: Cài đặt YiiFramework

    Không có nhận xét nào:

    Đăng nhận xét