Hệ thống cung cấp dịch vụ tìm kiếm nhóm thợ theo khu vực trên nền tảng di động

39 43 0
Hệ thống cung cấp dịch vụ tìm kiếm nhóm thợ theo khu vực trên nền tảng di động

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ THÔNG TIN  -             BÁO CÁO NGHIÊN CỨU KHOA HỌC ĐỀ TÀI: HỆ THỐNG CUNG CẤP DỊCH VỤ TÌM KIẾM NHĨM THỢ THEO KHU VỰC TRÊN NỀN TẢNG DI ĐỘNG NGUYỄN PHƯƠNG BIÊN HÒA, THÁNG 10/2018 TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO NGHIÊN CỨU KHOA HỌC     ĐỀ TÀI:   HỆ THỐNG CUNG CẤP DỊCH VỤ TÌM  KIẾM NHĨM THỢ THEO KHU VỰC TRÊN NỀN TẢNG DI ĐỘNG      Sinh viên thực hiện: NGUYỄN PHƯƠNG Giáo viên hướng dẫn: ThS NGUYỄN MINH PHÚC BIÊN HÒA, THÁNG 10/2018 I LỜI CẢM ƠN Em xin chân thành cám ơn tất giảng viên trường Đại Học Lạc Hồng, thầy cô khoa Công Nghệ Thông Tin giảng dạy hướng dẫn chúng em suốt thời gian chúng em theo học trường Em xin gửi lời cảm ơn đến Th.S Nguyễn Minh Phúc, giáo viên trực tiếp hướng dẫn tận tình để em hoàn thành đề tài nghiên cứu khoa học Ngoài em xin cám ơn thầy Tạ Nguyễn, giáo viên chủ nhiệm lớp 14SE111 bạn lớp tồn thể gia đình người thân giúp đỡ, động viên chúng em trình thực đề tài Em xin cám ơn thầy, khoa Cơng Nghệ Thơng Tin có ý kiến đóng góp buổi báo cáo tiến độ Với vốn kiến thức hạn chế điều kiện khách quan không cho phép, đề tài em khó tránh khỏi thiếu sót chưa đáp ứng đầy đủ yêu cầu Do em hy vọng tiếp tục nhận ý kiến đóng góp hướng dẫn q thầy để đề tài em hoàn thiện Sau cùng, em xin kính chúc q thầy Khoa Cơng Nghệ Thông Tin thật dồi sức khỏe để tiếp tục sứ mệnh cao đẹp truyền đạt tri thức quý báu cho hệ mai sau Em xin chân thành cảm ơn Biên Hòa, tháng 10 năm 2018 Sinh viên thực Nguyễn Phương II MỤC LỤC LỜI CẢM ƠN I MỤC LỤC II DANH MỤC BẢNG V DANH MỤC HÌNH V PHẦN MỞ ĐẦU 1 Lý chọn đề tài Tình hình nghiên cứu 2.1 Ngoài nước .1 2.2 Trong nước .1 Mục tiêu nghiên cứu Phương pháp nghiên cứu Những vấn đề mà đề tài chưa thực Kết cấu đề tài Chương : Tổng quan lý thuyết 1.1 Sơ đồ liên quan thành phần sử dụng hệ thống 1.2 Giới thiệu xamarin 1.2.1 Xamarin gì? 1.2.1.1 Đặc điểm 1.2.1.2 Tính 1.3 Giới thiệu Node.JS framework Express 1.3.1 Node.js gì? 1.3.2 Giới thiệu framework Express 1.4 Giới thiệu NPM 1.5 RESTful Api gì? 1.6 Giới thiệu số module thư viện sử dụng đề tài 1.6.1 Thư viện Socket.io 1.6.2 JSON Web Token 1.6.3 Module Body-parser 1.6.4 Module MD5 1.6.5 Module Nodemailer 1.6.6 Module Mysql 1.6.7 Module Multer fs 1.6.8 Module Dotenv 1.7 Tiểu kết Chương : Phân tích thiết kế hệ thống 10 2.1 Khảo sát trạng 10 III 2.1.1 Tình trạng tìm kiếm thợ trước 10 2.1.2 Hệ thống đời với yêu cầu 10 2.2 Sơ đồ hệ thống 10 2.2.1 Mơ hình tổng qt 10 2.2.2 Mơ hình use case thợ 11 2.2.2.1 Đổi mật 11 2.2.2.2 Xem trang cá nhân 11 2.2.2.3 Cập nhật thông tin cá nhân 12 2.2.2.4 Đăng hồ sơ 12 2.2.2.5 Xem tin nhắn gửi 13 2.2.2.6 Gửi tin nhắn 13 2.2.3 Mơ hình use case khách 14 2.2.3.1 Tìm kiếm theo danh mục 14 2.2.3.2 Tìm kiếm theo khu vực 14 2.3 Mơ hình sở liệu 15 2.3.1 Sơ đồ sở liệu 15 2.3.2 Chức bảng thuộc tính 15 Chương : Xây dựng hệ thống hỗ trợ tìm kiếm nhóm thợ theo khu vực tảng di động 18 3.1 Server API hệ thống hỗ trợ tìm kiếm nhóm thợ theo khu vực 18 3.1.1 Giới thiệu chung Web Server API hệ thống hỗ trợ tìm kiếm nhóm thợ 18 3.1.1.1 Giới thiệu 18 3.1.1.2 Phân quyền người dùng 18 3.1.2 Cài đặt mơi trường lập trình số module cần thiết 18 3.1.2.1 Môi trường Node.js NPM 18 3.1.2.2 Cài Module cần thiết sử dụng phần mềm NPM 18 Cách sử dụng NPM 18 Cài đặt Module cần thiết 19 3.1.3 Kết nối truy vấn liệu Node.js MySql 19 3.1.3.1 Kết nối với database Mysql 19 3.1.3.2 Truy vấn liệu 20 3.1.4 Chức số router có API 21 3.2 Xây dựng Server Websocket sử dụng thư viện socket.io để làm ứng dụng nhắn tin thời gian thực 23 3.2.1 Giới thiệu chung Server Websocket 23 3.2.2 Cài đặt số module cần thiết 23 IV 3.2.3 Chức kiện Socket.io 23 3.3 Xây dựng ứng dụng xamarin 25 3.3.1 Cài đặt Xamarin 25 3.3.2 Lập trình Xamarin 25 3.3.2.1 Xaml mô hình MVVM 25 3.3.2.2 Thêm NuGet hỗ trợ 26 3.3.2.3 Xây dựng trang ứng dụng 26 KẾT LUẬN 31 TÀI LIỆU THAM KHẢO 32 V DANH MỤC BẢNG Bảng 2-1: Chức bảng database 15 Bảng 3.1 Tên số chức API 21 DANH MỤC HÌNH Hình 1-1: Sơ đồ liên quan thành phần Hình 1-2: Tổng quan Xamarin Hình 1-3: Mơ hình xử lý request Node.js Hình 1-4: Mơ hình Framework Express Hình 1-5: Mơ hình giao tiếp Client Server Hình 1-6: Cấu trúc chuỗi JSON Web Token Hình 2-1: Use case tổng quát 10 Hình 2-2: Use case thợ .11 Hình 2-3: Use case khách 14 Hình 2-4: Mơ hình sở liệu hệ thống hỗ trợ tìm thợ 15 Hình 3-1: Màn hình console hiển thị thông tin phiên Node.js NPM 18 Hình 3-2: Màn hình console gõ lệnh npm init 19 Hình 3-3: Thư mục node_modules chứa module cài đặt câu lệnh npm install 19 Hình 3-4: Server trả liệu dạng JSON tài khoản 100000001 21 Hình 3-5: Cài đặt xamarin 25 Hình 3-6: Mơ hình MVVM(Model – View – ViewModel) 25 Hình 3-7: Thêm gói NuGet hỗ trợ 26 Hình 3-8: Quy trình đăng ký, cập nhập thông tin, hồ sơ thợ 26 Hình 3-9: Trang đăng ký tài khoản 27 Hình 3-10: Trang đăng nhập 27 Hình 3-12: Trang quản lí hồ sơ công việc tạo công việc .28 Hình 3-11: Trang thơng tin cá nhân 28 Hình 3-13: Quy trình đăng ký, cập nhập thơng tin tìm kiếm thợ khách 29 Hình 3-14: Trang đồ nơi khách tìm kiếm thợ 29 Hình 3-15: Trang tìm kiếm, hiển thị thơng tin thợ sau tìm kiếm 30 PHẦN MỞ ĐẦU Lý chọn đề tài Trong xã hội đại phát triển, GPS hướng có tiềm lớn mang lại dịch vụ hữu ích giá trị cao Có thể dẫn chứng cho xu việc xuất Ví dụ như: ứng dụng hỗ trợ tìm đường, tìm người giúp việc, tìm kiếm địa điểm ăn uống, tìm bạn bè, hệ thống đường, theo dõi cho taxi, xe tải Trước đây, việc tìm kiếm nơi để sửa thiết bị hư hỏng tốn nhiều thời gian cơng sức, chủ yếu việc tìm kiếm đa phần dựa truyền tai dọc phố để tìm địa điểm sửa thiết bị hư hỏng Nhận thức vấn đề tác giả chọn đề tài nghiên cứu khoa học “Hệ thống cung cấp dịch vụ hỗ trợ tìm kiếm nhóm thợ theo khu vực tảng di động” để đơn giản việc tìm thợ sửa thiết bị Tình hình nghiên cứu 2.1 Ngồi nước Nhận thấy hiệu to lớn từ GPS, hãng phần mềm giới tích cực đầu tư nghiên cứu nâng cao chất lượng làm nhiều ứng dụng từ GPS Điển Google công ty tiên phong việc áp dụng GPS Họ làm nhiều ứng dụng GPS số Google Map với nhiều tính điển hình tính hiển thị tình trạng giao thông, đường cho xe máy, ô tô 2.2 Trong nước Ở Việt Nam với phát triển chóng mặt công nghệ Một số ứng dụng áp dụng GPS đưa vào sử dụng Nhằm mục đích giúp người quản lý vị trí hiệu quả, Chính nhiều cơng ty, cá nhân đời loạt sản phẩm ứng dụng dựa GPS như:  Hệ thống https://www.ohanaliving.vn/ với chức đăng tìm phịng trọ, bạn trọ cá mập tranh giành để đầu tư chương trình Thương vụ bạc tỉ mùa  Hệ thống https://www.jupviec.vn/ với chức tìm kiếm đặt dịch vụ người giúp việc Mục tiêu nghiên cứu Xây dựng ứng dụng giúp người dùng tìm kiếm người thợ theo nhóm ngành khu vực hiển thị đồ, cập nhập thông tin đăng ký hồ sơ, nhắn tin trao đổi đánh giá thợ khách Phương pháp nghiên cứu  Tìm hiểu Xamarin để tạo ứng dụng di động  Tìm hiểu Javascript, mơi trường Node.js  Xây dựng ứng dụng Back-end sử dụng framework Express trả Json  Tìm hiểu socket.io  Nghiên cứu cách thức hoạt động RESTful API  Sử dụng xaml để xây dựng giao diện ứng dụng  Ứng dụng hoạt động theo mô hình MVVM(Model-View-View Model) Những vấn đề mà đề tài chưa thực  Chưa sử dụng Socket.io để thợ khách giao tiếp ứng dụng  Chưa cho ứng dụng vào thực tiễn với quy mô rộng Kết cấu đề tài Báo cáo chia làm ba phần: phần mở đầu, phần nội dung phần kết luận Phần mở đầu Nêu lý chọn đề tài, tổng quan tình hình phát triển, mục tiêu nghiên cứu đề tài, phương pháp nghiên cứu đóng góp đề tài Bên cạnh mặt hạn chế mà đề tài chưa thực để giúp người có nhìn rõ Phần nội dung chính: gồm chương  Chương 1: Tổng quan lý thuyết Trong chương tác giả giới thiệu Xamarin, môi trường Node.js, Framework Express, giải thích NPM gì?, q trình hoạt động Web API sử dụng tiêu chuẩn RESTfull API, Đồng thời giới thiệu socket.io trình hoạt động số module mà tác giả sử dụng đề tài với chức thư viện  Chương 2: Xây dựng Web Server API hệ thống cung cấp dịch vụ hỗ trợ tìm kiếm nhóm thợ theo khu vực Trong chương tác giả trình bày chi tiết q trình tạo WebAPI sử dụng mơi trường Node.js framework Express.js số module NPM  Chương 3: Xây dựng ứng dụng Xamarin Trong chương tác giả trình bày giao diện ứng dụng xây dựng Xamarin Phần kết luận Đưa kết luận kiến nghị chương trình xây dựng Chương : Tổng quan lý thuyết 1.1 Sơ đồ liên quan thành phần sử dụng hệ thống Hình 1-1: Sơ đồ liên quan thành phần ① Xamarin tạo yêu cầu đến server ② Server Node.js phân tích yêu cầu Xamarin gửi lên sau chuyển yêu cầu sang ExpressJS ③ ExpressJS lấy liệu database MySQL ④ MySQL trả liệu cần lấy cho ExpressJS ⑤ NodeJS trả liệu dạng JSON Xamarin yêu cầu trước ⑥ Xamarin nhận liệu tiền hành hiển thị liệu nhận giao diện 1.2 Giới thiệu xamarin 1.2.1 Xamarin gì? Xamarin hãng phần mềm lập trình di động viết ngôn ngũ C# với 500 ngàn nhân lực sử dụng để viết ứng dụng chạy Mac, Android đến tháng 11/2013 Microsoft mua lại tích hợp chạy mơi trường Windows Hình 1-2: Tổng quan Xamarin Xamarin công cụ giúp sử dụng ngôn ngữ C# để xây dựng App native(ứng dụng gốc) cho iOS, Android lẫn Window cách nhanh chóng dễ dàng hỗ 18 Chương : Xây dựng hệ thống hỗ trợ tìm kiếm nhóm thợ theo khu vực tảng di động 3.1 Server API hệ thống hỗ trợ tìm kiếm nhóm thợ theo khu vực 3.1.1 Giới thiệu chung Web Server API hệ thống hỗ trợ tìm kiếm nhóm thợ 3.1.1.1 Giới thiệu Web API nhằm mục đích trả JSON từ database client yêu Nó giúp Web Front-end Mobile kết nối với 3.1.1.2 Phân quyền người dùng Hệ thống gồm có nhóm quyền là: - Khách (Người thuê thợ): Sử dụng App để vào hệ thống tìm kiếm thợ theo danh mục ngành nghề khu vực chọn - Thợ: Thợ sử dụng App web để đăng tin, cập nhật thông tin cá nhân - Admin: Quản lý danh mục, duyệt hồ sơ thợ đăng, xem thống kê hệ thống, 3.1.2 Cài đặt môi trường lập trình số module cần thiết 3.1.2.1 Mơi trường Node.js NPM Vào trang chủ Node.js (https://nodejs.org/en/download/) để tài môi trường Node.js cài đặt cài đặt có chứa sẵn chương trình npm phiên node.js 8.11.1 npm 5.6.0 Để kiểm tra phiên node.js npm ta dùng câu lệnh bên node -v npm -v Hình 3-1: Màn hình console hiển thị thơng tin phiên Node.js NPM 3.1.2.2 Cài Module cần thiết sử dụng phần mềm NPM Cách sử dụng NPM Tạo thư mục trống mở cửa sổ CMD thư mục chạy lệnh command sau: npm init 19 Một số câu hỏi đặt để nhập vào thông tin dự án bạn skip tất cách nhấn nút enter điền đầy đủ thơng tin vào Hình 3-2: Màn hình console gõ lệnh npm init Sau npm tạo file pakage.json để chứa thông tin dự án module cài Nếu di chuyển nơi khác triển khai dự án lên server thật cần có file chạy lệnh npm install module cài vào thư mục node_modules Cài đặt Module cần thiết Sử dụng câu lệnh bên để cài đặt module cần thiết cho phía Web API npm install express body-parser express-validator dotenv debug http-errors jsonwebtoken mathjs md5 moment morgan multer mysql nodemailer Hình 3-3: Thư mục node_modules chứa module cài đặt câu lệnh npm install 3.1.3 Kết nối truy vấn liệu Node.js MySql 3.1.3.1 Kết nối với database Mysql Tạo file pool.js để kết nối tới database const mysql = require('mysql'); const connection = mysql.createPool({ connectionLimit: 10, host: process.env.FW_HOST, 20 user: process.env.FW_USER, port: process.env.FW_PORT, password: process.env.FW_PASS, database: process.env.FW_DATABASE }); module.exports = {connection}; Tạo tập tin helper.js thư mục helpers với nội dung sau const db=require(' /databases/pool').connection; function arrayValue) { sendQueryToDatabase(queryStatement, return new Promise((resolve, reject) => { return db.query( queryStatement,arrayValue,(err, results) => { if (err) { return reject(err); } resolve(results); }); }); }; module.exports = { sendQueryToDatabase }; Hàm hàm bất đồng bộ, hàm nhận vào tham số queryStatement câu lệnh truy vấn arrayValue mảng giá trị, chức hàm trả liệu cần lấy câu lệnh vừa truy vấn 3.1.3.2 Truy vấn liệu Để truy vấn liệu ta sử dụng hàm bất đồng sendQueryToDatabase giới thiệu để sử dụng, tác giả tạo server node.js port 3000 const http = require(‘http’); const router = require(‘express’).router(); const helper = require(' /helpers/helper'); //Khai báo phương thức get có tên “get-user” kèm theo callback function router.get(‘/get-user’,async function(req,res){ try{ let userID = req.query.useraccountid;//bắt query string có tên useraccountid gán vào biến let result = await helper.sendQueryToDatabase( “SELECT * FROM useraccounts WHERE UserAccountID = ?”, [userID]); 21 //Hàm chuyển đổi liệu từ object thành json trả cho Client return res.json({"result": result}); }catch(err){//bắt lỗi xảy có lỗi truy vấn liệu return res.status(400).json({“err”: err.message}); }}); http.createServer(router).listen(3000);//chạy server port 3000 Câu lệnh trả tất thơng tin tài khoản dạng JSON Hình 3-4: Server trả liệu dạng JSON tài khoản 100000001 3.1.4 Chức số router có API Bảng 3.1 Tên số chức API Tên router Phương thức /api/account/login Post /api/account/signup-for-both Post /api/account/verify Put /api/account/profile/:useraccountid Get /api/account/profile Put /api/account/put-change-password Put /api/account/put-forgot-password Put Chức Đăng nhập, server trả liệu cần thiết json web token, để lưu trữ cookie Đăng ký tài khoản thợ khách, server gửi mail xác minh tài khoản mail người dùng đăng ký Xác minh tài khoản Lấy thông tin cá nhân người dùng với user id tương ứng Cập nhật thông tin cá nhân Thay đổi mật Khi quên mật dùng router điền 22 Post Put email vào sau server tạo mật gửi email Cập nhật trạng thái online Lấy danh sách tất danh mục Lấy danh sách danh mục chưa gửi hồ sơ đăng ký Tạo danh mục Cập nhật danh mục có sẵn Chức lấy tất hồ sơ có danh mục Tạo hồ sơ Active CV Delete Xóa CV /api/account/put-status-online Put /api/category/get-all Get /api/category/get-by-userworkerid Get /api/category/create-category Post /api/category/update-category Put /api/category/get-all-cv-bycategoryid?categoryid= Get /api/cv/post /api/cv/active-cv /api/cv/activecv?categoryid=&userworkerid= /api/cv/not-activated Get /api/cv/activated-byquery?categoryid=&provinceid=&distri ctid=&wardid= Get /api/cv/get-all-cv-by-userid Get /api/cv/get-all-cv-bycategoryid?categoryid= /api/location/geolocation Get Put /api/upload/image-avatar Post /api/upload/image-store Post /api/chat/create-chat-history Post /api/chat/get-list-people-chated Get /api/chat/get-messagechated?historyid=&limit=&page= /api/chat/put-cancel-transaction Get Put /api/chat/put-done-transaction Put /api/chat/get-info-transaction-done-byuserid?useraccountid=&limit=&page= Get /api/statistical/get-all-userworker?limit=&page= Get Lấy danh sách tất cv chưa active Lọc danh sách hồ sơ theo danh mục địa điểm Lấy tất danh sách hồ sơ theo mã tài khoản Lấy danh sách hồ sơ danh mục Cập nhật thơng tin vị trí Lưu trữ ảnh đại diện vào server Lưu trữ ảnh đại diện danh mục vào server Tạo giao dịch Lấy danh sách người nhắn tin Lấy tin nhắn nhắn Hủy giao dịch Hoàn thành giao dịch kèm theo đánh giá Lấy tất thông tin giao dịch theo mã tài khoản Lấy danh sách tài khoản người thợ 23 /api/statistical/get-all-userguest?limit=&page= /api/statistical/get-all-transactiondone?limit=&page= /api/statistical/put-block-account-byuserid /api/statistical/put-enable-account-byuserid /api/dashboard/get-count-cv-bycategoryid Get Lấy danh sách người khách Get Lấy danh sách giao dịch Put Chặn người dùng Put Mở chặn người dùng Get /api/dashboard/get-count-user-type Get /api/dashboard/get-count-transaction Get Tính tổng hồ sơ theo danh mục Tính tổng tài khoản phân theo loại Tính tổng giao dịch phân theo trạng thái 3.2 Xây dựng Server Websocket sử dụng thư viện socket.io để làm ứng dụng nhắn tin thời gian thực 3.2.1 Giới thiệu chung Server Websocket Tác giả tạo Server Websocket cách sử dụng thư viện Socket.io môi trường Node.js tải từ chương trình NPM Chức server tạo ứng dụng nhắn tin thời gian thực thợ với khách tìm thợ giúp gửi bắt liệu thời gian thực 3.2.2 Cài đặt số module cần thiết Tác giả cài đặt số module cần thiết cho việc nhắn tin thời gian thực dòng command npm install express request socket.io 3.2.3 Chức kiện Socket.io Socket.io có phương thức là:  socket.on(string event, callback data) thực kiện lắng nghe từ client gửi lên  socket.emit(string event, object data) thực việc phát kiện client kèm theo liệu socket.on('authorization', function (result) { token = result.access_token; UserAccountID = result.UserAccountID; callApi.PUT(seed.ACCOUNT.PUT_STATUS_ONLINE, objectValue, token);//Gọi api cập nhật trạng thái online vào database }); Đoạn code với chức lắng nghe kiện với tên authorization nhằm cập nhật giá trị số loại biến gọi API cập nhật trạng thái socket.on('array_room', function (result) { 24 result.map(function (value) {//Lặp qua mảng tạo mảng socket.join(value + "");//tham gia vào room với tên lưu biến value ArrayRoom.push(value + "");//Thêm giá trị vào mảng ArrayRoom socket.broadcast.to(value "").emit('is_online', UserAccountID);//Gửi thái online tới phòng + trạng }); }); Đoạn code lắng nghe client gửi liệu mã phòng lấy nhờ vào cách gọi API lên tiến hành tham gia vào room socket.io gửi trạng thái online đến room socket.on('disconnect', function () { objectValue.StatusOnline = 0; callApi.PUT( seed.ACCOUNT.PUT_STATUS_ONLINE, objectValue, token);//Gọi API để cập nhật trạng thái database ArrayRoom.map(function (value){ //Gửi kiện offline tới room socket.broadcast.to(value "").emit( 'is_offline', UserAccountID); + }); }); Khi Client tắt tab kiện kích hoạt thực thi gọi API để cập nhật trạng thái offline Database vòng lặp theo mảng nhằm mục đích gửi kiện offline vào phòng Client đăng nhập socket.on('send_message', function (result) { socket.broadcast.to(result.HistoryID + "").emit('get_message', result);//Gửi tin nhắn vừa chat vào phòng cần gửi callApi.POST(seed.CHAT.NEW_MESSAGE, token);//Gọi API thêm dòng database result, chat vào }); Ví dụ Client A, Client B online vào chung room chat, Client A gửi lên server đoạn chat với thông tin tới Client B server gửi đoạn chat vào room chat mà người tham gia vào Client B nhận tin nhắn hiển thị 25 3.3 Xây dựng ứng dụng xamarin 3.3.1 Cài đặt Xamarin Xamarin cài đặt lập trình hệ điều hành Windows MAC OS, tác giả tiến hành cài đặt khởi chạy Xamarin Windows Trên hệ điều hành cài đặt IDE:  Xamarin Studio  Visual Studio (hoặc Visual Studio for MAC) Hình 3-5: Cài đặt xamarin 3.3.2 Lập trình Xamarin 3.3.2.1 Xaml mơ hình MVVM XAML ngôn ngữ dựa XML Microsoft tạo thay cho mã lập trình để khởi tạo đối tượng tổ chức đối tượng phân cấp cha-con XAML thích nghi với số công nghệ khuôn khổ NET, tiện ích lớn việc xác định bố trí giao diện người dùng Windows Presentation Foundation (WPF), Silverlight, Windows Runtime Nền tảng Windows phổ quát (UWP) XAML phần Xamarin.Forms, lập trình giao diện dựa tảng nguyên gốc cho thiết bị di động iOS, Android UWP Mơ hình MVVM kỹ thuật thiết kế cho môi trường dựa Xaml Hình 3-6: Mơ hình MVVM(Model – View – ViewModel) 26 3.3.2.2 Thêm NuGet hỗ trợ Hình 3-7: Thêm gói NuGet hỗ trợ Việc thêm gói NuGet giúp dễ dàng việc quản lý, cài đặt thêm, xóa thư viện cơng cụ từ bên thứ ba vào project sử dụng môi trường NET 3.3.2.3 Xây dựng trang ứng dụng Đăng ký(1) • Đăng ký với loại tài khoản thợ Đăng nhập(2) • Đăng nhập với tài khoản thợ Thơng tin cá nhân(3) • Xem thơng tin, cập nhập thơng tin cá nhân • Xem số điểm đánh giá trung bình Quản lý hồ sơ cơng việc(4) • Xem danh sách cơng việc đăng ký • Cập nhập lại thông tin công việc chưa xét duyệt Hình 3-8: Quy trình đăng ký, cập nhập thơng tin, hồ sơ thợ Các bước quy trình người thợ: (1) Trang để người thợ đăng ký tài khoản Chờ xét duyệt hồ sơ • Chờ xét duyệt hồ sơ cơng việc, xét duyệt khách tìm thấy thợ đồ 27 Hình 3-9: Trang đăng ký tài khoản (2) Trang đăng nhập sau đăng ký tài khoản Hình 3-10: Trang đăng nhập (3) Trang thơng tin cá nhân 28 Hình 3-12: Trang thông tin cá nhân (4) Trang xem danh sách hồ sơ, đăng ký, cập nhập thông tin hồ sơ Hình 3-11: Trang quản lí hồ sơ cơng việc tạo công việc 29 Đăng nhập(2) Đăng ký(1) • Đăng ký với loại tài khoản khách Thơng tin cá nhân(3) • Đăng nhập với tài khoản khách Tìm kiếm(4) • Xem thơng tin, cập nhập thơng tin cá nhân • Tìm kiếm theo nhóm thợ, khu vực nhóm thợ Hình 3-13: Quy trình đăng ký, cập nhập thơng tin tìm kiếm thợ khách Các bước quy trình người khách: (1) Trang để người khách đăng ký Hình 3-9 (2) Trang đăng nhập sau đăng ký tài khoản Hình 3-10 (3) Trang thơng tin cá nhân Hình 3-11 (4) Trang đồ nơi người khách tìm kiếm thợ Hình 3-14: Trang đồ nơi khách tìm kiếm thợ 30 Hình 3-15: Trang tìm kiếm, hiển thị thơng tin thợ sau tìm kiếm 31 KẾT LUẬN Kết đạt được: Qua trình nghiên cứu đề tài Hệ thống cung cấp dịch vụ hỗ trợ tìm kiếm nhóm thợ theo khu vực tảng di dộng, tác giả đạt số kết quả:  Nắm cách tạo server môi trường Node.js  Xây dựng ứng dụng Back-end sử dụng framework Express trả Json  Sử dụng Xamarin để xây dựng ứng dụng  Hiểu gọi đến RESTful API Thuận lợi:  Được ủng hộ hướng dẫn tận tình thầy bạn  Vận dụng kiến thức trường học vào chương trình Khó khăn:  Bản thân thiếu sót kinh nghiệm  Khó triển khai với hệ thống nhiều người sử dụng  Sử dụng socket.io với ứng dụng Định hướng phát triển tương lai:  Sẽ tìm giải pháp để triển khai ứng dụng cho nhiều người tiếp cận phạm vi lớn  Thêm tính cập nhật GPS thời gian thực 32 TÀI LIỆU THAM KHẢO Tài liệu Internet [1] [NODEJS] LỰA CHỌN MỚI CHO NỀN TẢNG SERVER SIDE, truy cập ngày 16/10/2018, https://tech.3si.vn/2017/07/10/nodejs-lua-chon-moi-cho-nen-tangserver-side/ [2] Ho Van Cuong - Giới thiệu Node.js, ngày truy cập 10/10/2018, https://viblo.asia/p/gioi-thieu-ve-nodejs-3P0lPyRg5ox [3] Minh-Trung Nguyễn, Node.js biến môi trường env, ngày truy cập 10/10/2018, https://kipalog.com/posts/Node-js-va-bien-moi-truong env [4] Các ví dụ xamarin, truy https://developer.xamarin.com/samples-all/ [5] Xamarin custom map renderers, truy https://github.com/xamarin/xamarin-formssamples/tree/master/CustomRenderers/Map/Pin cập cập 15/9/2018, 30/9/2018, Tài liệu tiếng Anh [6] Hermes Dan (2015), Xamarin Mobile Applicant Development Cross-Platform C# and Xamarin.Forms [7] Charles Petzold (2018), Creating Mobile Apps with Xamarin.Forms [8] James Montemagno(2018), Xamarin in Action: Create native cross-platform mobile app ... dựng hệ thống hỗ trợ tìm kiếm nhóm thợ theo khu vực tảng di động 18 3.1 Server API hệ thống hỗ trợ tìm kiếm nhóm thợ theo khu vực 18 3.1.1 Giới thiệu chung Web Server API hệ thống hỗ trợ tìm kiếm. .. thống cung cấp dịch vụ hỗ trợ tìm kiếm nhóm thợ theo khu vực tảng di động? ?? Với chức như: - Hiển thị thơng tin thợ map tìm kiếm thợ theo danh mục khu vực - Đăng hồ sơ để người dùng tìm kiếm - Nhắn... tìm kiếm nhóm thợ theo khu vực tảng di động 3.1 Server API hệ thống hỗ trợ tìm kiếm nhóm thợ theo khu vực 3.1.1 Giới thiệu chung Web Server API hệ thống hỗ trợ tìm kiếm nhóm thợ 3.1.1.1 Giới thiệu

Ngày đăng: 25/07/2020, 10:52

Tài liệu cùng người dùng

Tài liệu liên quan