Cũng xin gửi lời cảm ơn đến các chủ quán và toàn thể người dùng của ứng dụng vì đã cùng nhau tạo ra một cộng đồng chia sẽ địa điểm chất lượng.. 1.4 Đối tượng và phạm vi nghiên cứu - Đối
Trang 1KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC NGÀNH KỸ THUẬT PHẦN MỀM
Đề tài
XÂY DỰNG BẢN ĐỒ CHIA SẼ ĐỊA ĐIỂM GIẢI TRÍ TẠI THÀNH PHỐ CẦN THƠ TRÊN THIẾT BỊ DI ĐỘNG ANDRIOD
Sinh viên: Lê Trương Quốc Thắng
Mã số: 1111342 Khóa: K37
Cần Thơ, 8/5/2015
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
THƠ TRÊN THIẾT BỊ DI ĐỘNG ANDRIOD
Người hướng dẫn Sinh viên thực hiện PGS.TS Trần Cao Đệ Lê Trương Quốc Thắng
Mã số: 111342 Khóa: K37
Cần Thơ, 8/5/2015
Trang 3Trang 3
LỜI CẢM ƠN
Luận văn này cũng như bao luận văn khác, được hoàn thành một cách tốt đẹp nhờ
sự giúp đỡ của những người xung quanh Dù trực tiếp hay gián tiếp thì đều rất đáng
trân trọng
Xin gửi lời cảm ơn sâu sắc nhất đến trường Đại học Cần Thơ, khoa CNTT & TT
đã tạo ra một môi trường tốt nhất để em học tập Cảm ơn quý thầy cô trong khoa đã
dạy dỗ tận tâm cho tất cả sinh viên Đặc biệt cảm ơn thầy Trần Cao Đệ đã chấp nhận
hướng dẫn và nhiệt tình hỗ trợ em thực hiện đề tài này
Cũng xin gửi lời cảm ơn đến các chủ quán và toàn thể người dùng của ứng dụng
vì đã cùng nhau tạo ra một cộng đồng chia sẽ địa điểm chất lượng
Trân trọng!
Cần Thơ, tháng 5 năm 2015
Sinh viên thực hiện
Lê Trương Quốc Thắng
Trang 4Trang 4
MỤC LỤC
LỜI CẢM ƠN 3
DANH MỤC ĐỒ THỊ VÀ BIỂU BẢNG: 6
TÓM TẮT: 7
ABSTRACT: 8
CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN 9
1.1 Đặt vấn đề 9
1.2 Tóm tắt lịch sử giải quyết vấn đề 9
1.3 Mục tiêu đề tài 10
1.4 Đối tượng và phạm vi nghiên cứu 11
1.5 Nội dung nghiên cứu 11
1.6 Những đóng góp chính của đề tài 12
1.7 Bố cục quyển luận văn 12
CHƯƠNG 2 SƠ LƯỢC VỀ CÁC CÔNG NGHỆ SỬ DỤNG 14
2.1 Android 14
2.2 Google Maps Android API V2 15
2.3 Back-end as service (Baas) - Parse.com 16
2.4 Quản lý hình ảnh trên mây (Imgur.com) 17
2.5 Facebook Android SDK 18
CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM 19
3.1 Các yêu cầu chính về chức năng 19
3.1.1 Các chức năng chính 19
3.1.2 Phân tích đánh giá các giải pháp/ có liên quan đến bài toán 20
3.1.3 Tiếp cận giải quyết vấn đề, chọn lựa giải pháp 21
3.2 Thiết kế và cài đặt giải pháp 21
3.2.1 Thiết kế tổng thể hệ thống 21
3.2.2 Thiết kế theo chức năng 22
3.2.3 Thiết kế giao diện và giải thích chức năng 24
3.2.4 Thiết kế chi tiết 30
Trang 5Trang 5
3.2.5 Tối ưu ứng dụng 31
3.2.6 Các vấn đề và giải pháp quản trị dữ liệu 33
3.3 Kiểm thử và đánh giá 34
3.3.1 Mục tiêu kiểm thử 34
3.3.2 Kịch bản kiểm thử 34
3.3.3 Các trường hợp kiểm thử 34
3.3.4 Kết quả kiểm thử 36
3.3.5 Đánh giá 36
CHƯƠNG 4 KẾT LUẬN 37
3.1 Kêt quả đạt được 37
3.2 Hướng phát triển 37
TÀI LIỆU THAM KHẢO 39
PHỤ LỤC 40
Trang 6Trang 6
DANH MỤC ĐỒ THỊ VÀ BIỂU BẢNG:
Hình 1 Các mẫu điện thoại thông dụng tại Cần Thơ (khảo sát 500 máy) 15
Hình 2 Sơ đồ thiết kế tổng thể hệ thống 22
Hình 3 Sơ đồ Use Case 23
Hình 4 Sơ đồ lớp 30
Bảng 1 Kết quả kiểm thử 36
Trang 7Trang 7
TÓM TẮT:
Thành phố Cần Thơ nói riêng cũng như nước Việt Nam nói chung đang trên đà phát triển mạnh mẽ Cùng với đó, các địa điểm giải trí cũng được tạo ra và thay đổi theo từng ngày Với sự vận động nhanh chóng như vậy, việc tạo ra một công cụ để
hệ thống hóa và cập nhật nhanh chóng các địa điểm là điều hết sức cần thiết
Các hệ thống hiện tại như Google Maps, Foody, FourSquare … đều có nhược điểm là thông tin đến với người dùng chậm chậm và sự thay đổi thông tin còn chậm hơn Nhận thức được điều này, hệ thống mới phải được xây dựng trên xu hướng mở mạnh mẽ, giúp người dùng chia sẽ và đánh giá địa điểm với nhau
Ứng dụng sẽ gợi ý cho người dùng những địa điểm phù hợp với yêu cầu, người dùng chỉ việc lựa chọn một chỗ để đến và trải nghiệm
Trang 8Trang 8
ABSTRACT:
Can Tho city in particular and Vietnam in general is on track to grow strongly Along with that, the entertainment places are also created and changed day by day With this movement, creating a tool to systematize and update places quickly is essential
The current system, such as Google Maps, Foody, FourSquare are
disadvantages that information come to user slow and change more slowly Aware
of this, the new system must be built on strong tendency open, allowing users to share and review the places together
Applications will suggest to users a list of places matching their requirements, users simply choose a place to come and experience
Trang 9Chỉ riêng tại thành phố Cần Thơ, các địa điểm giải trí đang phát triển ngày càng nhanh và đa dạng Nhu cầu có một hệ thống để người dùng có thể chia sẽ, tim tìm kiếm địa điểm là hết sức cần thiết
1.2 Tóm tắt lịch sử giải quyết vấn đề
Để trả lời câu hỏi vừa nêu đã có rất nhiều phần mềm – giải pháp ra đời Có thể
kể những sản phẩm tiêu biểu như:
- Google Maps:
Ưu điểm: Kho dữ liệu khổng lồ với hơn 100 triệu địa điểm trên toàn thế giới Địa điểm và thông tin liên quan được kiểm duyệt chặt chẽ, cho phép người dùng tương tác Ứng dụng trên di động thể hiện xuất sắc
Nhược điểm: Quy trình xét duyệt chậm, không thích hợp với tình hình thuê mướn mặt bằng để bán quán ở TP Cần Thơ hiện nay Các trường thông tin về địa điểm còn ít, thiếu chi tiết Google Map chỉ trả lời câu hỏi “đi như thế nào?” (dẫn đường) chứ không thể trả lời câu hỏi “đi đâu?”
- Foody: Một công ty startup về mô hình đánh giá địa điểm ăn uống của Việt Nam
Ưu điểm: Thông tin địa điểm rất chi tiết, được kiểm duyệt, phân loại rõ ràng Kho dữ liệu hơn 30.000 địa điểm ở Việt Nam Có tính tương tác mạnh mẽ, chia sẽ thông tin dễ dàng
Nhược điểm: Hình ảnh về thực phẩm hơi ảo (quá đẹp), có lẽ chủ yếu do đội ngủ khảo sát của Foody hoặc chủ quán thực hiện nên không khách quan lắm Chức năng duyệt thông tin còn chậm, đánh giá về địa điểm mập mờ Ứng dụng trên di động khó sử dụng, cho cảm giác không thoải mái
- FourSquare:
Ưu điểm: Kho dữ liệu lớn trên toàn cầu, nhiều hình ảnh, thông tin chi tiết Tích hợp mạng xã hội sâu và hiệu quả
Trang 10Trang 10
Nhược điểm: Ứng dụng di dộng chưa tốt lắm Giao diện khó sử dụng, bố trí không gian không tốt Chưa hỗ trợ tiếng Việt, các địa điểm ở Việt Nam còn sơ khai
- Các nhóm chia sẽ về ăn uống trên Facebook: Cần Thơ măm măm 24h, Thích ăn uống,…
Ưu điểm: tính chia sẽ và tương tác cao, thông tin được cộng đồng chia sẽ và công nhận Địa điểm cập nhật từng ngày, từng giờ
Nhược điểm: Khi muốn tìm lại địa điểm nào đó sẽ rất khó khăn vì mỗi địa điểm đươc thể hiện như một trạng thái Facebok, sẽ chìm dần theo dòng thời gian
Ngoài ra gần đây tại TP Cần Thơ còn xuất hiện một trang web (http://www.bestofcantho.com/) chia sẽ những địa điểm trên địa bàn TP tuy nhiên dữ liệu còn quá ít ỏi
Một trong nhưng hạn chế rất lớn của những phần mềm nói trên hiện nay là thông tin không thay đổi (hoặc rất chậm) theo thời gian trong khi chất lượng của địa điểm thì thay đổi từng ngày
Đề tài này xác định người dùng chính là yếu tố trung tâm Người dùng cùng nhau chia sẽ, bình luận, đánh giá địa điểm Người dùng cũng là người cảm nhận nhanh nhất sự thay đổi của địa điểm Các thông tin từ một người xa lạ không liên quan đến địa điểm sẽ là những thông tin khách quan và nhận được sự tin tưởng từ cộng đồng nhất
Ứng dụng hoàn thành sẽ là một nơi lý tưởng để cộng đồng cùng nhau chia sẽ những địa điểm ưa thích của mình và biết thêm những địa điểm khác từ bạn bè khắp nơi
1.3 Mục tiêu đề tài
Xây dựng bản đồ chia sẽ địa điểm tại TP Cần Thơ
- Cung cấp thông tin chi tiết và khách quan nhất về địa điểm từ những người đã từng đến và trải nghiệm
- Chạy trên các thiết bị di dộng Android, người dùng có thể cầm trên tay mọi lúc mọi nơi, khắc phục nhược điểm phải dùng PC để truy cập các group Facebook, web để tra cứu thông tin
- Thông tin về sự thay đổi của địa điểm cập nhật nhanh chóng từ những người dùng khác, khắc phục nhược điểm thông tin đến từ chủ quán (một lần khi mở quán) nên cứng nhắc và không được cập nhật
Trang 11Trang 11
- Liên kết mạnh mẽ với Facebook để quảng quá, chia sẽ thông tin mạnh mẽ hơn
Mô hình mới để kết hợp những ưu điểm thông tin nhanh chóng của các nhóm Facebook và dữ liệu được tổ chức và sắp xếp khoa học của ứng dụng
- Tốc độ tải dữ liệu nhanh chóng, có thể sử dụng khi ngoại tuyến
- Xây dựng các tính năng nhỏ mà hữu ích như lấy thông tin từ trang fanpage trên Facebook, từ Google Map, chạm vào số điện thoại để gọi, chạm vào mật khẩu để
tự động tìm và kết nối WiFi, chạm vào địa chỉ để hiển thị trên bản đồ và dẫn đường
1.4 Đối tượng và phạm vi nghiên cứu
- Đối tượng:
Lập trình Android
API về bản đồ trên Android
Thói quen người dùng
- Pham vi:
Giải thuật để tối ưu các địa điểm trên bản đồ
Các kỹ thuật cải tiến hiệu năng của ứng dụng Android
Google Map Android API V2
Thói quen ăn uống/ đi chơi của người Cần Thơ
1.5 Nội dung nghiên cứu
- Tìm hiểu các sản phẩm tương tự hiện có để học hỏi Nhận ra những điểm yếu để cải tiến
- Khảo sát từ người quen/ bạn bè về những điều họ muốn biết về một địa điểm để tạo ra đối tượng Địa điểm (Place)
- Sử dụng Baas (Back-end as service) để đơn giản hóa việc cài đặt Back-end, chủ yếu tập trung vào trải nghiệm người dùng Ở đây sử dụng 2 dịch vụ là Parse (Parse.com) cho việc lưu trữ đối tượng và Imgur (Imgur.com) để tối ưu tốc độ và băng thông cho việc lưu trữ ảnh
- Tiếp tục học về lập trình di dộng nói chung và trên Android nói riêng
- Tìm hiểu và sử dụng Google Map API V2 Android cho ứng dụng
- Tìm hiểu và sử dụng Facebook Android SDK cho việc đăng nhập và chia sẽ thông tin
- Tìm hiểu và áp dụng kỹ thuật làm mờ ảnh theo thời gian thực (Gaussian blur) vào ứng dụng
- Sử dụng Android Studio làm công cụ lập trình chủ yếu
- Tiếp tục tìm hiểu các khái niệm, nguyên tắc cơ bản về thiết kế giao diện
Trang 12Trang 12
- Sử dụng Photoshop cho việc thiết kế và xử lý cac hình ảnh, icon, marker,…
- Sử dụng CloudCode (Code chạy trên Back-end) để tối ưu một số chức năng
- Tối ưu hiệu năng của các danh sách địa điểm, bản tin…
1.6 Những đóng góp chính của đề tài
- Về lý thuyết:
Hiểu sâu và áp dụng hợp lý các kỹ thuật lập trình hướng đối tượng với Java
Hiểu về lập trình di dộng nói chung cũng như lập trình với Android nói riêng,
có thể áp dụng tạo ra một phần mềm tốt
Biết cách sử dụng Baas, Facebook SDK
Sử dụng thành thạo Android Studio
Biết cách cải thiện hiệu năng cho một ứng dụng
Có thể thiết kế giao diện và thành phần giao diện đơn giản, hiệu quả
- Về sản phẩm
Có thể đưa ra những câu trả lời hợp lý cho câu câu hỏi “đi đâu?” tại Cần Thơ
Có thể gợi ý những địa điểm đang được nhiều người quan tâm, nhiều người đánh giá cao
Có thể dẫn đường ngay khi người dùng cần đi tới một địa điểm trên bản đồ
Hiển thị các địa điểm được tạo trên một dòng thời gian để người dùng có thể lướt qua mà không cần xem chi tiết
Luôn có những địa điểm mới lạ dành cho người thích khám phá
Tốc độ nhanh, ổn định Có thể sử dụng khi ngoại tuyến một cách bình thường
1.7 Bố cục quyển luận văn
Trang 13Trang 13
Chương 2 – Thiết kế và cài đặt giải pháp
Chương 3 – Kiểm thử và đánh giá
Trang 14Trang 14
CHƯƠNG 2 SƠ LƯỢC VỀ CÁC CÔNG NGHỆ SỬ DỤNG
2.1 Android
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các
thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính
từ Google và sau này được chính Google mua lại vào năm 2005 Android ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động Chiếc điện thoại đầu tiên chạy Android được bán vào tháng 10 năm 2008
Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phép Apache Nhờ điểm này mà nó nhanh chóng trở thành hệ điều hành có số lượng người dùng số 1 thế giới sau một thời gian ngắn ra mắt Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thời điểm quý 3 năm 2012
Tất cả những điều đó là lý do hợp lý nhất để chọn nền tảng Android Tại Cần Thơ
số lượng người dùng Android cũng vô cùng đông đảo, đa phần là các điện thoại Zenphone 5, Zenphone 4, các máy dòng Galaxy,
Trang 15Trang 15
Hình 1 Các mẫu điện thoại thông dụng tại Cần Thơ (khảo sát 500 máy)
2.2 Google Maps Android API V2
Google Maps hayBản đồ Google(thời gian trước còn gọi làGoogle Local) là
một dịch vụ ứng dụng và công nghệ bản đồ trực tuyến trên web miễn phí được cung cấp bởi Google và hỗ trợ nhiều dịch vụ dựa vào bản đồ như Google Ride Finder và một số có thể dùng để nhúng vào các trang web của bên thứ ba thông qua Google Maps API Nó cho phép thấy bản đồ đường sá, đường đi cho xe đạp, cho người đi bộ
và xe hơi, và những địa điểm kinh doanh trong khu vực cũng như khắp nơi trên thế giới
Google cũng phát hành riêng bộ Google Maps Android API V2 cho lập trình viên Với bộ API này, các lập trình viên có thể hiển thị bản đồ hoàn toàn tương tự như ứng dụng Google Maps trên Android cũng như bản đồ trên Web Một tính năng quan trọng được sử dụng trong ứng dụng là thêm các đối tượng đánh dấu (Marker) vào bản đồ Mỗi Marker tượng trưng cho một địa điểm với các thông tin như tên, tọa
độ, địa chỉ,…
- Các tính năng Google Maps Android API V2 hỗ trợ:
3D Rendering – Vẽ bản đồ 3D
Draw on the Map – Thêm các Marker đại diện cho địa điểm vào bản đồ
Gesture Control – Hỗ trợ các thao tác cử chỉ như zoom, vuốt,… để thay đổi cách hiển thị bản đồ
Vector Tiles – Tải bản đồ bằng các vector, giảm thời gian và băng thông
Trang 16Trang 16
Location Services – Dịch vụ mới ra mắt trong Google Play Service 7, có thể lấy các thông tin cơ bản của địa điểm từ bản đồ
- Sử dụng các tính năng sử dụng trong đề tài:
3D Rendering: Dùng trong tính năng chỉ đường Vẽ bản bản đồ ở dạng 3D để người dùng dễ dàng nhận biết địa điểm và tên đường
Draw on the Map: Dùng trong tính năng hiển thị địa điểm trên bản đồ
Gesture Control: Dùng để tối ưu hóa việc hiển thị địa điểm trên bản đồ, khi người dùng hiển thị bản đồ ở đâu thì chỉ việc tải địa điểm ở lân cận đó
Vector Tiles – Giúp việc tải bản đồ nhanh và tốn ít băng thông
Location Services – Dùng trong tính năng chọn địa điểm từ bản đồ, sau khi người dùng chọn địa điểm, ứng dụng sẽ lấy các thông tin cơ bản của địa điểm
về và điền vào form tạo địa điểm
- Để sử dụng được Google Maps Android API V2 thì lập trình viên phải trải qua nhiều bước:
Cài đặt Android SDK
Tải và cầu hình Google Play services SDK (chứa Google Maps Android API)
Nhận API Key Để làm điều này, lập trình viên phải đăng ký project trong Google Developers Console sau đó nhận signing certificate (tạm gọi là chứng nhận đăng ký)
Thêm các thông tin vào manifest trong ứng dụng
Thêm bản đồ vào ứng dụng
Phát hành ứng dụng
2.3 Back-end as service (Baas) - Parse.com
Cung cấp một giải pháp back-end hoàn chỉnh và tuyệt vời cho rất nhiều nền tảng như Android, iOS, JavaScript, OSX, Unity, PHP, Xamarin, Arduino, Với Parse lập trình viên có thể tập trung vào việc tao những trải nghiệm người dùng ở Front-end
mà không phải lo lắng những gì diễn ra ở phía sau
Có thể giúp xây dựng ứng dụng với đầy đủ tính năng, mạnh mẽ Parse sẽ xử lý phần Back-end, lập trình viên chỉ cần chú trọng vào trải nghiệm người dùng
Các đặc điểm nổi bật:
- Tạo ứng dụng đẹp Không cần bảo dưỡng máy chủ và sử dụng cơ sở hạ tầng phức tạp
- Có một chương trình phụ trợ để kiểm soát tất cả các ứng dụng SDK
- Khả năng quản lý người dùng hữu hiệu dành cho ứng dụng Kết nối người dùng thông qua các quy trình đăng nhập truyền thống hoặc mạng xã hội của bên thứ ba chỉ bằng vài dòng mã
Trang 17Trang 17
Sơ lược về cách sử dụng: Parse nói riêng cũng như hầu hết các API khác nói chung khi muốn sử dụng thì đều thông qua một quy trình như sau:
- Đăng ký tài khoản tại nhà cung cấp API
- Đăng ký ứng dụng với nhà cung cấp
- Nhận API key để sử dụng
- Tiến hành cài đặt các thư viện cần thiết
Trong đề tài này, việc lưu trữ và xử lý dữ liệu về đối tượng hoàn toàn thực hiện với Parse Việc tương tác cũng hoàn toàn tương tự các thao tác với cơ sở dữ liệu thông thường Có thể lấy một ví dụ cơ bản nhất như sau:
- Để sử dụng Parse, đầu tiên ta gọi hàm khởi tạo của thư viện như sau: Parse.initialize(this,
2.4 Quản lý hình ảnh trên mây (Imgur.com)
Imgur là back-end lưu trữ và quản lý ảnh cho ứng dụng Web và Mobile Một giải pháp end-to-end cho tất cả hình ảnh
Các tính năng chính:
- Tải ảnh lên (Image Upload): Lưu ảnh hoặc tập tin bất kỳ với bất kỳ tỉ lệ nào
và từ bất kỳ nguồn nào Điểm nổi trội của Cloudinary là tốc độ tải rất nhanh
- Lưu trữ trên mây (Cloud Storage): Lưu trữ ảnh một cách riêng tư và an toàn với chế độ backup thường xuyên
- Chuyển đổi hình ảnh (Image Manipulation): Tự động sinh các thumbnail cho ảnh (tính năng rất hữu ích)
Về cách đăng ký ứng dụng thì tương tự như Parse Về cách sử dụng thì do Imgur chưa có thư viện riêng cho Android (chưa có thư viện riêng cho bất cứ ngôn ngữ nào) nên chúng ta phải tự viết lấy
Trang 18Trang 18
Ý tưởng thực hiện như sau:
- Đầu tiên ta tạo lớp Photo để lưu trữ thông tin của một ảnh
- Tiếp theo ta tạo lớp Upload, ImageResponse, ImgurAPI cho việc upload và nhận kết quả trả về
- Tiếp theo ta tạo một lớp tác vụ để thực hiện việc upload ảnh dưới nền Việc này có thể dễ dàng thực hiện bằng cách thừa kế lớp Asynctask có sẵn trong Android API Lớp này sẽ thực hiện việc upload ảnh lên và nhận kết quả trả
Facebook có cung cấp tính năng tìm kiếm địa điểm lân cận Chỉ cần tuyền vào tọa độ của người dùng, Facebook sẽ trả về một danh sách các địa điểm lân cận cùng với các thông tin cơ bản như tên, địa chỉ, địa chỉ Facebook,…
Nhìn chung người dùng thì lười biếng, thường có xu hướng sử dụng hơn là tạo
ra Hiểu được điều này nên đề tài này được phát triển theo cách giảm nhẹ nhất những thao tác người dùng phải làm để tạo ra thứ gì đó Việc tạo địa điểm là một tính năng cốt lõi của ứng dụng, vậy nên để thuận tiện nhất cho người dùng thì địa điểm và các thông tin cơ bản sẽ được lấy từ Facebook Đây là một tính năng quan trọng và được
sử dụng nhiều trong ứng dụng
Trang 19Trang 19
CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM
3.1 Các yêu cầu chính về chức năng
3.1.1 Các chức năng chính
- Hiển thị địa điểm trên bản đồ:
Hiển thị mỗi địa điểm bằng một đối tượng đánh dấu (Marker) tương ứng với vị trí (kinh độ và vĩ độ) của địa điểm đó Đối với các chủ bán hàng online thì không hiển thị
Marker được thiết kế sẵn phù hợp với loại địa điểm để người dùng dễ dàng nhận ra và tìm được loại địa điểm muốn tìm
Khi bấm chọn vào 1 marker thì sẽ phóng to marker đó lên (phản hồi cho người dùng) đồng thời hiển thị các thông tin cơ bản về địa điểm đó
Trên ô thông tin có nút dẫn đường, khi người dùng bấm vào sẽ bật tính năng dẫn đường
Khi người dùng bấm vào vị trí bất kì trên ô thông tin sẽ dẫn vào màn hình thông tin chi tiết
- Tìm kiếm địa điểm theo tên, thể loại, khoảng cách,
Theo tên: người dùng nhập tên địa điểm hoặc mô tả lên ô tìm kiếm, các địa điểm thỏa mãn sẽ được liệt kê
Theo thể loại: người dùng chọn một biểu tượng tượng trưng cho loại địa điểm, tất cả các địa điểm thuộc thể loại đó sẽ được liệt kê
Tất cả các liệt kê theo thứ tự từ gần đến xa
- Xem các địa điểm theo dòng thời gian: Các địa điểm tạo ra sẽ được xếp trên một dòng thời gian Bao gồm hình ảnh đại diện và các thông tin cơ bản khác Tại đây người dùng có thể cuộn xem đến khi nào chán thì thôi (Infinitive scrolling)
- Xem thông tin chi tiết về địa điểm qua mô tả, hình ảnh, bình luận
Màn hình mô tả chi tiết cho phép người dùng xem đầy đủ thông tin mong muốn về địa điểm như: Địa chỉ (bằng chữ và hình ảnh vị trí trên bản đồ), giá cả (giá thấp nhất và cao nhất của quán), thời gian mở cửa và đóng cửa,
mô tả quán, các thông tin chi tiết nhỏ nhặt như mật khẩu WiFi, số diện thoại, trang Facebook…
Trang 20- Tạo và chỉnh sửa địa điểm:
Người dùng đã đăng nhập sẽ có quyền tạo địa điểm
Màn hình tạo địa điểm thể hiện đẩy đủ các trường thông tin như đã nêu
Các thông tin phức tạp như địa chỉ, link Facebook sẽ được chọn ra từ các Picker (người dùng bấm vào rồi chọn từ một danh sách gợi ý)
- Đăng nhập bằng Facebook, sau khi đăng nhập bạn có toàn quyền để tạo mới, xóa, sửa các địa điểm của riêng mình Hãy thể hiện mình là 1 người sành điệu và chia
sẽ các địa điểm sành điệu với bạn bè
- Đăng nhập và đăng ký thông thường: Nếu không có hoặc không muốn sử dụng Facebook để đăng nhập, người dùng có thể chọn tạo tài khoản và đăng nhập như thông thường
- Quên mật khẩu: Khi người dùng quên mật khẩu có thể yêu cầu một email với link
để reset mật khẩu
3.1.2 Phân tích đánh giá các giải pháp/ có liên quan đến bài toán
- Giải pháp lấy thông tin địa điểm từ chủ quán: Các chủ quán sẽ tạo tài khoản sau
đó đăng bài về quán của mình lên
Ưu điểm: Thông tin chi tiết và đầy đủ, có thể phản hồi khách hàng (bằng cách comment) khi cần thiết
Nhược điểm: Thông tin không được khách quan
- Giải pháp lấy thông tin từ người dùng: Mỗi người dùng có một tài khoản Khi ghé thăm quán mà mình ưa thích, người dùng sẽ đăng tải chia sẽ thông tin về địa điểm đó
Ưu điểm: Thông tin khách quan (rất quan trọng)
Nhược điểm: Người dùng bình thường có xu hướng muốn sử dụng những cái có sẵn hơn là tự mình tạo ra Thường ngại khi ăn gì cũng phải vừa ăn vừa phải chụp hình Người dùng sẽ thích ứng dụng có đầy đủ tất cả địa