Professional Documents
Culture Documents
HÀN
ĐỒ ÁN CƠ SỞ 3
ĐỂ TÀI: XÂY DƯNG DỤNG CHO THUÊ GIA SƯ
ĐỒ ÁN CƠ SỞ 3
ĐỂ TÀI: XÂY DƯNG DỤNG CHO THUÊ GIA SƯ
Tuy nhiên, vì đây là lần đầu chúng em thực hiện một dự án cho bản thân mặc
dù đã tìm tòi nghiên cứu nhưng không tránh khỏi những thiếu sót. Chúng em rất
mong nhận được sự thông cảm và góp ý của thầy cô.
i
LỜI NHẬN XÉT
(Của giảng viên hướng dẫn)
………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………
ii
MỤC LỤC
MỤC LỤC.................................................................................................................iii
MỞ ĐẦU....................................................................................................................1
1. Giới thiệu.........................................................................................................1
1.2.3 CSS..........................................................................................................6
1.2.4 JavaScript................................................................................................7
1.2.5 Boostrap...................................................................................................7
1.2.6 Cơ sở dữ liệu............................................................................................8
iii
1.3 Công cụ hỗ trợ..............................................................................................8
KẾT LUẬN...............................................................................................................46
iv
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
VIẾT TẮT NỘI DUNG
JVM Java Virtual Machine
v
DANH MỤC HÌNH ẢNH
Hình 1 : Biều đồ ca sử dụng......................................................................................20
Hình 5 Biểu đồ hoạt động chức năng phê duyệt gia sư............................................26
vi
Hình 25 Giao diện đăng ký tìm gia sư......................................................................45
Hình 29 Giao diện hiển thị ds những người đăng ký làm gia sư..............................47
vii
MỞ ĐẦU
1. Giới thiệu
Trong công cuộc đổi hiện nay, vấn đề về việc làm đang là vấn đề nóng bỏng và
không kém phần bức bách, đang được toàn xã hội đặc biệt quan tâm. Trong hệ thống giáo
dục thì giáo dục Đại học có tác động mạnh mẽ đối với sự phát triển xã hội loài người, đặc
biệt ở giai đoạn hiện nay, khi khoa học công nghệ tiến bộ vượt bậc, kinh tế tri thức đang
hình thành và phát triển. Mỗi năm xã hội cung cấp cho nước ta khoảng 1,1 triệu lao động.
Việc tìm kiếm việc làm là vấn đề cấp thiết.
Ngành Công Nghệ Thông Tin là một ngành khoa học đang trên đà phát triển mạnh
và ứng dụng rộng rãi trên nhiều lĩnh vực. Cùng với xu hướng phát triển các phương tiện
truyền thông như TV, Radio, báo giấy thì việc sử dụng Internet ngày càng phổ biến. Chỉ
bằng một cú nhấp chuột, chúng ta sẽ có một kho thông tin khổng lồ phục vụ cho mọi nhu
cầu, mọi mục đích. Giờ đây, mọi việc liên quan đến thông tin trở nên thật dễ dàng cho
người sử dụng: chỉ cần một máy tính được kết nối Internet, người dùng có thể dễ dàng
truy cập được hầu hết mọi nguồn tài liệu, thông tin mình cần tìm.
2. Mục tiêu của đề tài
Theo thống kê trong những năm gần đây, nhu cầu phụ huynh tìm gia sư thông qua
hệ thống Internet ngày càng tăng lên. Trong khi nhu cầu gia sư thì đang lên cao, nguồn
gia sư có chất lượng và uy tín lại không có nhiều, phụ huynh dần “tuyệt vọng” khi muốn
tìm cho con em mình một gia sư vừa tài giỏi,vừa chất lượng. Đó là lý do nhóm chúng em
đã thực hiện đồ án “Website tìm kiếm và cho thuê gia sư” với mong muốn giúp cho phụ
huynh học sinh tìm được những gia sư tốt nhất, chất lượng nhất đồng thời góp phần giải
quyết vấn đề tìm kiếm việc làm nhức nhối hiện nay.
3. Nội dung và kế hoach thực hiện
Thời gian Nội dung thực hiện
Tuần thứ 1(từ ngày
Khảo sát nhu cầu của người dùng
21/3 đến ngày 26/3)
Tuần thứ 2, 3 (từ
ngày 27/3 đến ngày Phân tích và thiết kế hệ thống
9/4)
Tuần thứ 4 (từ ngày
Thiết kế giao diện và xây dựng cơ sở dữ liệu
10/4 đến ngày 16/4)
Tuần thứ 5, 6, 7 (Từ
ngày 17/4 đến ngày Xây dựng ứng dụng
7/5)
Tuần thứ 8, 9 (từ
ngày 8/5 đến ngày Hoàn thiện ứng dụng
21/5)
Tuần 10 (từ ngày
Hoàn thành báo cáo và slide thuyết trình
22/5 đến ngày 31/5)
1
4. Bố cục báo cáo
Sau phần Mở đầu, báo cáo được trình bày trong ba chương, cụ thể như sau:
Chương 1. Tổng quan
Chương 2. Phân tích thiết kế hệ thống
Chương 3. Xây dựng ứng dụng
Cuối cùng là Kết luận và Phụ lục liên quan đến đề tài.
2
CHƯƠNG 1. TỔNG QUAN
1.1 Đặt vấn đề
1.1.1 Tên đề tài
“XÂY DỰNG ÚNG DỤNG CHO THUÊ GIA SƯ”
1.1.2 Bối cảnh thực hiện
Việc làm là mối quan tâm hàng đầu của mọi quốc gia trên thế giới nói chung của
Việt Nam nói riêng. Giải quyết việc làm là một trong những chính sách quan trọng của
mỗi quốc gia bởi nó không chỉ tác động đối với sự phát triển kinh tế mà còn đối với đời
sống xã hội quốc gia đó. Đối với nước ta giải quyết việc làm còn là giải quyết một vấn đề
cấp thiết trong xã hội đồng thời là tiền đề quan trọng để sử dụng có hiệu quả nguồn lực
lao động, góp phần chuyển đổi cơ cấu lao động đáp ứng nhu cầu của quá trình công
nghiệp hóa, hiện đại hóa và hội nhập quốc tế, là yếu tố quyết định để phát huy nguồn lực
con người.
Sau 28 năm thực hiện công cuộc đổi mới đất nước, vấn đề việc làm ở nước ta đã
từng bước được giải quyết, góp phần đưa nền kinh tế nước ta phát triển đạt được những
thành tựu to lớn có ý nghĩa lịch sử. Tuy nhiên, thực trạng vấn đề việc làm ở nước ta hiện
nay vẫn còn có nhiều bất cập, chưa đáp ứng kịp yêu cầu phát triển của nền kinh tế trong
quá trình hội nhập quốc tế.
Cùng với đó là nhu cầu tìm kiếm cho con em một gia sư phù hợp của các bậc phụ
huynh. Ngày nay việc chọn một gia sư phụ hợp thì không dễ dàng. Đây cũng là một vấn
đề nan giải. Vì vậy, “Ứng dụng cho thuê gia sư” đã ra đời để giải quyết những vấn đề
trên.
1.1.3 Vấn đề cần giải quyết
Trong những năm gần đây chúng ta đã đạt được một số thành tựu phát triển rực rỡ
về khoa học kỹ thuật, các ngành như du lịch, dịch vụ, xuất khẩu, lương thực thực phẩm
sang các nước, v..v.. Đằng sau những thành tựu chúng ta đã đạt được, thì cũng có không
ít vấn đề mà Đảng và nhà nước ta cần quan tâm như: Tệ nạn xã hội, lạm phát, việc làm và
tình trạng thất nghiệp. Xong với hạn chế của bài viết mà chúng ta không thể phân tích kỹ
từng vấn đề đang xảy ra trong xã hội như hiện nay được. Nhưng có lẽ điều được quan
tâm hàng đầu ở đây có lẽ là vấn đề được quan tâm hàng đầu ở đây có lẽ là vấn đề việc
làm.
Hiện nay, thị trường lao động ngày càng diễn ra sôi nổi, người tìm việc và nhu cầu
tuyển dụng tại các doanh nghiệp đều có xu hướng ngày càng tăng. Đặc biệt, việc một số
sinh viên còn đang trên ghế Nhà trường. Vấn đề việc làm luôn là nổi lo lắng của sinh viên
để có thêm thu nhập để trang trải cho gia đình. Tuy nhiên, không phải người cần việc
cũng tìm được công việc phù hợp và nhà tuyển dụng nào cũng tìm được ứng viên ưng ý.
Vấn đề được đặt ra ở đây là tạo cầu nối để kết nối người tìm việc và nhà tuyển dụng
một cách tối ưu hơn so với cách truyền thống. Nói đúng hơn là giữa gia sư và phụ huynh,
gia sư và các trung tâm tum kiếm việc làm.
1.1.4 Đề xuất nội dung thực hiện
3
Trong những năm gần đây chúng ta đã đạt được một số thành tựu phát triển rực rỡ
về khoa học kỹ thuật, các ngành như du lịch, dịch vụ, xuất khẩu, lương thực thực phẩm
sang các nước, v..v.. Đằng sau những thành tựu chúng ta đã đạt được, thì cũng có không
ít vấn đề mà Đảng và nhà nước ta cần quan tâm như: Tệ nạn xã hội, lạm phát, việc làm và
tình trạng thất nghiệp. Xong với hạn chế của bài viết mà chúng ta không thể phân tích kỹ
từng vấn đề đang xảy ra trong xã hội như hiện nay được. Nhưng có lẽ điều được quan
tâm hàng đầu ở đây có lẽ là vấn đề được quan tâm hàng đầu ở đây có lẽ là vấn đề việc
làm.
Hiện nay, thị trường lao động ngày càng diễn ra sôi nổi, người tìm việc và nhu cầu
tuyển dụng tại các doanh nghiệp đều có xu hướng ngày càng tăng. Đặc biệt, việc một số
sinh viên còn đang trên ghế Nhà trường. Vấn đề việc làm luôn là nổi lo lắng của sinh viên
để có thêm thu nhập để trang trải cho gia đình. Tuy nhiên, không phải người cần việc
cũng tìm được công việc phù hợp và nhà tuyển dụng nào cũng tìm được ứng viên ưng ý.
Vấn đề được đặt ra ở đây là tạo cầu nối để kết nối người tìm việc và nhà tuyển dụng
một cách tối ưu hơn so với cách truyền thống. Nói đúng hơn là giữa gia sư và phụ huynh,
gia sư và các trung tâm tìm kiếm việc làm.
1.2 Ngôn ngữ lập trình
1.2.1 Ngôn ngữ lập trình chính
1.2.1.1Kotlin
Kotlin là một ngôn ngữ ngữ dụng kiểu tĩnh dành cho Java Virtual Machine đã
chính thức phát hành phiên bản 1.0. Nó được tạo ra bởi JetBrains, Kotlin cũng giống như
nhiều ngôn ngữ lập trình không phải Java khác, tức là cũng sẽ chạy trên JVM và sử dụng
các công cụ và thư viện hiện có của Java. Và ngược lại Java cũng có thể sử dụng các item
được xây dựng trong Kotlin.
Kotlin có khả năng tương thích 100% với Android và trong các trường hợp thông
thường, nó hoạt động liền mạch với Java để ‘lấp đầy’ những nhược điểm còn tồn tại của
ngôn ngữ lập trình này. Đặc biệt trong mảng thư viện.
Điểm mạnh:
Code ngắn gọn, cấu trúc đơn giản, trực quan, rất dễ tiếp cận cũng như học
hỏi đối với những người mới. Với Kotlin, lập trình viên có thể giảm bớt khá
nhiều các đoạn code không cần thiết, giúp tiết kiệm nhiều thời gian.
Ovechkin đã ước tính, Kotlin cho phép giảm thiểu 15 - 25% độ dài code
base.
Có khả năng biên dịch thành JVM hay Javascript bytecode.
Kotlin cho phép lập trình viên dùng thư viện và toàn bộ các nền tảng của
Java, bao gồm cả những nền tảng cao cấp nhờ Annotation.
Tiết kiệm chi phí và dung lượng bởi bản thân Kotlin là mã nguồn mở
Có khả năng chuyển đổi từ Java thành Kotlin một cách tự động
Dễ tiếp cận và học tập đối với người mới lập trình.
Tương tác tốt: Kotlin có độ tương thích là 100%, đồng thời hỗ trợ sử dụng
thư viện của JVM.
Công cụ làm việc khá thân thiện: Nhà phát triển có thể thoải mái lựa chọn
làm việc với Java IDE hay command line tùy ý.
1.2.1.2PHP
4
PHP - viết tắt hồi quy của "Hypertext Preprocessor", là một ngôn ngữ lập trình
kịch bản được chạy ở phía server nhằm sinh ra mã html trên client. PHP đã trải qua rất
nhiều phiên bản và được tối ưu hóa cho các ứng dụng web, với cách viết mã rõ rãng, tốc
độ nhanh, dễ học nên PHP đã trở thành một ngôn ngữ lập trình web rất phổ biến và được
ưa chuộng.
PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ sở
dữ liệu nên PHP thường đi kèm với Apache, MySQL và hệ điều hành Linux (LAMP).
Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình duyệt
người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trình duyệt.
MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress, Oracle,
SQL server...) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu
Linux: Hệ điều hành mã nguồn mở được sử dụng rất rộng rãi cho các webserver.
Thông thường các phiên bản được sử dụng nhiều nhất là RedHat Enterprise Linux,
Ubuntu...
1.2.2 Ngôn ngữ lập trình khác
1.2.2.1HTML
HTML (viết tắt của từ Hypertext Markup Language, hay là “Ngôn ngữ Đánh dấu
Siêu văn bản”) là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web trên
World Wide Web. Cùng với CSS và JavaScript, HTML là một trong những ngôn ngữ
quan trọng trong lĩnh vực thiết kế website. HTML là xương sống của một trang web. Nó
giúp cấu thành các cấu trúc cơ bản của một website, làm cho trang web trở thành một hệ
thống hoàn chỉnh. Ngôn ngữ đánh dấu siêu văn bản này giúp bố cục, chia khung sườn các
thành phần trang web. Đồng thời nó còn hỗ trợ khai báo các file kỹ thuật số như nhạc,
video, hình ảnh, …
HTML được sáng tạo bởi Tim Berners-Lee, nhà vật lý học của trung tâm nghiên
cứu CERN ở Thụy Sĩ. Anh ta đã nghĩ ra được ý tưởng cho hệ thống hypertext trên nền
internet.
5
Hypertext có nghĩa là văn bản chứa links, nơi người xem có thể truy cập ngay lập
tức. Anh xuất bản phiên bản đầu tiên của HTML trong năm 1991 bao gồm 18 tag HTML.
Từ đó, mỗi phiên bản mới của HTML đều có thêm tag mới và attributes mới.
Theo Mozilla Deverloper Network: HTML Element Reference, hiện tại có hơn 140
HTML tags, mặc dù một vài trong số chúng đã bị tạm ngưng (không hỗ trợ bởi các trình
duyệt hiện đại). Nhanh chóng phổ biến ở mức độ chóng mặt, HTML được xem như là
chuẩn mực của một website. Các thiết lập và cấu trúc HTML được vận hành và phát triển
bởi World Wide Web Consortium(W3C). Chúng ta có thể kiểm tra tình trạng mới nhất
của ngôn ngữ này bất kỳ lúc nào trên trang W3C’s website.
6
Khi chúng ta gõ ra 1 tên miền, trình duyệt mà chúng ta đang sử dụng (chẳng hạn
như Chrome) sẽ kết nối tới 1 máy chủ web, bằng cách dùng 1 địa chỉ IP, vốn được thấy
bằng cách phân giải tên miền đó (DNS). Máy chủ web chính là một máy tính được kết
nối tới internet và nhận các yêu cầu tới trang web từ trình duyệt của chúng ta. Máy chủ
sau đó sẽ gửi trả thông tin về trình duyệt, là 1 tài liệu HTML, để hiển thị trang web.
Một tập tin HTML sẽ bao gồm các phần tử HTML và được lưu lại dưới đuôi mở
rộng là .html hoặc .htm. Khi một tập tin HTML được hình thành, việc xử lý nó sẽ do
trình duyệt web đảm nhận. Trình duyệt sẽ đóng vai trò đọc hiểu nội dung HTML từ các
thẻ bên trong và sẽ chuyển sang dạng văn bản đã được đánh dấu để đọc, nghe hoặc hiểu.
Chúng ta có thể xem chúng bằng cách sử dụng bất kỳ trình duyệt web nào (như
Google Chrome, Safari, hay Mozilla Firefox). Trình duyệt đọc các files HTML này và
xuất bản nội dung lên internet sao cho người đọc có thể xem được nó. Thông thường,
trung bình một web chứa nhiều trang web HTML, ví dụ như: trang home, trang product,
trang blog…
Trong file HTML, block-level tags cùng inline tags là các thẻ được dùng chủ yếu
Block-level tags
3 block level tags của mỗi trang HTML cần có những tag như là <html>, <head>,
và <body>.
Tag <html></html> là element cao nhất dùng để đóng gói mỗi trang HTML.
Tag <head></head> chứa các thông tin meta như là tiêu đề trang và charset.
Cuối cùng, <body></body> tag dùng để đóng gói tất cả nội dung sẽ hiện trên trang.
Inline tags
Inline tags thường được dùng để định dạng, tạo bố cục cho nội dung bên trong của
block-level tags.. Ví dụ như, tag <strong></strong> sẽ định dạng chữ in đậm, trong khi
đó tag <em></em> sẽ định dạng chữ in nghiên.
Hyperlinks cũng là yếu tố element mà cần tag <a></a> và attributes href để xác
định link cụ thể: <a href="https://topdev.vn/">Click me!</a>
Ảnh cũng là element inline. Chúng ta có thể thêm ảnh bằng cách sử dụng tag <img>
mà không cần tag đóng. Nhưng cũng cần sử dụng attribute src để xác định nguồn ảnh, ví
dụ như: <img src="/images/example.jpg" alt="Example image">
- Ưu điểm:
Có nhiều tài nguyên hỗ trợ với cộng đồng người dùng vô cùng lớn.
Có thể hoạt động mượt mà trên hầu hết mọi trình duyện hiện nay.
Các markup sử dụng trong HTML thường nắng gọn, có độ đồng nhất cao.
Sử dụng mã nguồn mở, hoàn toàn miễn phí.
HTML là chuẩn web được vận hành bởi W3C.
Dễ dàng tích hợp với các loại ngôn ngữ backend (ví dụ: PHP, Node.js, …).
- Nhược điểm
7
Chỉ được áp dụng chủ yếu cho web tĩnh. Nếu muốn tạo các tính năng động,
lập trình viên phải sử dụng thêm JavaScript hoặc ngôn ngữ backend của bên
thứ 3.
Mỗi trang HTML cần được tạo riêng biệt, ngay có khi nhiều yếu tố trùng lặp
như header, footer.
Khó để kiểm soát cách đọc và hiển thị file HTML của trình duyệt.
Một vài trình duyệt còn chậm cập nhập để hỗ trợ tính năng mới của HTML.
1.2.3 CSS
CSS là các tập tin định kiểu theo tầng (Cascading Style Sheets (CSS)) được dùng để
miêu tả cách trình bày các tài liệu viết bằng ngôn ngữ HTML và XHTML. Ngoài ra ngôn
ngữ định kiểu theo tầng cũng có thể dùng cho XML, SVG, XUL. Các đặc điểm kỹ thuật
của CSS được duy trì bởi World Wide Web Consortium(W3C). Thay vì đặt các thẻ quy
định kiểu dáng cho văn bản HTML ngay trong nội dung của nó, bạn nên sử dụng CSS.
Tác dụng của CSS: Hạn chế tối thiểu việc làm rối mã HTML của trang web bằng
các thẻ quy định kiểu dáng (chữ đậm, chữ in nghiêng, chữ có gạch chân, chữ màu), khiến
mã nguồn của trang web được gọn gàng hơn, tách nội dung của trang web và định dạng
hiển thị, dễ dàng cho việc cập nhật nội dung. Tạo ra các kiểu dáng có thể áp dụng cho
nhiều trang web, giúp tránh phải lặp lại việc định dạng cho các trang web giống nhau.
Có 3 cách để sử dụng CSS
"Inline CSS": Áp dụng trực tiếp trên một đối tượng nhất định bằng thuộc tính
style.
"Internal CSS": Đặt CSS ở đầu trang Web để áp dụng kiểu dáng cho toàn bộ
trang ấy, khi đó chỉ cần đặt đoạn CSS vào trong cặp thẻ <style> rồi đặt vào
trong phần header của Web (giữa <head> và </head>).
"External CSS": Đặt các thuộc tính CSS vào một tệp tin riêng biệt (*.css),
khi đó có thể tham chiếu đến từ nhiều trang Web khác nhau.
8
1.2.4 JavaScript
JavaScript là một ngôn ngữ lập trình kịch bản dựa trên đối tượng được phát triển từ
các ý niệm nguyên mẫu. Ngôn ngữ này được dùng rộng rãi cho các trang web, nhưng
cũng được dùng để tạo khả năng viết script sử dụng các đối tượng nằm sẵn trong các ứng
dụng. Nó vốn được phát triển bởi Brandan Eich tại Hãng truyền thông Netscape với cái
tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript, và cuối cùng thành JavaScript.
Giống Java, JavaScript có cú pháp tương tự C. Js là phần mở rộng thường được
dùng cho tập tin mã nguồn JavaScript.
JavaScript là một ngôn ngữ lập trình dựa trên nguyên mẫu với cú pháp phát triển từ
C. Giống như C, JavaScript có khái niệm từ khóa, do đó JavaScript gần như không thể
được mở rộng.
1.2.5 Boostrap
Bootstrap cho phép quá trình thiết kế website diễn ra nhanh chóng và dễ dàng hơn
dựa trên những thành tố cơ bản sẵn có như typhography, form, button, tables, grids,
navigation, image carousel…
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 để tạo
ra một mẫu website hoàn chỉnh. Với các thuộc tính về giao diện được quy định sẵn như
kích thước, màu sắc, độ cao, độ rộng, ... các designer có thể sáng tạo nhiều sản phẩm mới
mẻ nhưng vẫn tiết kiệm thời gian khi làm việc với framework này trong quá trình thiết kế
giao diện website.
- Các file chính trong bootstrap
Bootstrap.css
Bootstrap.css là một framework CSS sắp xếp và quản lý bố cục của trang web.
Trong khi HTML quản lý nội dung và cấu trúc của trang web, CSS xử lý bố cục của trang
web. Vì lý do đó, cả hai cấu trúc cần cùng tồn tại để thực hiện một hành động cụ thể.
Do các chức năng của nó, CSS cho phép chúng ta tạo giao diện thống nhất trên bao
nhiêu trang web tùy thích. Giờ thì ta có thể nói lời tạm biệt với việc phải ngồi hàng giờ để
chỉnh sửa thủ công chỉ để thay đổi độ rộng của đường viền.
Với CSS, tất cả những gì cần làm là giới thiệu các trang web đến file CSS. Bất kỳ
thay đổi cần thiết có thể được thực hiện trong file đó một mình.
Các hàm CSS không chỉ giới hạn ở các kiểu văn bản vì chúng có thể được sử dụng
để định dạng các khía cạnh khác của trang web như bảng và bố cục hình ảnh.
Bootstrap.js
File này là phần cốt lõi của Bootstrap. Nó bao gồm các file JavaScript chịu trách
nhiệm cho việc tương tác của trang web.
Để tiết kiệm thời gian khi viết cú pháp JavaScript nhiều lần, các nhà phát triển có xu
hướng sử dụng jQuery. Nó có một thư viện JavaScript đa nền tảng, mã nguồn mở phổ
biến cho phép thêm các chức năng khác nhau vào một trang web.
- Dưới đây là một vài ví dụ về những gì jQuery có thể làm
o Thực hiện các yêu cầu Ajax như loại trự dữ liệu từ một vị trí khác một cách
linh hoạt
o Tạo tiện ích bằng bộ sưu tập plugin JavaScript
o Tạo hình động tùy chỉnh bằng các thuộc tính CSS
o Thêm tính năng động cho nội dung trang web
9
o Mặc dù Bootstrap với các thuộc tính CSS và element HTML có thể hoạt
động tốt, nhưng nó cần jQuery để tạo ra thiết kế responsive. Nếu không, bạn
chỉ có thể sử dụng các phần tĩnh của CSS.
Glyphicons
Icons là một phần không thể thiếu của giao diện trang web. Chúng thường được liên
kết với các hành động và dữ liệu nhất định trong giao diện người dùng. Bootstrap sử
dụng Glyphicons để đáp ứng nhu cầu đó.
Bootstrap bao gồm một bộ Halflings Glyphicons đã được mở khóa để sử dụng miễn
phí. Phiên bản miễn phí có giao diện chuẩn nhưng phù hợp với các chức năng thiết yếu.
Nếu muốn tìm icon có phong cách hơn, Glyphicons cũng bán các bộ icon premium
khác nhau, chắc chắn sẽ trông đẹp hơn trên từng trang web cụ thể.
Jquery
Jquery là thư viện được viết từ JavaScript, jquery giúp xây dựng các chức năng
bằng Javarscript dễ dàng, nhanh và giàu tính năng hơn
Jquery được tích hợp nhiều module khác nhau. Từ module hiệu ứng cho đến
module truy vấn selector. Jquery được sử dụng dến 99% trên tổng số website trên thế
giới. Các module chính của jquery bao gồm:
o Ajax – xử lí Ajax
o Atributes – xử lí các thuộc tính của đối tượng HTML
o Effect – xử lí hiệu ứng
o Event – xử lí sự kiện
o Form – xử lí sự kiện liên qua đến form
o DOM – xử lí Data Object Model
o Selector – Xử lí luồng lách giữa các đối tượng HTML
1.2.6 Cơ sở dữ liệu
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được
các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là hệ
quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động
trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ
và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên
internet. Người dùng có thể tải về MySQL miễn phí từ trang chủ. MySQL có nhiều phiên
bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành
dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI
Irix, Solaris, SunOS,..
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ
sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
MySQL được sử dụng cho việc bổ trợ Node.js, PHP, Perl, và nhiều ngôn ngữ khác,
làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHP hay Perl, ...
1.3 Công cụ hỗ trợ
1.3.1 Android Studio
Android Studio là IDE chính thức được sử dụng trong phát triển ứng dụng Android
dựa trên IntelliJ IDEA. Chức năng chính của Android Studio là cung cấp các giao diện
giúp người dùng có thể tạo các ứng dụng và xử lý các công cụ file phức tạp sau hậu
trường. Ngôn ngữ lập trình được sử dụng trong Android Studio là Java và nó sẽ được cài
đặt sẵn trên thiết bị của bạn.
10
Khi sử dụng Android Studio thì bạn chỉ cần viết, chỉnh sửa và lưu trữ chúng trên
các dự án của mình và các file nằm trong dự án đó. Đồng thời, Android Studio còn cung
cấp quyền truy cập vào Android SDK.
Ngoài ra, bạn có thể xem Android Studio là đuôi cho code Java cho phép nó chạy
trơn tru trên các thiết bị Android rồi tận dụng được lợi thế của phần cứng gốc. Bạn chỉ
cần sử dụng ngôn ngữ lập trình Java để có thể viết chương trình, khi đó Android SDK sẽ
có nhiệm vụ kết nối các phần này lại với nhau.
Khi đó, Android Studio sẽ kích hoạt để thực hiện chạy code và thông qua trình giả
lập hoặc dựa vào bất kỳ phần cứng giúp kết nối với thiết bị. Sau đó, bạn có thể gỡ rối cho
chương trình của mình ngay khi nó chạy và nhận phản hồi giúp giải thích các sự cố,...
Cho đến hiện nay, Google đã và đang rất nỗ lực để giúp cho Android Studio sẽ trở
nên mạnh mẽ và hữu ích hơn. Khi bạn gõ code, nó sẽ giúp bạn cung cấp danh sách gợi ý
hoàn thành để giúp người dùng có thể hoàn thiện được dòng code đó. Đây là một trong
những chức năng rất hữu ích đề phòng cho trường hợp người dùng không nhớ chính xác
cú pháp giúp bạn tiết kiệm thời gian hiệu quả hơn.
1.3.2 Visual Studio Code
Là một trình biên tập lập trình code miễn phí dành cho Windows, Linux và macOS,
Visual Studio Code được phát triển bởi Microsoft. Nó được xem là một sự kết hợp hoàn
hảo giữa IDE và Code Editor.
Visual Studio Code hỗ trợ chức năng debug, đi kèm với Git, có syntax highlighting,
tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn. Nhờ tính năng tùy chỉnh,
Visual Studio Code cũng cho phép người dùng thay đổi theme, phím tắt, và các tùy chọn
khác.
- Tính năng ưu việc
Hỗ trợ đa nền tảng: Windows, Linux, Mac
Hỗ trợ đa ngôn ngữ: C/C++, C#, F#, Visual Basic, HTML, CSS, JavaScript,
JSON
Ít dung lượng
Tính năng mạnh mẽ
Intellisense chuyên nghiệp
Giao diện thân thiện
11
CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1 Mô tả bài toán
Với nhu cầu cần tìm kiếm gia sư hiện nay. Phần mềm được ra đời nhầm hỗ trợ hai
đối tượng khách hàng bao gồm: người cần thuê gia sư, người đăng kí để trở thành gia sư.
Sau khi đăng nhập vào hệ thống, người thuê gia sư có thể xem được thông tin của gia sư,
khi chọn được gia sư mong muốn, họ cần nhập thông tin (thời gian, thông tin liên lạc) lại
để. Về người đăng kí làm gia sư, họ cần nhập đầy đủ thông tin của mình và chờ admin
duyệt. Về phía admin, họ sẽ xem qua danh sách các gia sư đã đăng ký sau đó thực hiện
phê duyệt cho những gia sư đạt yêu cầu. Sau khi đã phê duyệt thì họ có quyền sửa xóa bất
kì gia sư nếu họ mong muốn. Ngoài ra họ còn tiếp nhận danh sách các khách hàng đã
thuê gia sư nói trên và thực hiện gửi thông tin của người thuê cho gia sư qua email của
họ.
2.2 Yêu cầu của bài toán
2.2.1 Yêu cầu chức năng
- Người đăng kí tìm gia sư
Đăng kí, đăng nhập tài khoản
Xem thông tin gia sư
Tìm kiếm gia sư
Đăng ký gia sư
- Người đăng kí làm gia sư
Đăng ký, đăng nhập tài khoản
Xem thông tin gia sư
Đăng ký làm gia sư
Tìm kiếm gia sư
- Admin
Đăng ký, Đăng nhập tài khoản
Quản lý thông tin gia sư
Tiếp nhận thông tin phụ huynh
Gửi mail cho gia sư
2.2.2 Yêu cầu phi chức năng
- Thân thiện với người dùng
- Tốc độ truy cập nhanh
- Bảo mật thông tin
12
2.3 Xác định các ca sử dụng
2.3.1 Biểu đồ ca sử dụng
13
Đặc tả ca sử dụng:
1. Chức năng đăng nhập:
Tác nhân sử dụng: Gia sư và phụ huynh
Gia sư và phụ huynh lần lượt nhập username và password để đăng nhập vào
tài khoản
Các bước thực hiện:
14
3. Chức năng thuê gia sư
Tác nhân sử dụng: Phụ huynh
Sau khi đăng nhập vào tài khoản, phụ huynh thực hiện nhập số hiệu của gia
sư mà mình muốn thuê và nhập một vài thông tin cá nhân cần thiết của
mình để tiện lợi cho việc liên lạc
Các bước thực hiện:
16
2.4 Biểu đồ lớp
17
2.5 Biểu đồ hoạt động
18
Hình 5 Biểu đồ hoạt động chức năng phê duyệt gia sư
19
Hình 6 Biểu đồ hoạt động chức năng sửa gia sư
20
Hình 7 Biểu đồ hoạt động chức năng xóa gia sư
21
Hình 8 Biều đồ hoạt động chức năng xem gia sư
22
Hình 9 Biều đồ hoạt động chức năng tìm kiếm
23
2.6 Biểu đồ trình tự
24
Hình 11 Biểu đồ trình tự chức năng đăng ký làm gia sư
25
Hình 12 Biểu đồ trình tự chức năng thuê gia sư
26
Hình 13 Biểu đồ trình tự chức năng thêm gia sư
27
Hình 14 Biểu đồ trình tự chức năng xem gia sư
28
Hình 15 Biểu đồ trình tự chức năng sửa gia sư
29
Hình 16 Biểu đồ trình tự chức năng xóa gia sư
30
2.7 Tạo cơ sở dữ liệu
Danh sách thuộc tính và phương thức
CSDL Gia Su
31
CHƯƠNG 3. XÂY DỰNG ÚNG DỤNG
3.1 Cấu trúc của ứng dụng
Gồm 2 phần:
- Giao diện người dùng (ứng dụng di động)
- Giao diện admin (website)
3.2 Phần giao diện người dùng
- Giao diện đăng nhập
32
- Giao diện đăng kí
33
- Giao diện chỉnh
34
- Giao diện tìm kiếm gia sư
35
- Giao diện trang hỗ trợ
36
- Giao diện đăng ký làm gia sư
37
- Giao diện đăng ký tìm gia sư
38
3.3 Phần giao diện Admin
- Giao diện trang quản lý gia sư
39
- Giao diện trang gửi email cho gia sư
Hình 29 Giao diện hiển thị ds những người đăng ký làm gia sư
40
3.4 Chức năng của người dùng
- Chức năng đăng kí tài khoản
Khi mới sử dụng ứng dụng bạn càn có tài khoản. Hệ thống sẽ báo lỗi nếu như bạn
nhập thiếu hoặc tài khoản và mật khẩu bị trùng. Còn nếu như đăng kí thành công sẽ
chuyển tới trạng đăng nhập
- Chức năng đăng nhập
41
Bạn cần nhập đúng tài khoản và mật khấu để có thể đăng nhập vào ứng dụng. Nếu
như nhập sai tài khoản hay mật khẩu thì sẽ thông báo và yêu cầu bạn nhập lại cho đúng.
Sau khi đăng nhập thành công thì sẽ được đưa vào giao diện chỉnh. Tại đây bạn có thể
chọn chắc chức năng khác nhau tùy thuộc vào nhu cầu của mình.
- Chức năng tìm kiếm gia sư
42
Bạn nhập thông tin tìm kiếm để tìm được gia sư theo mong muốn
43
- Chức năng đăng kí làm gia sư
Chức năng này danh cho nhưng người có nhu cầu làm gia sư sẽ nhập đầy đủ thông
tin tại đây. Tất cả thông tin sẽ được đưa về cho admin để chờ được phê duyệt
44
- Chức năng đăng kí tìm gia sư
Chức năng này dành cho những người có nhu cầu tìm gia sư sẽ nhập đầy đủ thông
tin tại đây. Tất cả thông tin sẽ được đưa về cho admin và admin sẽ gửi thông tin này cho
gia sư để gia sư liên lạc với người cần thuê
45
3.5 Chức năng của Admin
Ngay khi gia sư đăng ký thành công, giao diện “Xét duyệt gia sư” sẽ hiển thị
những danh sách gia sư đang cần được phê duyệt
Sau khi được phê duyệt thông tin, toàn bộ thông tin của gia sư sẽ được đăng tải lên
giao diện người dùng
46
Nếu có gia sư được chọn, danh sách phụ huynh đã đăng ký sẽ được hiển thị ở phần
“Quản lý gia sư”
Đây sẽ là thông tin để Admin có thể dễ dàng gửi mail đến các gia sư được phụ
huynh lựa chọn
47
KẾT LUẬN
48
49