1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Create application for finding and ordering food drink from restaurant cafeteria around user

132 4 0

Đ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

Nội dung

MINISTRY OF EDUCATION AND TRAINING HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY AND EDUCATION GRADUATION THESIS INFORMATION TECHNOLOGY CREATE APPLICATION FOR FINDING AND ORDERING FOOD/DRINK FROM RESTAURANT/CAFETERIA AROUND USER LECTURER: LE VINH THINH, PhD STUDENTS: PHAM DUY LAP DINH MINH THIEN SKL 009602 Ho Chi Minh City, June 15 2022 HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH QUALITY TRAINING GRADUATION THESIS Topic: Create Application for Finding and Ordering Food/Drink from Restaurant/Cafeteria around User Instructor: Le Vinh Thinh Ph.D Team Members: No Name Student ID 01 Pham Duy Lap 18110143 02 Dinh Minh Thien 18110205 … THE SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom – Happiness Ho Chi Minh City, June 15, 2022 GRADUATION PROJECT ASSIGNMENT Full name of student: Pham Duy Lap MSSV: 18110143 Sector: Information Technology Class: 18110CLST1 Full name of student: Dinh Minh Thien Sector: Information Technology MSSV: 18110205 Class: 18110CLST2 Instructor: Le Vinh Thinh Ph.D Date of receiving the project: Date of submitting the project: Project name: Create Application for Finding and Ordering Food/Drink from Restaurant/Cafeteria around User Initial data and documents: Survey the current situation through current phone applications and consult the professional to perform Contents of the project: − Build an android app that allows customers to find a path to a restaurant/cafeteria around them, or order shipping food/drink to their home − Build a website that allows enterprises and admins to manage systems, accounts, and product Product: Android application to find a path to a restaurant/cafeteria and to order food/drink from these PROGRAMMING CHAIR (Signature and full name) INSTRUCTOR (Signature and full name) THE SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom – Happiness Ho Chi Minh City, June 15, 2022 INSTRUCTIONAL TEACHER 'S COMMENT SHEET Full name of student: Pham Duy Lap MSSV: 18110143 Full name of student: Dinh Minh Thien Sector: Information technology MSSV: 18110205 Project name: Create Application for Finding and Ordering Food/Drink from Restaurant/Cafeteria around User Instructor: Le Vinh Thinh Ph.D COMMENTS Regarding the content of the topic & volume of implementation: Advantages: Defect: Recommended for security or not? Evaluation Type: Score: (In words: ) Ho Chi Minh City, month day, year ADVISOR (Sign with full name) Graduate Thesis Report ACKNOWLEDGMENTS As the completion of this topic, first, we want to express our gratefulness to our Instructor –Le Vinh Thinh Ph.D – who had always been by our side to teach, inspect and give us feedback during our research on topic: “Create Application for Finding and Ordering Food/Drink from Restaurant/Cafeteria around User” We would also like to show a deep respect for all the lecturers of Faculty for High Quality Training and Faculty for Information Technology, who, in four years, teach us almost everything we need to get our first job, to become who we wanna be, to learn and implement our project well Along with that, we would like to thank our classmates for providing a lot of information and useful knowledge to help us improve our project Thank to all of you, we get our project completed on time, but we still have some mistakings during the process of making this project because of our limited knowledge and many other technical limitations and experience in implementing a project Therefore, we hopefully want to receive your feedback to improve our project in the future Finally, the whole team wishes you and your family good health and further success in your career Once again, Thank you very much! Ho Chi Minh city, day …… month …… year 2022 Students perform Pham Duy Lap Dinh Minh Thien Graduate Thesis Report SUMMARY Urgency of the subject With the development of engineering technology in the 4.0 industrial revolution, people nowaday have many way to get their meal ready when they don’t want to cook or even don’t want to go out There are a lots app which meet that need like GrabFood, ShopeeFood, we think building an app like these will be a change to make use of our knowlegde and skills that we have gained during the past year Naturally, building an app absolutely the same with those app is not possible for a twoman team, but we will try our best to apply the knowledge learned along with some research on Google Map APIs provided by Google to design a search around application so that users can easily find restaurant and cafeteria on demand And, ordering their food/drink if they still don’t want to go out Subjects of the research The mainly subjects of the research are user who want to find some where to enjoy their meal or to order these when they don’t want to go out and the enterprise that want to sell their products The main technologies used for the topic: - Flutter to develop the application interface - NodeJS Restful API, ExpressJS to build an APIs system to support data retrieval MongoDB for database management for the application Scopes of the research Build an android app that allows customers to find a path to a restaurant/cafeteria around them, or order shipping food/drink to their home Graduate Thesis Report TABLE OF CONTENT ACKNOWLEDGMENTS SUMMARY TABLE OF CONTENT LIST OF FIGURE LIST OF TABLE ABBREVIATIONS 11 CHAPTER 1: INTRODUCTION TO THE TOPIC 12 1.1 Reason for choosing topic 12 1.2 Objectives of research 12 1.3 Market Survey 12 1.3.1 Grab 12 1.3.2 Baemin 14 1.3.3 Gojek 15 1.4 Bussiness Survey 16 1.4.1 Process of Registing New Store on Ecommerce System 16 1.4.2 Order receipt and delivery process 17 1.5 Overall Descriptor 17 1.5.1 Product perspective 17 1.5.2 Application Functionality 17 1.5.3 User classes and layer-by-layer characteristics 18 1.5.4 Operating Environment 18 1.5.5 Constraint .18 CHAPTER 2: THEORETICAL BASIS 19 2.1 NodeJS 19 2.1.1 What is Node.js? .19 Graduate Thesis Report 2.1.2 Features of Node.js 19 2.1.3 Who Uses Node.js? 20 2.1.4 Where to Use Node.js? 20 2.1.5 Where Not to Use Node.js? .20 2.2 Flutter 20 2.2.1 Features of Flutter 21 2.2.2 Advantages of Flutter 21 2.2.3 Disadvantages of Flutter 21 2.3 MongoDB 22 2.3.1 Document Database 22 2.3.2 Collections/Views/On-Demand Materialized Views 2.3.3 Key Features 22 22 CHAPTER 3: SYSTEM ANALYSIS AND DESIGN 24 3.1 Usecase Specification 24 3.1.1 Usecase Diagram 24 3.1.2 Usecase diagram specification .26 3.2 Sequence Schema 73 3.2.1 Sequence Login .73 3.2.2 Sequence Register 74 3.2.3 Sequence Forgot Password 75 3.2.4 Sequence Show Home Screen 76 3.2.5 Sequence Show Product Detail 77 3.2.6 Sequence Show Evaluations 78 3.2.7 Sequence Evaluate Product .79 3.2.8 Sequence Show Path .80 3.2.9 Sequence Search Product 81 3.2.10 Sequence Change Info 82 Graduate Thesis Report 3.2.11 Sequence Logout .83 3.2.12 Sequence Change Password 84 3.2.13 Sequence Place Order .85 3.2.14 Sequence Confirm Order 86 3.3 Database specification 87 3.3 Description of tables 89 3.3.1 PRODUCT Table (PRODUCT DETAILS) .89 3.2.2 USERINFO Table (USERINFO) 89 3.2.3 CART Table (CART) 91 3.2.4 TYPE Table (TYPE) .91 3.2.5 ORDER Table (ORDER) 91 3.2.6 EVALUATE Table (EVALUATE) 93 CHAPTER 4: IMPLEMENTATION AND TESTING 94 4.1 Implementation 94 4.1.1 Login 94 4.1.2 Home Screen 95 4.1.3 Search Products .96 4.1.4 Enterprise’s product .97 4.1.5 Detail of product .98 4.1.6 Google Map 99 4.1.7 Settings Account 100 4.1.8 Change Information 101 4.1.9 List of enterprise carts 102 4.1.10 Detail of cart 103 4.1.11 List of orders 104 4.1.12 Detail of order .105 4.1.13 Evaluation of product 106 4.1.14 Home Page of Enterprise .107 4.1.15 Detail of not confirm order 108 Graduate Thesis Report 4.1.16 List of enterprise’s products 109 4.1.17 Home page of Shipper 110 4.1.18 Detail of shipper’s order 111 4.2 Testing 112 4.2.1 Test cases 112 4.2.2 Test results 113 CHAPTER 5: CONCLUSION 125 5.1 Results 125 5.2 Archivements 125 5.3 Drawbacks 125 5.4 Future Works 125 APPENDIX 126 REFERENCES 126 Graduate Thesis Report Figure 45: Result TC_01 114 Graduate Thesis Report Figure 46: TC_02 results 115 Graduate Thesis Report Figure 47: TC_03 results 116 Graduate Thesis Report 4.2.2.2.Test results of "Forgot password" function Table 63: Test results of "Forgot password" function No Descriptions Steps for testing Test data Expected Realresult world Status results TC_F Check the notifies - Click the "Forgot Email: The user P_01 of the app when Password" button at the user enters the the login page “dududud is sent an OTP code correct information - Add Email Text Press the “Submit” button u0990@g mail.com ” to the Email and notify “success” TC_F Check the app's - Click the "Forgot Email: P_02 countdown when Password" button at the user click “send” button the login page Add Email Text Press the “Submit” button countdow “dududud n 60 u0990@g seconds mail.com and cant ” click TC_F P_03 - Check the notifies - Click the "Forgot of the application Password" button at when the user login Email: does not enter information new - Add Email Text Press the “Submit” button “” Password : “” as ever Pass Button An error message appears as ever Pass as ever Pass above the “Send” button: “empty Email”, “new password empty” 117 Graduate Thesis Report Figure 48: TC_FP_01 results 118 Graduate Thesis Report Figure 49: TC_FP_02 results 119 Graduate Thesis Report Figure 50: TC_FP_03 Results 120 Graduate Thesis Report 4.2.2.3.Test results of "Place Order" function Table 64: Test results of "Place Order" function No Descriptio ns Steps for testing Test data Expected result Realworld Status results TC_P Check the- Click the "Place Order" Direct to O_01 notifies of the app button at the cart’s detail page payment vnpay page when the user place Choose payment methods to place order order by VNPAY TC_P Check theO_02 notifies of the app as ever Pass And notify “success” after entering payment information Click the "Place Order" button at the cart’s detail page when the - Choose payment user place order by Direct payment methods to place order Notify “success” as ever Pass 121 Graduate Thesis Report Figure 51: TC_PO_01 results 122 Graduate Thesis Report Figure 52: TC_PO_02 results 123 Graduate Thesis Report Figure 53: TC_PO_02 results 124 Graduate Thesis Report CHAPTER 5: CONCLUSION 5.1 Results After almost a semester of work, the team successfully launched a simple way-finding application that could meet the key features of the set requirements However, the application still has many shortcomings compared to previous applications due to the limited experience and ability of the team, especially in terms of Front-end code writing experience (Flutter) If more experience is gained, the team may be better able to complete our project 5.2 Archivements After working to complete the project, the team has achieved some results such as: - Complete the product on time, the product can work normally, can use some key features - Learn and be able to apply Google Map APIs to the project map - Nodejs, MongoDB and Flutter can be used to program a complete mobile application - The interface of the program is quite user-friendly according to the personal opinions of the group 5.3 Drawbacks In addition to the results achieved, the group still has many limitations such as: - The ability of each member of the team has not been properly evaluated and the difficulty of coding the Front-end section makes the project limited and not practical - The software still does not have enough features such as missing review management features (browse, delete reviews) - The ability of the software to operate depends directly on the quality of network transmission because of data storage on MongoDB and Firebase - The user experience has not been optimized 5.4 Future Works In order for the program to work effectively, we think it is necessary to develop more review management features (browse, delete unsatisfactory reviews), pay more attention in the design to increase the user experience 125 Graduate Thesis Report APPENDIX REFERENCES - Bussiness logics about the register new store, order receipt and delivery process: [1][2][3] https://tpos.vn/blog/cach-dang-ky-ban-hang-tren-grabfood-t120471.html [4][5][6][7][8][9][10][11] https://posapp.vn/ban-hang-tren-shopee-food [12] Node.js – Introduction: Node.js - Introduction (tutorialspoint.com) [13] Flutter – Introduction: Flutter - Introduction (tutorialspoint.com) [14] Introduction to MongoDB: Introduction to MongoDB — MongoDB Manual - Google Map APIs documentation: https://developers.google.com/maps/documentation/javascript/overview#maps_maps_s imple-javascript https://www.cluemediator.com/implement-google-maps-in-reactjs#lgms https://www.youtube.com/watch?v=OknMZUnTyds&list=PLgCYzUzKIBEvInwQhGSdnbyJ62nixHCt - Flutter documents: Flutter - Build apps for any screen https://www.youtube.com/watch?v=WL3g5DHJ4pA&list=PLRhlTlpDUWsxWhGA4j Tr0oGeNs7xYyDPW https://www.youtube.com/watch?v=urLA8z6-l3k&ab_channel=CodingWithMitch Flutter UI Food Delivery App Tutorial | App from Scratch Part - YouTube Plant App - Flutter UI - Speed Code - YouTube Plant-App-Flutter-UI/body.dart at master · abuanwar072/Plant-App-Flutter-UI (github.com) #4.3 Flutter Navigate to a new screen and back Use WillPopScope and Perform Push and Pop operations - YouTube - HTTP request (fetch API) document: Flutter: Fetch Image from the Back-End through Rest API | Image Rest API integration Profile Page#30 - YouTube How to authenticate and login users in Flutter from a rest Api - mundaneCode HTTP Requests with Flutter (API) - YouTube 126 Graduate Thesis Report [Flutter] Login Screen with HTTP Post Request | SnippetCoder | LEARN.CODE.CREATE | HD Video - YouTube HTTP Requests with Flutter (API) - YouTube [Flutter] Login Screen with HTTP Post Request | SnippetCoder | LEARN.CODE.CREATE | HD Video - YouTube - Google Map API flutter documentation : Restrict and rename API key – APIs & Services – My First Project – Google Cloud Platform dart - Google map in flutter doesn't appear - Stack Overflow Flutter Google Maps API Tutorial | Markers, Polylines, & Directions API - YouTube Share some Google Maps API Key used for Website (www.ieuit.com) - How to set markers : Creating a route calculator using Google Maps in Flutter | Codemagic Blog - How to calculate distance between markers: Creating a route calculator using Google Maps in Flutter | Codemagic Blog android - Get full address details based on current location's latitude and longitude in Flutter - Stack Overflow - Using Alan AI to build a Voice Assistant: Building a Voice Assistant in Flutter Apps - YouTube 127

Ngày đăng: 28/12/2023, 18:50