ĐẠI HỌC THỦ DẦU MỘT
VIỆN KỶ THUẬT CÔNG NGHỆ
ĐỒ ÁN BÁO CÁO PHÁT
TRIỂN PHẦN MỀM MÃ
NGUỒN MỞ
ĐỀ TÀI: XÂY DỰNG WEBSITE BÁN LINH KIỆN
MÁY TNH
: Võ Minh Tấn – 1824801030199
Văn Đức Quý – 1824801030173
Giảng viên hướng dẫn : Nguyễn Hữu Vĩnh
Lớp
: D18PM03
Sinh viên thực hiện
Bình Dương, tháng7 năm 2021
0
0
BÁO CÁO MÃ NGUỒN MỞ
MỞ ĐẦU
Trong thi đi công nghệ 4.0, Sự phát triển của lĩnh vực công nghệ
thông tin đã tác động vô cùng lớn đến với cuộc sống hàng ngày của mọi
ngưi. Là một phần của công nghệ thông tin, website là th quan trọng đưc
s dng nhiu trong đi sống xã hội , n đem li rt nhiu tiện ch nhm phc
v nhu cầu con ngưi. Trong bài báo cáo này nhm chng em xin trnh bày v
đ tài mà nhm thực hiện đ là: “website bn linh kin my tnh” gip
khách hàng c thể xem, lựa chọn các linh kiện phù hp cho nhu cầu s dng
máy tnh mà họ muốn và giúp ngưi quản lý dễ dàng chỉnh sa giao diện cơ
bản, quản lý thông tin t ài khoản của khách hàng và đơn hàng.
Báo cáo này gồm các phần chương sau:
Chương 1: Tông quan
Chương 2: Cơ sở lý thuyết
Chương 3: Phân tch thiết kế cơ sở dữ liệu và hệ
thống
Chương 4: Thiết kế và xây dựng website
Chương 5: Kết luận và hướng phát triển
2|Xâ y dựng W ebsite linh kiện má y tính
0
0
BÁO CÁO MÃ NGUỒN MỞ
LỜI CẢM ƠN
Với đ tài và môn học này, em xin chân thành cảm ơn sự gip đỡ tận tnh
của Thầy đã tận tình giúp đỡ, trực tiếp chỉ bảo, hướng dẫn nhm em trong suốt
quá trình thực hiện học phần Đồ án. Trong thi gian làm việc, em không ngừng
tiếp thu thêm nhiu kiến thc, kinh nghiệm mà còn học tập đưc tinh thần làm
việc, thái độ nghiên cu khoa học nghiêm túc, hiệu quả, đây là những điu rt cần
thiết cho nhm em trong q trình học tập và cơng tác sau này
Em xin chân thnh cm ơn !
3|Xâ y dựng W ebsite linh kiện má y tính
0
0
BÁO CÁO MÃ NGUỒN MỞ
NHẬN XÉT CỦA GIẢNG VIÊN
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
......
Bình Dương, ngày tháng năm 2021
Giảng viên hướng dẫn
Nguyễn Hữu Vĩnh
4|Xâ y dựng W ebsite linh kiện má y tính
0
0
BÁO CÁO MÃ NGUỒN MỞ
MỤC LỤC
Trang
MỞ ĐẦU ................................................................................................................. 2
Chương 1 Tổng quan .......................................................................................... 8
1.1 Giới thiệu sản phẩm ................................................................................... 8
1.2 Giới thiệu phương pháp ............................................................................. 9
1.3 Giới thiệu kết quả ....................................................................................... 9
1.3.1 Giới thiệu cơng nghệ nn tảng điện tốn đám mây Heroku ................ 9
1.3.2 Giới thiệu Laravel.............................................................................. 11
1.3.3 Giới thiệu v BootStrap ..................................................................... 13
1.3.4 Giới thiệu v PHP .............................................................................. 15
Chương 2: Cơ sở lý thuyết ................................................................................. 17
2.1 Quy trình đặt hàng .................................................................................... 17
2.2 Giới thiệu sản phẩm ................................................................................. 17
2.3 Giới thiệu sản phẩm ................................................................................. 17
2.3.1 Heroku CLI........................................................................................ 17
2.3.2 Vn đ phát sinh ................................................................................ 19
Chương 3 Phân tch thiết kế h thống ............................................................. 20
3.1 Mô hnh tổng quan của hệ thống nghiên cu ........................................... 20
3.1.1 Xác định Actor .................................................................................. 20
3.1.2 Xác định yêu cầu ngưi s dng ....................................................... 20
3.2 Xây dựng biểu đồ Usecase ....................................................................... 20
3.3 Xây dựng biểu hot động ......................................................................... 25
3.4 Xây dựng biểu đồ lớp ............................................................................... 26
3.5 Thiết kế cơ sở dữ liệu ............................................................................... 27
3.5.1 Danh sách các bảng ........................................................................... 27
3.5.2 Bảng products .................................................................................... 27
3.5.3 Bảng bills ........................................................................................... 28
3.5.4 Bảng bill_ details ................................................................................ 28
3.5.5 Bảng categories ................................................................................. 28
3.5.6 Bảng users ......................................................................................... 29
3.5.6 Bảng customers ................................................................................. 29
Chương 4 Thiết kế v xây dng Website ........................................................ 31
4.1 Giao diện trang ngưi dùng ..................................................................... 31
4.2 Giao diện trang quản trị .......................................................................... 36
Chương 5 Kết luận v Hướng pht triển ........................................................ 41
5.1 Kết luận .................................................................................................... 41
5.2 Ưu điểm .................................................................................................... 41
5.3 Nhưc điểm .............................................................................................. 41
5.4 Hướng phát triển ...................................................................................... 41
DANH MỤC TÀI LIỆU THAM KHẢO .............................................................. 42
5|Xâ y dựng W ebsite linh kiện má y tính
0
0
BÁO CÁO MÃ NGUỒN MỞ
DANH MỤC HÌNH
Trang
Chương 1 Tổng quan .......................................................................................... 8
Hình 1.1 – Heroku ................................................................................................. 10
Hình 1.2 – Laravel ................................................................................................. 11
Chương 2: Cơ sở lý thuyết ................................................................................. 17
Chương 3 Phân tch thiết kế h thống ............................................................. 20
Hình 3.2.1 – Biểu đồ Use case tổng quan .............................................................. 21
Hình 3.2.2 – Biểu đồ Use case khách hàng ........................................................... 21
Hình 3.2.3 – Biểu đồ Use case quản lý giỏ hàng của khách hàng ......................... 22
Hình 3.2.4 – Biểu đồ Use case tìm kiếm sản phẩm của khách hàng ..................... 22
Hình 3.2.5 – Biểu đồ Use case của Admin ............................................................ 23
Hình 3.2.6 – Biểu đồ Use case quản lý danh mc của Admin .............................. 23
Hình 3.2.7 – Biểu đồ Use case quản lý sản phẩm của Admin ............................... 23
Hình 3.2.8 – Biểu đồ Use case quản lý đơn hàng của Admin ............................... 24
Hình 3.2.9 – Biểu đồ Use case quản lý ngưi dùng của Admin ........................... 24
Hình 3.2.10 – Biểu đồ Use case của ngưi truy cập hệ thống ............................... 24
Hình 3.3.1 – Đăng nhập ......................................................................................... 25
Hình 3.3.2 – Quản lý đơn hàng .............................................................................. 25
Hình 3.3.3 – Quản lý đặt hàng ............................................................................... 26
Hình 3.4.1 – Biểu đồ lớp........................................................................................ 26
Hình 3.5.1 – Danh sách các bảng .......................................................................... 27
Hình 3.5.2 – Bảng products ................................................................................... 27
Hình 3.5.3 – Bảng order ........................................................................................ 28
Hình 3.5.4 – Bảng order_details ............................................................................ 28
Hình 3.5.5 – Bảng categories ................................................................................. 29
Hình 3.5.6 – Bảng users ......................................................................................... 29
Hình 3.5.7 – Bảng customers ................................................................................. 29
Hình 3.5.8 – Danh sách các bảng trong cơ sở dữ liệu ........................................... 30
Chương 4 Thiết kế v xây dng Website ........................................................ 31
4.1 Giao diện trang ngưi dùng ..................................................................... 31
Hình 4.1.1 – Trang chủ hiển thị ............................................................................. 31
Hình 4.1.2 – Trang đăng nhập ............................................................................... 32
Hình 4.1.3 – Trang giỏ hàng .................................................................................. 32
Hình 4.1.4 – Trang đặt hàng .................................................................................. 33
Hình 4.1.5 – Email sau khi đặt hàng ...................................................................... 34
Hình 4.1.6 – Trang chi tiết đơn hàng ..................................................................... 34
Hình 4.1.7 – Trang tìm kiếm ................................................................................. 34
Hình 4.1.8 – Trang chi tiết sản phẩm .................................................................... 35
4.2 Giao diện trang quản trị .......................................................................... 36
Hình 4.2.1 – Trang chủ thống kê ........................................................................... 36
Hình 4.2.2 – Trang quản lý danh mc ................................................................... 36
Hình 4.2.3 – Trang quản lý sản phẩm.................................................................... 37
Hình 4.2.4 – Trang quản lý ngưi dùng ................................................................ 38
Hình 4.2.5 – Trang quản lý đơn hàng .................................................................... 39
Hình 4.2.6 – Trang tìm kiếm ................................................................................. 40
6|Xâ y dựng W ebsite linh kiện má y tính
0
0
BÁO CÁO MÃ NGUỒN MỞ
DANH MỤC CỤM TỪ VIẾT TẮT
STT
1
2
Cụm từ
Công nghệ phần mm
Công nghệ thông tin
…..
7|Xâ y dựng W ebsite linh kiện má y tính
0
0
Viết tắt
CNPM
CNTT
BÁO CÁO MÃ NGUỒN MỞ
Chương 1 : Tổng Quan
Chương 1 giới thiệu chung về sản phẩm, về phái người dùng,về phía người
quản trị, các module chính, giới thiệu về phương pháp và công nghệ trong
đề tài.
1.1 Giới thiu sn phẩm
Hot động bán hàng của một ca hàng linh kiện máy tnh tm tt như sau:
- Khi khách hàng c nhu cầu mua s ản phẩm, ca hàng s cho khách hàng xem
danh mc sản phẩm của ca hàng km theo giá tin đi km với s ản phẩm đ để
khách hàng c thể so s ánh và lựa chọn sản phẩm cần mua.
- Khi khách hàng đã lựa chọn 1 hoặc nhiu sản phẩm th khách hàng s thông
báo với nhân viên bán hàng của ca hàng v thông tin sản phảm đ và số lưng
sản phẩm muốn mua để nhân viên viết ha đơn thanh toán.
- Khách hàng s trả tin và nhận sản phẩm của mnh
Hệ thống “website bn linh kin my tnh” đưc xây dựng nhm giải quyết
các vn đ như sau:
Về pha người dùng:
-Tm kiếm các linh kiện, thiết bị máy tnh mà khách hàng cần
-Xem thông tin chi tiết của sản phẩm
-Chc năng đặt mua và hnh thc thanh toán
-Khách hàng chọn sản phẩm thêm vào giỏ hàng và xem giá tin
-Chc năng xây dựng cáu hnh máy tnh v nhu cầu công việc hoặc giải tr đồ họa
- Gip khách hàng c lựa chọn thuận tiện,nhanh chng để mua đưc sản phẩm
mnh cần nhanh nht.
Về pha người qun trị h thống:
-Phải c cơ chế đăng nhập để xác định ngưi có quyn hn mới c thể đăng nhập
vào hệ thống quản trị của website
-Quản lí thơng tin của khách hàng, thơng tin sản phẩm
-Thêm các thông tin dữ liệu cập nhật lên cơ sở dữ liệu
-Dễ dàng quản lý sản phẩm,danh mc sản phẩm
-Tùy chọn chỉnh sa,xa các dữ liệu từ trang web thông qua trang của ngưi quản
trị.
Cc module ca website:
Module sn phẩm:
Hiển thị thông tin và phân loi sản phẩm trong gian hàng ảo. Sản phẩm hiển
thị lên website s đưc hiển thị đầy đủ thông tin v sản phẩm đ như: hnh ảnh,
tên sản phẩm, đặc điểm nổi bật của sản phẩm, giá tin
Module tm kiếm, liên h, giới thiu:
Khách hàng s đưc cung cp chc năng tm kiếm trên Website
Thanh tm kiếm
Trả v các kết quả tm kiếm ti trang tm kiếm khi khác hàng muốn tm nhanh
qua từ kha như sản phẩm, danh mc hoặc theo giá tin.
Trang giới thiệu:
8|Xâ y dựng W ebsite linh kiện má y tính
0
0
BÁO CÁO MÃ NGUỒN MỞ
Giới thiệu các thông tin v v ca hàng, danh mc sản phẩm, chương trnh
khuyến mãi…
Trang liên hệ:
Khách hàng c thể liên hệ với nhân viên bán hàng v các thc mc, ý kiến của
mình.
Module qun l sn phẩm, đơn hng:
Ngưi quản trị c thể cập nhật thông tin các mặt hàng, loi hàng, quản lý
thông tin đơn hàng.
Module gi hng:
Khi tham khảo đầy đủ thông tin v sản phẩm khách hàng c thể đặt mua sản
phẩm ngay ti Website thông qua chc năng giỏ hàng mà không cần phải đến địa
điểm giao dịch, giỏ hàng đưc làm mô phỏng như giỏ hàng trong thực tế c thể
thêm, bớt, thanh toán tin các sản phẩm đã mua. Khi chọn thanh toán giỏ hàng
khách hàng phải ghi đầy đủ các thông tin cá nhân, thông tin này đưc hệ thống
lưu trữ và x lý.
Module đăng k thnh viên, đăng nhập h thống:
Mỗi khách hàng giao dịch ti Website s đưc quyn đăng ký môt tài khoản
riêng. Tài khoản này s đưc s dng khi hệ thống yêu cầu. Một tài khoản do
khách hàng đăng ký s lưu trữ các thông tin cá nhân của khách hàng.
1.2. Giới thiu phương php
- Tm hiểu k thuật lập tr nh, cách thc hot động
- Hiểu đưc cách thc hot động của web Back-end
- Hiểu đưc cách lưu trữ dữ liệu của hệ quản trị cơ sở dữ liệu MySQL
- Hiểu đưc cách Deploy ng dựng lên nn tảng đám mây Heroku
- S dng ngôn ngữ lập tr nh như : Html, Css, Jquery, Framework Boostrap, Php,
và Framework Laravel.
- S dng các công c hỗ tr như : Xampp, Navicat, Visual Studio Code.
StarUML.
1.3. Giới thiu công ngh
1.3.1 Giới thiu công ngh nền tng đin toán mây Heroku
Heroku là g? N là nn tảng đám mây cho phép các lập trnh viên xây dựng,
triển khai, quản lý và mở rộng ng dng (PaaS – Platform as a service).
N rt linh hot và dễ s dng, cung cp cho một con đưng đơn giản nht để
đưa sản phẩm tiếp cận ngưi dùng. N gip các nhà phát triển tập trung vào phát
triển sản phẩm mà không cần quan tâm đến việc vận hành máy chủ hay phần
cng…
9|Xâ y dựng W ebsite linh kiện má y tính
0
0
BÁO CÁO MÃ NGUỒN MỞ
Hình 1.1.Heroku
Heroku hoạt động như thế no?
Heroku chy các ng dng trong dynos – n là một máy ảo mà c thể tăng giảm
sc mnh dự vào độ lớn của ng dng.
Hiểu đơn giản là dynos nhưng là các block, bạn muốn tăng tốc độ xử lý nhiều
cơng việc phức tạp thì thêm block (scale chiều ngang) hoặc tăng kích thước block
(scale chiều dọc) .
Heroku sẽ thanh tốn phí tháng dựa trên số lượng dynos và kích thước
mỗi dyno bạn sử dụng.
Heroku có ưu v khuyết điểm g?
Bn c thể dùng Heroku miễn ph cùng với vô vàn các addons hỗ tr cực kỳ hữu
ch th đy đưc coi là một trong những dịch v hp dẫn. Hỗ tr nhiu ngôn ngữ
lập trnh như:
NodeJS
Ruby
Python
PHP
Java
Scala
Clojure
Go
10 | X â y d ự n g W e b s i t e l i n h k i ệ n m á y t í n h
0
0
BÁO CÁO MÃ NGUỒN MỞ
Kotlin
Ngồi ra chng ta cịn đưc cung cp Database, SSL miễn ph, hỗ tr mnh làm
việc team cũng như liên kết với Github một cách đơn giản.
Khuyết điểm th tt nhiên là c, việc miễn ph s chỉ c giới hn là 550 gi mỗi
tháng. Nếu muốn tăng lên 1000 gi th bn cần cài đặt phương thc thanh toán
trên đ. Tuy nhiên để kiểm nghiệm một ý tưởng hay một trang web nhỏ th nhiêu
đ là quá đủ để thu v kết quả.
Sau 2 đến 3 gi nếu server không c ngưi truy cập th server s chuyển sang
trng thái ngủ. V việc server bị tt khi không c traffic, cách đơn giản nht là tự
to traffic cho nó.
1.3.2 Giới thiu về Laravel
Laravel là một PHP Framework mã nguồn mở miễn ph, đưc phát triển
bởi Taylor Otwell với phiên bản đầu tiên đưc ra mt vào tháng 6 năm
2011. Laravel ra đi nhm mc đch hỗ tr phát triển các ng dng web, dựa
trên mô hình MVC (Model – View – Controller).
Laravel hiện đưc phát hành theo giy phép MIT, với source code đưc lưu trữ
ti Gitthub.
Mặc dù ra đi muộn hơn so với các đối thủ, tuy nhiên Laravel đã thật sự to
thành một làn sng lớn, đưc đánh giá tốt và s dng rộng rãi nht hiện nay.
Hình 1.2.Laravel
Ti sao nên s dng Laravel?
Bắt đầu dễ dàng
Lý do đầu tiên phải kể đến chnh việc Laravel c thể s dng cực dễ dàng cho
ngưi mới bt đầu, kể cả khi bn chỉ biết sơ v PHP, bn vẫn c khả năng phát
triển 1 website với 5 trang trong vịng vài gi.
Có mã nguồn mở
11 | X â y d ự n g W e b s i t e l i n h k i ệ n m á y t í n h
0
0
BÁO CÁO MÃ NGUỒN MỞ
Framework Laravel với mã nguồn mở miễn ph, cho phép bn xây dựng ng
dng web lớn và phc tp một cách nhanh chng, dễ dàng.
Tt cả điu bn cần làm ở đây là cài đặt PHP, cộng với một trnh son thảo văn
bản để bt đầu.
Hỗ trợ cộng đồng
Trưng hp bn mc kẹt với những bug kh nhn, nhưng c ngưi đã trải qua và
hướng dẫn bn th khơng cịn g tuyệt hơn.
Laravel c một hệ thống thư viện hỗ tr vô cùng lớn và mnh hơn hẳn các
Framework khác.
Nếu bn report lỗi hoặc vi phm bảo mật trong Framework, phản hồi của cộng
đồng s rt nhanh chng.
Theo dõi MVC
Cu trc MVC và lập trnh hướng đối tưng OOP vẫn đưc giữ li trong
Framework Laravel, gip cung cp tài liệu tốt hơn, và tăng hiệu sut hơn.
Được xây dựng dựa trên những Framework hiệu quả nhất.
V ra đi muộn nên Laravel đưc thừa hưởng những ưu điểm và thế mnh của
Framework khác, khi có phần route cực mnh. V d điện hnh là Laravel s
dng một số thành phần tốt nht của Symfony.
Di chuyển Database dễ dàng
Di chuyển Database là một trong những tnh năng trọng yếu của Laravel. Nó cho
phép bn duy tr cu trc cơ sở dữ liệu ng dng mà không nht thiết phải to li.
Di chuyển Database còn cho phép bn viết mã PHP để kiểm soát Database, thay
v s dng SQL. N cịn cho phép bn khơi phc những thay đổi gần đây nht
trong Database.
Tính năng bảo mật hồn thiện
Ứng dng của bn s an toàn khi dùng Framework Laravel. K thuật ORM
của Laravel s dng PDO, chống chn SOL.
Ngoài ra, tnh năng bảo vệ crsf của Laravel gip ngăn chặn giả mo từ yêu cầu
trang chéo. Đ là c pháp tự động thoát bt k HTML nào đang đưc truyn qua
các tham số xem, nhm ngăn chặn kịch bản chéo trên trang web.
Điu bn cần thực hiện ở đây là s dng các thành phần thch hp của khuôn
khổ.
12 | X â y d ự n g W e b s i t e l i n h k i ệ n m á y t í n h
0
0
BÁO CÁO MÃ NGUỒN MỞ
1.3.3 Giới thiu về Bootstrap
Bootstrap là một framework bao gồm các HTML, CSS và JavaScript template
dùng để phát triển website chuẩn responsive.
Bootstrap cho phép quá trình thiết kế website diễn ra nhanh chng và dễ dàng
hơn dựa trên những thành tố cơ bản sẵn c như typography, forms, buttons,
tables, grids, navigation, image carousels… Cùng Mắt Bão tm hiểu tnh năng và
li ch mang li cho lập trnh viên của Bootstrap là gì nhé!
Bootstrap là một bộ sưu tập miễn ph của các mã nguồn mở và cơng c dùng để
to ra một mẫu webiste hồn chỉnh. Với các thuộc tnh v giao diện đưc quy
định sẵn như kch thước, màu sc, độ cao, độ rộng…, các designer c thể sáng
to nhiu sản phẩm mới mẻ nhưng vẫn tiết kiệm thi gian khi làm việc
với framework này trong quá trình thiết kế giao diện website.
Bootstrap.CSS
N là một Framework CSS c chc năng quản lý và sp xếp bố cc của các
trang Web. HTML c nhiệm v quản lý cu trc và nội dung th CSS s x lý bố
cc của Website. V vậy mà hai cu trc này phải tồn ti cùng nhau để thực hiện
đưc hành động c thể.
Gi bn s không phải tốn thi gian để chỉnh sa thủ công chỉ để thay đổi một
thiết kế nhỏ. Thay vào đ, bn c thể dùng CSS để to giao diện thống nht trên
nhiu Website mà không bị giới hn.
Hàm CSS không chỉ giới hn ở kiểu văn bản mà còn dùng định dng như bảng,
bố cc hnh. Bn cần mt một t thi gian để CSS ghi nhớ hết tt cả các khai báo
và bộ chọn.
Bootstrap.JS
Đây là phần cốt lõi v cha các File JavaScript, n chịu trách nhiệm cho việc
tương tác của Website. Để tiết kiệm thi gian viết c pháp JavaScript mà nhiu
nhà phát triển s s dng jQuery. Đây là thư viện JavaScript mã nguồn mở, đa
nn tảng gip bn thêm nhiu chc năng vào trang Web.
Theo kinh nghiệm của tôi, jQuery s thực hiện một số chc năng như:
Thực hiện các yêu cầu của Ajax như: loi trừ dữ liệu đến từ một vị tr khác
một cách linh hot.
Gip to các tiện ch bng bộ sưu tập Plugin JavaScript.
jQuery s to hnh động tùy chỉnh bng các thuộc tnh của CSS.
Thêm một số tnh năng động cho nội dung các trang Web của bn.
Tuy Bootstrap với các thuộc tnh Element HTML và CSS c thể hot động tốt,
nhưng vẫn cần jQuery để to thiết kế Responsive. Nếu thiếu đi phần này, bn chỉ
c thể dùng các phần tĩnh của CSS mà thôi.
Glyphicons
Trong giao diện trang Web, phần không thể thiếu chnh là Icons. Chng thưng
đưc liên kết với các dữ liệu nht định và các hành động trong giao diện ngưi
dùng.
13 | X â y d ự n g W e b s i t e l i n h k i ệ n m á y t í n h
0
0
BÁO CÁO MÃ NGUỒN MỞ
Bootstrap dùng Glyphicons để đáp ng nhu cầu trên và n đã mở kha bộ
Halflings Glyphicons để bn s dng miễn ph. Ti bản miễn ph, tuy chỉ c giao
diện chuẩn nhưng phù hp với các chc năng thiết yếu.
Nếu như bn muốn c các Icon phong cách hơn th c thể mua bộ bộ Icon
Premium khác nhau. Chc chn các Icon ti Glyphicons s gip cho trang Web
của bn trông đẹp và nổi bật hơn.
*Tại sao nên dùng Bootstrap
Dễ dàng thao tác
Cơ chế hot động của Bootstrap là dựa trên xu hướng mã nguồn mở HTML, CSS
và Javascript. Ngưi dùng cần trang bị kiến thc cơ bản 3 mã này mới c thể s
dng Bootstrap hiệu quả. Bên cnh đ, các mã nguồn này cũng c thể dễ dàng
thay đổi và chỉnh sa tùy ý.
Tùy chỉnh dễ dàng
Bootstrap đưc to ra từ các mã nguồn mở cho phép designer linh hot hơn. Gi
đây c thể lựa chọn những thuộc tnh, phần t phù hp với dự án họ đang theo
đuổi. CDN Boostrap còn gip bn tiết kiệm dung lưng v không cần tải mã
nguồn v máy.
Chất lượng sản phẩm đầu ra hoàn hảo
Bootstrap là sáng to của các lập trnh viên giỏi trên khp thế giới. Bootstrap đã
đưc nghiên cu và th nghiệm trên các thiết bị. Đưc kiểm tra nhiu lần trước
khi đưa vào s dng. Do đ, khi chọn Bootstrap, bn c thể tin rng mnh s to
nên những sản phẩm với cht lưng tốt nht.
Độ tương thích cao
Điểm cộng lớn nht của Bootstrap là khả năng tương thch với mọi trnh duyệt và
nn tảng. Đây là một điu cực k quan trọng và cần thiết trong trải nghiệm ngưi
dùng. S dng Grid System cùng với hai bộ tin x lý Less và
Sass, Bootstrap mặc định hỗ tr Responsive và ưu tiên cho các giao diện trên
thiết bị di động hơn. Bootstrap c khả năng tự động điu chỉnh kch thước trang
website theo khung browser. Mc đch để phù hp với màn hnh của máy tnh để
bàn, tablet hay laptop.
Cấu trúc v tnh năng của Bootstrap l g?
Bootstrap cha các tập tin JavaScript, CSS và fonts đã đưc biên dịch và nén li.
Ngoài ra, Bootstrap đưc thiết kế dưới dng các mô-đun. Do đ, dễ dàng tích
hp với hầu hết các mã nguồn mở như WordPress, Joomla, Magento, …Trong
đ, Bootstrap mang đến nhiu chc năng nổi bật.
Bootstrap cho phép ngưi dùng truy cập vo thư vin “khổng lồ” các
thành tố dùng để to nên giao diện của một website hoàn chỉnh như font,
typography, form, table, grid…
Bootstrap cho phép bn tùy chỉnh framework của website trước khi tải
xuống và s dng n ti trang web của khung.
Ti sử dụng các thành phần lặp đi lặp li trên trang web.
14 | X â y d ự n g W e b s i t e l i n h k i ệ n m á y t í n h
0
0
BÁO CÁO MÃ NGUỒN MỞ
Bootstrap được tch hợp jQuery. Bn chỉ cần khai báo chính xác các
tnh năng trong quá trnh lập trnh web của bn.
Định nghĩa glyphicons nhm gim thiểu vic sử dụng hnh nh lm biểu
tượng và tăng tốc độ ti trang.
1.3.4 Giới thiu về PHP
PHP là gì?
PHP là ngôn ngữ script đưc to cho các giao tiếp pha server. Do đ, n c
thể x lý các chc năng pha server như thu thập dữ liệu biểu mẫu, quản lý
file trên server, sa đổi cơ sở dữ liệu và nhiu hơn nữa.
Ngôn ngữ này ban đầu đưc to ra bởi Rasmus Lerdorf để theo dõi khách
truy cập vào trang chủ cá nhân của anh y. Khi đã trở nên phổ biến hơn,
Lerdorf phát hành n thành dự án nguồn mở. Quyết định này đã khuyến khch
các nhà phát triển s dng, sa chữa, cải thiện code và cuối cùng biến n
thành ngôn ngữ script mà chng ta s dng ngày nay.
Mặc dù PHP đưc coi là ngôn ngữ script v mc đch chung, nhưng n đưc
s dng rộng rãi nht để pht triển web . Điu này do một trong những tnh
năng nổi bật của n – khả năng nhng vào file HTML.
Nếu không muốn ngưi khác xem mã nguồn của mnh, bn c thể ẩn bng
ngôn ngữ script này. Đơn giản chỉ cần bn viết code vào file PHP, nhng n
vào HTML th mọi ngưi s không bao gi biết đưc nội dung gốc.
Li ch khác của tnh năng đặc biệt này là khi phải s dng cùng một lần đánh
du HTML. Thay v viết đi viết li nhiu lần, chỉ cần viết code vào file PHP.
Bt c khi nào cần s dng HTML, bn hãy chn file PHP và bn c thể chy
rt tốt.
Vì sao nên sử dng PHP?
PHP không phải là ngôn ngữ script pha server duy nht c sẵn – vẫn cịn
nhiu ngơn ngữ khác nữa. Tuy nhiên, n li thế hơn các đối thủ cnh tranh
nếu như bn đang chy trang web WordPress.
Như chng tôi đã đ cập trước đ, WordPress đưc xây dựng dựa trên việc s
dng PHP. V vậy s dng ngôn ngữ này gip cải thiện đáng kể số lưng tùy
chỉnh c thể c trên trang web. Bn c thể s dng n để sa
15 | X â y d ự n g W e b s i t e l i n h k i ệ n m á y t í n h
0
0
BÁO CÁO MÃ NGUỒN MỞ
đổi plugins và themes c sẵn hoặc tự to plugin! Nếu bn muốn trở thành nhà
phát triển và WordPress, bn bt buộc phải học PHP.
Nếu vẫn chưa bị thuyết phc, đây là một số lý do khác khiến PHP là ngôn ngữ
script tuyệt vi để s dng:
Dễ học – bn c thể học dễ dàng v n c ti liu tuyt vời v các chc
năng cùng các v d.
Được sử dụng rộng rãi – n đưc s dng để to ra các loi nn tảng
như thương mi điện t, blogs, phương tiện truyn thông xã hội, v.v.
Thống kê cho thy 79% tất c cc trang web đu s dng PH P!
Chi ph thấp – n là nguồn mở để bn c thể s dng miễn ph.
Cộng đồng lớn – nếu gặp phải bt kỳ vn đ nào với n, bn không
phải lo lng v c rt nhiu blog PHP trên internet.
Tch hợp với cơ sở dữ liu – một số v d
như MySQL, Oracle, Sybase, DB2, v.v.
16 | X â y d ự n g W e b s i t e l i n h k i ệ n m á y t í n h
0
0
BÁO CÁO MÃ NGUỒN MỞ
Chương 2 : Cơ Sở Lý Thuyết
2.1.Quy trình đặt hàng
Với quy trnh đặt hàng truyn thống.Ngưi đặt
s gặp rt nhiu rủi ro như: Có thể khơng nhận đưc hàng mong muốn vì nhầm
sản phẩm, có khả năng khơng đưc duyệt u cầu đặt hàng vì lỡ bỏ xót.
Quy trnh đặt phịng truyn thống.
Bước 1: Nhận u cầu đặt hàng.
Bước 2: Xác định khả đáp ng của ca hàng
Bước 3: Thỏa thuận và khuyết phc việc đặt hàng với khách.
Bước 4: Nhập các thông tin đặt hàng.
Bước 5: Ca hàng xác nhận li việc đặt hàng.
Bước 6: Lưu thông tin li việc đặt hàng.
Bước 7: Nhận khẳng li việc đặt hàng từ khách.
Bước 8: Tổng hp tnh hnh đặt hàng.
2.2.Kho sát các website
Website: />Website buôn bán linh kiện máy tính
Theo khảo sát đây là website dành cho khách hàng phải c đăng k tài khoản,…
Mọi thông tin sản phẩm do chủ website tự cung cp.
Chc năng website: Cập nhật thông tin của sản phẩm trên website, đặt hàng bng
cách cung cp thông tin ngưi đặt cho admin quản lý website, sau đ admin liên
hệ li với khách hàng của mình
2.3.Nền tng cơng ngh
2.3.1. Heroku CLI
Đây là một ví dụ về việc đưa một project Laravel lên Heroku. Đầu
tiên hãy lên Heroku đăng ký một account.
Bước 1: Ci Heroku CLI
Bn cài đặt theo link hướng dẫn dưới đây cho hệ điu hành mnh đang dùng, do
mnh s dng MacOS nên s cài thông qua homebrew
brew install heroku/brew/heroku
Sau đ xác định phiên bản của n bng command:
heroku --version
17 | X â y d ự n g W e b s i t e l i n h k i ệ n m á y t í n h
0
0
BÁO CÁO MÃ NGUỒN MỞ
Bước 2: Ci đặt ứng dụng Laravel
Mở terminal và s dng command sau:
composer create-project laravel/laravel herokularavel --prefer-dist
Bước 3: Tạo một Procfile
Bên trong thư mc gốc của Laravel (root), to một file gọi là Procfile – cha câu
lệnh mà heroku s chy. Sau đ bỏ dòng này vào procfile:
# Procfile
web: vendor/bin/heroku-php-apache2 public/
Bước 4: Khởi tạo d n với Git repo
git init
Bước 5: Đăng nhập vo Heroku từ terminal
heroku login
Bước 6: Tạo một ứng dụng Heroku
Gõ lệnh sau ti thư mc cha code, Heroku s yêu cầu bn nhập tài khỏan, rồi to
một “app” cho bn, đồng thi thiết lập git để sẵn sàng “đẩy code lên Heroku”
heroku create
Creating app... done, ⬢ ironman-spiderman-12345
|
/>N s tự động to một ng dng với tên random, v d như: ironman-spiderman12345. Bn s c một url là ironman-spiderman-12345.herokuapp.com
Bước 7: Setting một Laravel encryption key
Gõ lệnh sau:
php artisan key:generate --show
18 | X â y d ự n g W e b s i t e l i n h k i ệ n m á y t í n h
0
0
BÁO CÁO MÃ NGUỒN MỞ
N s show một key và bn copy vào cho vào lệnh sau:
heroku config:set APP_KEY={Your copied key}
Bước 8: Push s thay đổi lên Heroku
Sau đ add các file vào Git:
git add .
Commit các tha y đổi:
git commit -m "laravel deploy to heroku"
Push nó lên Heroku server:
git push heroku master
2.3.2. Vấn đề phát sinh
* Ai cũng có thể đăng k tài khon nên sẽ sinh ra các người dùng o
Cách x lý:
Mỗi ngưi s phải cập nhật đầy đủ thông tin. Sau đ s đưc duyệt
bởi Admin
* Khi đưa thanh ton vào website sẽ ny sinh ra cc vấn đề bất trắc
khác
Cách x lý:
Sau khi đặt hàng s khuyến cáo ngưi dùng v việc đặt cọc trước
19 | X â y d ự n g W e b s i t e l i n h k i ệ n m á y t í n h
0
0
BÁO CÁO MÃ NGUỒN MỞ
Chương 3 Phân tch v thiết kế h thống
3.1 Mơ hình tổng quan của h thống nghiên cứu
3.1.1 Xc định Actor
- Khách hàng
- Admin (ngưi quản trị hệ thống)
- User (ngưi dùng)
3.1.2 Xc định yêu cầu người sử dụng
Khch hng
Xem danh sách sản phẩm
Xem chi tiết sản phẩm
Đặt hàng
Xem giỏ hàng
Đăng nhập/ Đăng ký- Đăng xut
Admin
Quản lý danh sách sản phẩm
Quản lý đơn hàng
Quản lý danh mc
Quản lý tài khoản ngưi dùng
Quản lý Banner quảng cáo
Đăng nhập/Đăng ký- Đăng Xut
3.2 XÂY DỰNG BIỂU ĐỒ USECASE
20 | X â y d ự n g W e b s i t e l i n h k i ệ n m á y t í n h
0
0
BÁO CÁO MÃ NGUỒN MỞ
Biểu đồ Usecase tổng quát
Hình 3.2.1 Biểu đồ Use case tng qut
Khch hng
Hình 3.2.2 Biểu đồ Use case ca khch hàng
21 | X â y d ự n g W e b s i t e l i n h k i ệ n m á y t í n h
0
0
BÁO CÁO MÃ NGUỒN MỞ
Hình 3.2.3 Biểu đồ Use case quản l gi hàng ca khch hàng
Hình 3.2.4 Biểu đồ Use case tm kiếm sản phm ca khch hàng
22 | X â y d ự n g W e b s i t e l i n h k i ệ n m á y t í n h
0
0
BÁO CÁO MÃ NGUỒN MỞ
Admin
Hình 3.2.5 Biểu đồ Use case ca Admin
Hình 3.2.6 Biểu đồ Use case quản l danh mc ca Admin
Hình 3.2.7 Biểu đồ Use case quản l sản phm ca Admin
23 | X â y d ự n g W e b s i t e l i n h k i ệ n m á y t í n h
0
0
BÁO CÁO MÃ NGUỒN MỞ
Hình 3.2.8 Biểu đồ Use case quản l đơn hàng ca Admin
Hình 3.2.9 Biểu đồ Use case quản l ngưi dng ca Admin
User
Hình 3.2.10 Biểu đồ Use case ca ngưi dng truy cập hệ thng
24 | X â y d ự n g W e b s i t e l i n h k i ệ n m á y t í n h
0
0
BÁO CÁO MÃ NGUỒN MỞ
3.3 XÂY DỰNG BIỂU ĐỒ HOẠT ĐỘNG
Biểu đồ hoạt động ca một s chức năng
Hình 3.3.1 Đăng nhập
Hình 3.3.2 Quản l đơn hàng
25 | X â y d ự n g W e b s i t e l i n h k i ệ n m á y t í n h
0
0