Nhóm chúng em đã được thực hành khả năng hiểu và vận dụng các kiến thức về lập trình mạng cũng như cách giải quyết một bài toán.. Để hoàn thành được bài tập lớn này, xin được gửi lời cảm
Trang 1TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI THÀNH PHỐ HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
-
-BÁO CÁO BÀI TẬP LỚN HỌC PHẦN
LẬP TRÌNH MẠNG
ĐỀ TÀI: LẬP TRÌNH ỨNG DỤNG TRACKING GPS
Sinh viên thực hiện:
Nguyễn Thị Như Phượng MSSV: 1951120126
Mã học phần: 0101123013
Giảng viên hướng dẫn: Bùi Dương Thế
TP.Hồ Chí Minh-2021
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 1
NỘI DUNG 2
I Giới thiệu đề tài 2
1 Giới thiệu 2
2 Giới hạn 2
3 Mục tiêu 2
II Cơ sở lý thuyết 3
1 Node.js 3
2 Thư viện Jquery 3
3 Thư viện Leaflet 3
4 Socket.IO 4
III Kết quả 5
1 Kết quả đạt được 5
2 Kết quả chưa đạt được 6
IV Tổng kết 7
1 Hướng phát triển 7
2 Kinh nghiệm tích lũy 7
KẾT LUẬN 8
TÀI LIỆU THAM KHẢO 9
Trang 4LỜI MỞ ĐẦU
Thời đại ngày nay, Công nghệ thông tin chiếm lĩnh một vị trí hàng đầu trong hệ thống khoa học kĩ thuật, đồng thời nó còn đóng góp tích cực cho mọi sự thành công của mọi lĩnh vực khác trong đời sống xã hội
Qua quá trình tiếp nhận, lĩnh hội, tìm hiểu và nghiên cứu nhóm chúng em quyết định thực hiện đề tài “Lập trình ứng dụng Tracking GPS” Đây là một bài toán khá hấp dẫ, phù hợp với xu thế hiện nay và mang tính thực tế cao
Nhóm chúng em đã được thực hành khả năng hiểu và vận dụng các kiến thức về lập trình mạng cũng như cách giải quyết một bài toán
Nội dung bài báo cáo được chia làm 4 phần:
I Giới thiệu đề tài II Cơ sở lý thuyết
III Kết quả
IV Tổng kết
Để hoàn thành được bài tập lớn này, xin được gửi lời cảm ơn chân thành đến người hướng dẫn bộ môn thầy Bùi Dương Thế - Giảng viên phụ trách bộ môn Lập trình mạng đã hết lòng hướng dẫn, chỉ dạy tận tình để nhóm em hoàn thành được đề tài này
Trong một thời gian ngắn, để giải quyết một bài toán nên chúng em không thể tránh khỏi được những hạn chế và sai sót Rất mong sự góp ý quý báu của Thầy và các bạn để đề tài được hoàn thiện và đáp ứng nhu cầu thực tế hơn
Xin chân thành cảm ơn !
Trang 52
Trang 6NỘI DUNG
I Giới thiệu đề tài
Chúng em thực hiện đề tài “Lập trình ứng dụng Tracking GPS” nhằm hỗ trợ các bên ở những địa điểm khác nhau kết nối được với nhau và chia sẻ vị trí cho nhau một cách dễ dàng hơn, tránh được những sai sót đáng kể
- Chưa thể lưu được những dữ liệu liên quan tới lộ trình của người dùng cũng như là thông tin của họ
- Khi người dùng sử dụng laptop để lấy vị trí thì kết quả trả về không có độ chính xác cao
- Sử dụng định vị trên các thiết bị thu GPS để xác định vị trí của người dùng
và hiển thị một cách chính xác
- Khi người dùng cho phép trang web lấy vị trí thì người dùng có thể biết được vị trí hiện tại của những người dùng khác đang ở bên trong trang web
Trang 7II Cơ sở lý thuyết
1 Node.js
Node.js là một nền tảng được xây dựng trên “V8 Javascript engine” được viết bằng c++ và Javascript Nền tảng này được phát triển bởi Ryan Lienhart Dahl vào năm 2009
2 Thư viện Jquery
jQuery là một thư viện của Javascript, ra đời nhằm giúp lập trình viên xây dựng những chức năng có sử dụng Javascript trở nên dễ dàng hơn
Các module chính của jQuery bao gồm:
Ajax - Giúp xử lý Ajax tiện lợi hơn
Atributes - Xử lý các thuộc tính của DOM object
Effect - Xử lý các hiệu ứng giữa HTML và CSS
Event - Xử lý các sự kiện như click, hover
Form - Xử lý sự kiện liên quan tới form như submit form DOM - Truy vấn DOM trong jQuery dễ dàng hơn rất nhiều
Selector - Dùng để truy vấn đến các thẻ HTML thông qua cú pháp selector của CSS
3 Thư viện Leaflet
Leaflet là thư viện JavaScript mã nguồn mở hàng đầu dành cho các bản
đồ tương tác thân thiện với thiết bị di động
Nó hoạt động hiệu quả trên tất cả các nền tảng máy tính để bàn và di động chính, có thể được mở rộng với nhiều plugin, có API đẹp, dễ sử dụng và được ghi chép đầy đủ cũng như mã nguồn đơn giản, dễ đọc
<linkdrel="stylesheet"href="https://unpkg.com/leaflet@1.7.1/dist/leaflet
.css"integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCm blAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A=="crossorigin=""/>
4
Trang 84 Socket.IO
Truyền dữ liệu: các lệnh emit trong Socket.IO
Client gửi cho sever 1 dữ liệu custom và ngược lại
Cú pháp: socket.emit('message', { type: type,
message: message});
Gửi cho tất cả client ngoại trừ người gửi
Cú pháp: socket.broadcast.emit('new msg', {msg: 'msg here!'})
Lắng nghe dữ liệu: Câu lệnh socket.on()
Trang 9III Kết quả
1. Kết quả đạt được
- Sau khi submit username thì trang web sẽ hiển thị thông tin kinh độ, vĩ
độ của người dùng
- Có thể theo dõi được lịch trình di chuyển của nhau nếu cho phép trang web theo dõi vị trí
6
Trang 102 Kết quả chưa đạt được
- Chưa có hướng dẫn chỉ đường cho người dùng
- Chưa thể lưu lại lịch sử di chuyển của người dùng về cho server
Trang 11IV Tổng kết
1 Hướng phát triển
Trong tương lai, nhóm có ý định thêm các tính năng như:
- Giao diện bắt mắt, dễ sử dụng hơn
- Chỉ đường cho người dùng
- Xem được lịch sử di chuyển của người dùng
2 Kinh nghiệm tích lũy
- Sau một thời gian làm việc nhóm với nhau, tụi em được học hỏi lẫn nhau cũng như có tinh thần đoàn kết hơn từ đó khiến cho bài tập nhóm trở nên tốt hơn
- Được học thêm về các vấn đề như Geolocation API, các thư viện cũng như các ngôn ngữ lập trình mới
8
Trang 12KẾT LUẬN
Bài báo cáo bộ môn Lập trình mạng với đề tài “Lập trình ứng dụng Tracking GPS ” đã giúp chúng em nắm vững những kiến thức đã học, nâng cao khả năng
tư duy logic và khả năng giải quyết các thuật toán.
Bài tập lớn lần này không chỉ giúp chúng em nâng cao kiến thức mà còn giúp chúng em cải thiện khả năng làm việc nhóm, tinh thần đoàn kết và hỗ trợ nhau.
Chúng em đã cố gắng thực hiện tốt nhất về nội dung và tham khảo các tài liệu đáng tin cậy để hoàn thành bài báo cáo này.
Bài báo cáo đã đạt được một số mục tiêu và kết quả nhất định Tuy nhiên, bài báo cáo vẫn có thể sẽ có những khuyết điểm nhất định Chúng em mong giảng viên và các bạn có thể góp ý để bài báo cáo của chúng em được hoàn thiện hơn.
Chúng em một lần nữa xin chân thành cảm ơn đến người hướng dẫn đề tài thầy Bùi Dương Thế - Giảng viên phụ trách bộ môn Lập trình mạng đã hướng dẫn, chỉ dạy tận tình để nhóm chúng em có thể hoàn thành được đề tài này Chúng em xin chân thành cảm ơn!
Trang 13TÀI LIỆU THAM KHẢO
1. https://sethphat.com/sp-848/su-dung-openstreetmap-api-cho-website-cua-ban-leafletjs
2. https://leafletjs.com/
3. https://developers.google.com/maps/documentation/geolocation/overview
4. https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API
5. https://www.openstreetmap.org/#map=16/10.7989/106.6813
10