Tải bản đầy đủ (.pdf) (23 trang)

Báo cáo đồ án website bán hàng sử dụng Code Igniter

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.13 MB, 23 trang )

MỤC LỤC
CHƯƠNG 1: GIỚI THIỆU VỀ CODEIGNITER ................................................................. 5
1.1. CodeIgniter là gì ? ........................................................................................................ 5
1.2. Ưu, nhược điểm............................................................................................................ 5
1.2.1. Ưu điểm ................................................................................................................ 5
1.2.1. Nhược điểm .......................................................................................................... 5
CHƯƠNG 2: CÀI ĐẶT VÀ CẤU HÌNH CƠ BẢN CODEIGNITER.................................. 7
2.1. Cài đặt : ........................................................................................................................ 7
2.2. Cấu hình cơ bản: .......................................................................................................... 9
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG BÁN HÀNG TRỰC TUYẾN ............................... 10
3.1 Giới thiệu nội dung đề tài ........................................................................................... 10
3.2 Phân tích đề tài ........................................................................................................... 10
3.2.1
Mô hình hệ thống ................................................................................................ 10
3.2.2.
Phân tích chức năng ........................................................................................ 11
3.3. Thiết kế cơ sở dữ liệu ................................................................................................. 13
3.3.1. Mô hình ERD ...................................................................................................... 13
3.3.2. Mô tả thực thể ..................................................................................................... 15
3.4. Giao diện ........................................................................................................................ 19
3.4.1. Giao diện chính (http://localhost/ComfortSelection) .............................................. 19
3.4.2. Giao diện admin (http://localhost/ComfortSelection/index.php/admin) ............... 20
CHƯƠNG 4: KẾT QUẢ ........................................................................................................ 21
4.1.
Kết quả đạt được ..................................................................................................... 21
4.1.1.
Trang chủ ........................................................................................................ 21
4.1.2. Trang Admin ....................................................................................................... 24
4.2.
Hạn chế ................................................................................................................... 25
4.3.


Hướng phát triển ..................................................................................................... 25
TÀI LIỆU THAM KHẢO ...................................................................................................... 26
Tiếng Anh ............................................................................................................................. 26
Tiếng Việt ............................................................................................................................. 26

4


CHƯƠNG 1: GIỚI THIỆU VỀ CODEIGNITER

1.1.

CodeIgniter là gì ?

CodeIgniter là một nền tảng ứng dụng web nguồn mở được viết bằng ngôn
ngữ PHP bởi Rick Ellis (CEO của EllisLab, Inc). Phiên bản đầu tiên được phát
hành ngày 28.02.2006, phiên bản hiện tại: 2.1.4 (phát hành ngày 8.7.2013). Ý
tưởng xây dựng CodeIgniter được dựa trên Ruby on Rails, một nền tảng ứng dụng web
được viết bằng ngôn ngữ Ruby. Hiện tại, CodeIgniter đang được phát triển bởi
ExpressionEngine Development Team thuộc EllisLab, Inc.
1.2.

Ưu, nhược điểm

1.2.1. Ưu điểm
Hỗ trợ Search Engine Optimization: Cấu trúc URL của CodeIgniter rất thân
thiện với các robot tìm kiếm.
Hệ thống thư viện phong phú: CodeIgniter cung cấp các thư viện phục vụ cho
những tác vụ thường gặp nhất trong lập trình web, chẳng hạn như truy cập cơ sở dữ
liệu, gửi email, kiểm tra dữ liệu, quản lý session, xử lý ảnh…đến những chức năng

nâng cao như XML-RPC, mã hóa, bảo mật…
Bảo mật hệ thống: Cơ chế kiểm tra dữ liệu chặt chẽ, ngăn ngừa XSS và SQL
Injection của CodeIgniter giúp giảm thiểu các nguy cơ bảo mật cho hệ thống.
Hỗ trợ ORM (Object-Relational Mapping): Object Relational Mapping (ORM)
là một kỹ thuật lập trình, trong đó các bảng của cơ sở dữ liệu được ánh xạ thành các đối
tượng trong chương trình. Kỹ thuật này giúp cho việc thực hiện các thao tác trong cơ
sở dữ liệu (Create Read Update Delete – CRUD) dễ dàng, mã nguồn ngắn gọn hơn.
1.2.1. Nhược điểm
Chưa hỗ trợ một số module thông dụng: So sánh với framework khác,
CodeIgniter không có các module thực thi một số tác vụ thường gặp trong quá trình

5


xây dựng ứng dụng web như Chứng thực người dùng (User Authorization), Trình phân
tích RSS (RSS Parser) hay Trình xử lý PDF…
Chưa hỗ trợ Event-Driven Programming: Event-Driven Programming (EDP) là
một nguyên lý lập trình, trong đó các luồng xử lý của hệ thống sẽ dựa vào các sự kiện,
chẳng hạn như click chuột, gõ bàn phím…Đây không phải là một khuyết điểm to lớn
của CodeIgniter vì hiện tại, chỉ có một số ít framework hỗ trợ EDP, bao gồm Prado,
QPHP và Yii.
Hỗ trợ AJAX: AJAX (Asynchronous JavaScript and XML) đã trở thành một
phần không thể thiếu trong bất kỳ ứng dụng Web 2.0 nào. AJAX giúp nâng cao tính
tương tác giữa người dùng và hệ thống, giúp cho người dùng có cảm giác như đang sử
dụng ứng dụng desktop vì các thao tác đều diễn ra “tức thời”. Hiện tại, CodeIgniter vẫn
chưa có thư viện dựng sẵn nào để hỗ trợ xây dựng ứng dụng AJAX. Lập trình viên phải
sử dụng các thư viện bên ngoài, như jQuery, Script.aculo.us, Prototype hay
Mootools…

6



CHƯƠNG 2: CÀI ĐẶT VÀ CẤU HÌNH CƠ BẢN CODEIGNITER

2.1.

Cài đặt :
Bước 1 : Máy tính đã cài đặt AppServ, XAMPP hay WAMP. Trong tài liệu này,
các minh họa được thực hiện trên AppServ.
Bước 2 : Download bộ cài CodeIgniter tại
/>Phiên bản hiện tại là 2.1.4 được phát hành ngày 08/07/2013
Bước 3: Tiến hành giải nén bộ cài đặt CodeIgniter vừa download, ta sẽ thấy có
các thư mục và file sau:

Sau khi đã cài đặt thành công wamp server, mặc định sẽ có thư mục www trong
thư mục gốc là wamp định tại ổ C (Đường dẫn mặc định là C:\wamp\www)

7


Tạo trong thư mục www một thư mục con và đặt tên bất kỳ, để cho tiện ta đặt là
ComfortSelection (tên dự án).
Copy các thư mục và file đã giải nén ở trên vào thư mục www này. (Bạn cũng
có thể bỏ đi thư mục user_guide và tập tin license)
Để chắc chắn rằng quá trình cài đặt thành công, mở trình duyệt web và gõ vảo
thanh địa chỉ url: http://localhost/ComfortSelection/ nếu xuất hiện dòng
chữ Welcome to codeigniter thì bạn đã thành công:

8



Cấu hình cơ bản:
*** Các file cấu hình sau đây đều nằm trong thư mục config, đường dẫn mặc
định như sau: C:\wamp\www\ComfortSelection\application\config\
2.2.

Base_url
Mở file config.php, trong file config.php tìm tới dòng:
$config['base_url']

= ' ';

Đây là cấu hình URL đến thư mục gốc của website. Sửa lại như sau:
$config['base_url']

= http://localhost/ComfortSelection';

(ComfortSelection là thư mục gốc trang web, là thư mục đã tạo trong bước 3 ở
phần Cài đặt)
Database
Nếu ứng dụng có tương tác với cơ sở dữ liệu, thiết lập các giá trị cần thiết trong
tập tin database.php.

9


CHƯƠNG 3: THIẾT KẾ HỆ THỐNG BÁN HÀNG TRỰC TUYẾN

3.1


Giới thiệu nội dung đề tài

Với sự phát triển mạnh mẽ của thương mại điện tử như hiện nay, kèm theo đó sự bùng
nổ của Internet , việc lựa chọn phương pháp kinh doanh trên Internet là một giải pháp
khá tối ưu và tiết kiệm cho các doanh nghiệp. Thực vậy, các doanh nghiệp dù lớn hay
nhỏ cũng đã bắt đầu thấy được lợi ích to lớn từ thương mại điện tử mà ở đó cái lõi là
bán hàng trực tuyến.
Để có thể bắt đầu kinh doanh tốt một mặt hàng nào đó trên Internet , chúng ta phải có ít
nhất một website bán hàng (eStore) đầy đủ các tính năng chuyên nghiệp cũng như khả
năng bảo mật cao để xây dựng thương hiệu trên Internet. Để làm được điều này đòi hỏi
lập trình viên phải vận dụng lượng kiến thức tổng hợp, toàn diện, cũng như kết hợp
giữa thực tiển và kỹ thuật đã học được trong suốt thời gian qua.
Chính vì những lí do trên mà nhóm chúng em quyết định chọn đề tài cho mình là
XÂY DỰNG WEBSITE BÁN HÀNG NỘI THẤT ONLINE
Với các sản phẩm kinh doanh dự tính ban đầu bao gồm các sản phẩm nội thất trong
phòng ngủ, phòng tắm, phòng ăn, nhà bếp như bàn, ghế, giường, tủ cùng các đồ dệt
may như gối, rèm cửa và đồ trang trí khác…
3.2
Phân tích đề tài
3.2.1 Mô hình hệ thống

10


Website dành cho 2 đối tượng sử dụng là Administrator (quản trị viên) và Customer
(khách hàng). Khách hàng sử dụng website để tìm kiếm thông tin và mua hàng, còn
nhà quả trị thì cập nhật thông tin, báo cáo thống kê và tương tác với khách hàng.
Phía server, bên cạnh nghiệp vụ bán hàng trực tuyến, website còn tích hợp với các dịch
vụ Internet khác. Một web service được tạo ra để giả lập việc thanh toán trực tuyến
(tích hợp với eBay, PayPal…) với website. Website cũng tích hợp với eBay thông qua

web service (FindingService) tìm kiếm hàng hóa theo từ khóa để làm đa dạng chủng
loại hàng hóa trên website và tìm kiếm cơ hội kinh doanh mới. Các dịch vụ khác cũng
được tích hợp vào website như các trang báo điện tử, google map…
3.2.2. Phân tích chức năng
Website bán hàng trực tuyến có những chức năng cơ bản sau:
 Tìm kiếm và phân hàng hóa
 Quản lý giỏ hàng
 Quản lý khách hàng
 Thanh toán trực tuyến
 Quản lý hóa đơn và theo dõi quá trình vận chuyển
Bên cạnh đó website cũng cần có những chức năng khác để chuyển tải thông tin đến
người dùng như :
 Tin tức hàng ngày
 Hàng giảm giá, mới, nóng, bán chạy…
 Thông tin chung như giới thiệu, hỏi đáp, góp …
Tất cả những chức năng trên chỉ để cho những khách hàng đã biết website sử dụng. Vì
vậy website cần có những chức năng khác thông minh hơn để thu hút người dùng đến
với website. Các chức năng thu hút người dùng như:
 Thân thiện với Google (SEO): làm sao để người dùng dễ bắt gặp website của
mình.
 Chiến lược chia sẻ thông tin: để khách hàng có thể chia sẻ thông tin hàng hóa
với bạn của họ- những người cần quan tâm đến hàng hóa này.
 Tiếp thị đúng đối tượng: dựa vào các hành động của khách web để biết được họ
quan tâm đến hàng hóa nào để có những tiếp thị thông tin đúng người có nhu
cầu. (bổ sung chức năng đánh dấu hàng yêu thích, tiếp thị những mặt hàng liên
quan đến hàng hóa đang được khách hàng quan tâm…)

11



 Cung cấp những trang tin liên quan đến hàng hóa kinh doanh bằng cách kết nối,
tích hợp (qua RSS) với các trang báo điện tử để tạo sự thuận tiện cho khách
hàng khi tìm kiếm thông tin về nó.
 Tích hợp với bản đồ Google để hướng dẫn khách hàng đến các địa điểm bán
hàng, đại lý tại các địa phương nơi họ sinh sống.
 Đa dạng về hàng hóa: tích hợp những hàng hóa từ những dịch vụ trên internet(
tích hợp với eBay để bổ sung sự đa dạng về hàng hóa cho website đồng thời tìm
kiếm cơ hội kinh doanh mới)
Các chức năng chính trong eStore được chia thành 2 mô-đun là user site (dành cho
người dùng) và admin site (dành cho quản trị viên). Mỗi mô-đun gồm một số nhóm
chức năng cụ thể.
3.2.2.1. Các chức năng của user site
 Quản lý thành viên: bao gồm các chức năng
 Đăng kí
 Đăng nhập
 Quên mật khẩu
 Đổi mật khẩu
 Cập nhật tài khoản cá nhân
 Đơn đặt hàng đã mua
 Thông tài khoản ngân hàng ảo
 Các hàng hóa yêu thích
 Các hàng hóa đã gửi cho người thân.
 Quản lý hàng hóa:
 Trưng bày hàng hóa, chủng loại, nhà cung cấp.
 Tìm kiếm, hiển thị thông tin chi tiết. Một trang dành riêng cho sản phẩm
eBay để khách hàng có thể tìm kiếm. Phần này cũng bao gồm các trang
thống kê hàng hóa như các hàng mới, nóng, giảm giá…
 Quảng cáo, tiếp thị:
 Hiển thị thông tin quảng cáo,
 Tiếp nhận email qua newsletter,

 Gửi hàng hóa chọ bạn bè,
 Đánh dấu hàng hóa yêu thích.
 Quản lý giỏ hàng:

12


 Thông tin giỏ hàng
 Chọn hàng
 Quản lý giỏ hàng (xóa, cập nhật số lượng).
 Đặt hàng, thanh toán:
 Đặt hàng,
 Ngân hàng ảo webservive, tích hợp ngân lượng
 Quản lý đơn hàng: Các đơn hàng đã đặt, hủy, theo dõi quá trình vận chuyển.
 Các chức năng khác: đếm số lượng người truy cập, làm cho thân thiện với
google, tích hợp với bản đồ google để chỉ dẫn thông tin đường xá.
3.2.2.2. Các chức năng của admin site
Thiết kế công cụ quản trị: phần này dành cho nhân viên quản trị website để quản lý dữ
liệu, cấu hình hệ thống, tương tác với khách hàng, báo cáo thống kê. Cụ thể:
 Quản lý CSDL
 Phân quyền sử dụng
 Báo cáo thông kê
 Cấu hình ứng dụng
3.3. Thiết kế cơ sở dữ liệu
3.3.1. Mô hình ERD

13


CatNews

Category

IDCatNews
Name
Description
Image

CatID

Name
Description
Image

consist_of

Identifier_1
...

Identifier_1
...

News

SubCategory
SubCatID

SubCatName
SubCatDes
Image
CatID

Identifier_1
...
Product
_consist_of

Identifier_1
...

ProductID
Name
SubCatID
Description
Keyword
Date
Warranty
Image
Price
Discount
Displayed
Count
Identifier_1
...

consist_of_

Admin
ID

Password
Identifier_1

...

OWN

OrderDetail
ODetailID I
<M>
UnitPrice
MN
Quan
I
Discount
I

include

Identifier_1
...
Order
OrderID I
<M>
ODate
DT
DDate
DT
Name
A50
Address
A100
Fee

MN
Status
I
Note
TXT1000
Cost
MN
Identifier_1
...

consist_of_

IDNews

IDCatNews
Title
ShortText
Content
Image
Date
Author
Keyword

C_O

Customer
Customer_ID
Password
Name
Sex

DOB
Address
Phone
Email
Image
Status
Identifier_1
...

14


3.3.2. Mô tả thực thể
Table
Category
SubCategory
Customer
Order
OrderDetail
CatNews
News
Admin
Product

3.3.2.1.

Description
lưu thông tin chủng loại hàng hóa
lưu thông tin chủng loại hàng hóa (cấp 2, chi tiết)
lưu thông tin khách hàng trực tuyến

lưu trữ đơn đặt hàng của các khách hàng
lưu chi tiết hóa đơn tức danh sách các mặt hàng mà khách hàng chọn
mua trên các đơn hàng
lưu các chủ để các loại tin tức
lưu tin tức hàng ngày mà doanh nghiệp muốn chuyển đến người dùng
Các tài khoản đăng nhập của người quản trị
lưu trữ thông tin hàng hóa kinh doanh trực tuyến

Nhóm các thực thể kinh doanh
Category
CatID
Name
Description
Image

consist_of
SubCategory

Identifier_1
...

SubCatID
SubCatName
SubCatDes
Image
CatID
Identifier_1
...

OrderDetail


Product
_consist_of

ProductID
Name
SubCatID
Description
Keyword
Date
Warranty
Image
Price
Discount
Displayed
Count

ODetailID
UnitPrice
Quan
Discount
Identifier_1
...

consist_of_

OWN

Customer


Identifier_1
...
Order
OrderID
ODeailID
ODate
DDate
Name
Address
Fee
Status
Note
Cost

include
C_O

Customer_ID
Password
Name
Sex
DOB
Address
Phone
Email
Image
Status
Identifier_1
...


Identifier_1
...

15


Product
Table
Property
ProductID
Name
SubCatID
Description
Keyword
Date
Warranty
Image
Price
Discount

Type
Character
Character
Character
Character
Character
DateTime
Integer
Character
Money

Integer

Displayed

Integer

Count

Integer

Size
10
50
10
1000
50

Product
Is Null?
Is Primary Key
x

Description

null
null
Ngày nhập kho

50


Hiển thị (1-có, 0không)
Số lượng

Category
Table
Property
CatID
Name
Description
Image

Type
Character
Character
Character
Character

Size Is Null?
10
50
1000
null
50
null

Type
Character
Character
Character
Character

Character

Size Is Null?
10
50
1000
null
50
null
10

Category
Is Primary Key
x

Description

SubCategory
Is Primary Key
x

Description

Order
Is Primary Key
x

Description

Sub-Category

Table
Property
SubCatID
SubCatName
SubCatDes
Image
CatID

Order
Table
Property
OrderID

Type
Integer

Size

Is Null?

16


ODetailID
ODate
DDate
Name
Address
Fee
Status

Note
Cost

Integer
Datetime
Datetime
Character
Character
Money
Integer
Text
Money

Ngày đặt
Ngày giao

50
1000
50
100

null

Order Detail
Table
Property
ODetailID
UnitPrice
Quan
Discount


Type
Integer
Money
Integer
Double

Size

Is Null?

OrderDetail
Is Primary Key
x

Description

Is Null?

Customer
Is Primary Key
x

Description

Customer
Table
Property
CustomerID
Password

Name
Sex
DOB
Address
Phone
Email
Image
Status

Type
Integer
Character
Character
Integer
Datetime
Character
Character
Character
Character
Integer

Size
50
50
50
100
11
50
100


3.3.2.2. Thực thể phân quyền sử dụng
Do cơ sở dữ liệu thiết kế đơn giản nên chỉ có 1 bảng lưu trữ các tài khoản của
administrator.
Admin
ID
Password
Identifier_1
...

17


Admin
Table
Property
ID
Password

3.3.2.3.

Type
Character
Character

Size

Is Null?

OrderDetail
Is Primary Key

x

Description

Các thực thể còn lại:
News
IDNews
IDCatNews
Title
ShortText
Content
Image
Date
Author
Keyword

News

CatNews
consist_of_

IDCatNews
Name
Description
Image
Identifier_1
...

Identifier_1
...


Table
Property
IDNews
IDCatNews
Title
ShortText
Content
Image
Date
Author
Keyword

Type
Character
Character
Character
Character
Text
Character
Datetime
Character
Character

Size Is Null?
10
10
50
50
1000

null
50

Type
Character
Character
Character
Character

Size Is Null?
10
50
1000
null
50
null

News
Is Primary Key
x

Description

CatNews
Is Primary Key
x

Description

50

50

CatNews
Table
Property
IDCatNews
Name
Description
Image

18


3.4. Giao diện
3.4.1. Giao diện chính (http://localhost/ComfortSelection)

19


3.4.2. Giao diện admin
(http://localhost/ComfortSelection/index.php/admin)

20


CHƯƠNG 4: KẾT QUẢ
4.1.

Kết quả đạt được


4.1.1. Trang chủ
- Hiểu mô hình làm việc và xây dựng được ứng dụng bằng CodeIgniter .
- Load được các loại sản phẩm, sản phẩm, tin tức từ cơ sở dữ liệu lên trang chủ

---

21


- Xem các danh mục hiện có, ví dụ trang Danh mục nội thất phòng ngủ:

- Hiển thị toàn bộ sản phẩm thuộc 1 danh mục nào đó, ví dụ, danh mục Giường
ngủ:

22


- Xem chi tiết của từng sản phẩm:

23


4.1.2. Trang Admin
- Quản lý sản phẩm: hiển thị các sản phẩm trong kho và form nhập sản phẩm mới:

- Quản lý danh mục: hiển thị các danh mục và form nhập mới

24



4.2.

Hạn chế
 Tốc độ truy xuất còn chậm.
 Phong cách lập trình chưa chuyên nghiệp nên cách viết code chưa rõ
ràng. Do vậy gặp nhiều khó khăn khi mở rộng hệ thống.
 Giao diện chưa chuyên nghiệp, các chức năng phân bố chưa thật hợp lý
gây khó khăn cho người dùng.
 Còn nhiều kỹ thuật cũng như chức năng chưa hoàn thành như phân trang,
cookie, session, chức năng đăng nhập, đăng ký, giỏ hàng, thanh toán…

4.3.

Hướng phát triển
 Giao diện cần phân bố lại một số chức năng cho hợp lý nhằm giúp người
dùng dễ thao tác hơn.
 Tích hợp thêm một số công nghệ mới.
 Hoàn chỉnh các chức năng còn thiếu.

25


TÀI LIỆU THAM KHẢO
Tiếng Anh
Tiếng Việt

26




×