1. Trang chủ
  2. » Luận Văn - Báo Cáo

Build an e comerce website for selling mobile phones

136 2 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

MINISTRY OF EDUCATION AND TRAINING HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH QUALITY TRAINING CAPSTONE PROJECT INFORMATION TECHNOLOGY BUILD AN E-COMMERCE WEBSITE FOR SELLING MOBILE PHONES LECTURER: Dr NGUYEN THIEN BAO STUDENT: NGUYEN TRONG NGHIA NGUYEN ANH VU SKL 0 Ho Chi Minh City, February, 2022 HO CHI MINH UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH QUALITY TRAINING CAPSTONE PROJECT BUILD AN E-COMMERCE WEBSITE FOR SELLING MOBILE PHONES Nguyen Trong Nghia 18110033 Nguyen Anh Vu 18110068 Supervisor Dr Nguyen Thien Bao Academic year: 2018 – 2022 HO CHI MINH UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH QUALITY TRAINING CAPSTONE PROJECT BUILD AN E-COMMERCE WEBSITE FOR SELLING MOBILE PHONES Nguyen Trong Nghia 18110033 Nguyen Anh Vu 18110068 Supervisor Dr Nguyen Thien Bao Academic year: 2018 – 2022 SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom – Happiness ******* ******* COMMENTARY OF SUPERVISOR Students: Nguyen Trong Nghia Student ID: 18110033 Nguyen Anh Vu Student ID: 18110068 Major: Information Technology Title: Build an e-commerce website for selling mobile phones Supervisor: Dr Nguyen Thien Bao COMMENTARY Achievements: Regarding knowledge, the project team has learnt new knowledge about Laravel, PHP language, and MySQL, which are new technology largely used for website development In general, the group has successfully applied the knowledge learned In terms of skills, the team had the opportunity to practice teamwork skills, document reading skills, problem-solving skills and project management skills Since then, the team has applied knowledge and skills to develop an e-commerce website The website has fundamental function of an e-commerce website is allow user to manage cart and purchase Besides, the website also includes comment and rating function There is a wide variety of products for users to choose Detailed description of products specifications makes users easily to find and choose products that meet their demand A clean, simple interface makes it easy to use Strengths: By using Laravel – the team has developed an application that runs well on website and responsive The interface is designed neatly, eye-catching, simple, and easy to use The website meets the requirements of an e-commerce website Weaknesses: The research time is limited, and the project team has not fully developed all the functions originally planned Because of the use of technology, which is new to team, the topic group took a lot of time to learn Approval for oral defense? (Approved or denied) Overall evaluation: (Excellent, Good, Fair, Poor) Mark: …………… (In words: ) Ho Chi Minh, February 17th, 2023 SUPERVISOR (Name and signature) SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom – Happiness ******* ******* COMMENTARY OF REVIEWER Students: Nguyen Trong Nghia Student ID: 18110033 Nguyen Anh Vu Student ID: 18110068 Major: Information Technology Title: Build an e-commerce website for selling mobile phones Reviewer: COMMENTARY Achievements: Advantages: Disadvantages Approval for oral defense? (Approved or denied) Overall evaluation: (Excellent, Good, Fair, Poor) Mark: …………… (In words: ) Ho Chi Minh, February 22th, 2023 REVIEWER (Name and signature) COMMITMENT We are committed to the "Build an e-commerce website for selling mobile phones" project as an independent study under the guidance of our instructor - Dr Nguyen Thien Bao We guarantee that this is a project made by us, not copy, and not use other people's source code without permission or without specifying the source We will take full responsibility for any violation Ho Chi Minh, February 17th, 2023 Students Nguyen Trong Nghia Nguyen Anh Vu ACKNOWLEDGEMENT The success of a student more or less always accompanies a lecturer We would like to express our sincere thanks to Dr Nguyen Thien Bao, who directly supported the group, gave us suggestions and comments, as well as provided tips to help us make the best project Thanks to his instructions, he helped our team understand the knowledge to the presentation as well as the implementation of the project, so we completed the schedule with a lot of experience that we learned Again, our team would like to thank the lecturer Project is made around four months, just enough to complete it However, due to some unexpected problems, the project still has some errors, which is inevitable We are looking forward to receiving all the comments from our teachers to make our project better Ho Chi Minh, February 17th , 2023 Students Nguyen Trong Nghia Nguyen Anh Vu Table of Contents List of Figures .2 List of Tables .3 List of Images .5 CHAPTER INTRODUCTION .7 1.1 PROBLEM STATEMENT 1.2 PROJECT OBJECTIVES 1.3 OBJECTS AND SCOPE 1.3.1 Research objects 1.3.2 Research scope CHAPTER THEORY FUNDAMENTAL 10 2.1 PHP .10 2.1.1 Overview .10 2.1.2 PHP: The Language 10 2.1.3 PHP: The Framework 10 2.2 LARAVEL 11 2.2.1 Overview .11 2.2.2 Architecture 11 2.3 MYSQL 11 2.4 HTML, CSS, JAVASCRIPT 11 CHAPTER RELATED WORKS AND SYSTEM REQUIREMENTS 14 3.1 RELATED WORKS 14 3.2 SYSTEM REQUIREMENTS 14 3.2.1 Functional requirement .14 3.2.2 Actors of system 18 3.2.3 Non-functional requirement 18 CHAPTER SYSTEM DESIGN 20 4.1 USECASE & SEQUENCE DIAGRAM 20 4.1.1 Usecase 20 4.1.2 Actor and function description 20 4.1.3 Usecase Diagram .22 4.1.4 Usecase Specification 23 4.1.4 Sequence diagram .39 4.2 DATABASE DESIGN .50 4.2.1 Logical Diagram 50 4.2.2 Database Diagram .50 4.2.3 ER Diagram .50 4.3 USER INTERFACE 62 4.3.1 List of Screen and conversion diagrams .62 4.3.2 Detailed descriptions of the screen .63 4.3.3 Home Page 63 4.3.4 About Page 65 4.3.5 Products Page 68 4.3.6 Post Page .69 4.3.7 Contact Page .71 4.3.8 Login Page 73 4.3.9 Register Page .75 4.3.10.Forgot Password Page 77 4.3.11.Detail Post Page 78 4.3.12.Detail Product Page .80 4.3.13.Cart Page .82 4.3.14.User Profile Page 85 4.3.15.Change Personal Information Page .86 4.3.16.Manage Order Page .88 4.3.17.Detail Order Page 89 4.3.18.Admin Dashboard Page 91 4.3.19.Admin Advertising Management Page .92 4.3.20.Admin Account Management Page 93 4.3.21.Admin Post Management Page 94 4.3.22.Admin Product Management Page .96 4.3.23.Admin Bill Management Page 97 4.3.24.Admin Revenue Management Page 98 CHAPTER IMPLEMENTATION 101 5.1 APACHE WEBSERVER 101 5.2 XAMPP 102 5.3 MYSQL 102 5.1.1 Theoretically achievements 102 5.1.2 Realistic results 102 CHAPTER TESTING 103 6.1 TEST STRATEGY 103 6.1.1 Test Objectives 103 6.1.2 Test Principles 103 6.1.3 Scope and Levels of Testing 103 6.2 EXECUTION STRATEGY 104 6.2.1 Entry and Exit Criteria 104 6.2.2 Test Cycles 105 6.2.3 Test Metrics 105 6.3 TEST MANAGEMENT PROCESS 106 6.3.1 Test Design Process 106 6.3.2 Test Execution Process 106 6.3.3 Test Risks and Mitigation Factors 107 6.3.4 Communications Plan and Team Roster 110 6.4 TEST ENVIRONMENT 111 6.5 TESTING METHOD AND TECHNIQUES 111 o Disadvantages: It is challenging to locate faults Given the enormous number of interfaces that must be checked using this methodology, certain interfaces may be easily missed The testing team will have less time for execution during the testing phase because the Integration testing cannot begin until "all" the modules have been designed Because every module is examined simultaneously, high-risk, crucial modules are not segregated and tested first User interface-related peripheral modules are neither segregated or subjected to priority testing • Incremental Testing • Bottom-up Integration Testing: Bottom-up The strategy of integration testing involves testing the lower-level modules first The testing of higher-level modules is subsequently made easier with the help of these tested modules Until every module at the top level has been tested, the process continues The next level of modules is generated when the lower-level modules have been tested and integrated o Advantages: Localizing a fault is simpler In contrast to the Big-bang approach, there is no time lost waiting for the development of all modules o Disadvantages: The last to be tested and potentially prone to errors are critical modules (at the top level of the software architecture) that control the flow of the program There is no way to create an early prototype • Top-down Integration Testing: Top-down integration testing is a technique in which testing is conducted in accordance with the software system's control flow from top to bottom To test the functionality of the software, the higherlevel modules are tested first, followed by the testing and integration of the lower-level modules If some modules are not yet complete, testing is done via stubs o Advantages: A chance to acquire an early prototype Critical Modules are tested first; significant design faults may be discovered and corrected first o Disadvantages: Needs a lot of Stubs Modules at a lower level receive insufficient testing • Sandwich Method: Combining Top-Down and Bottom-Up Thinking Sandwich testing is a technique where top-level modules are tested alongside 113 lower-level modules while also integrating lower modules with top modules and testing the system as a whole Because it combines Top-down and Bottom-up methodologies, this testing method is known as hybrid integration testing It utilizes drivers as well as stubs 6.5.3 System Testing Theory: A comprehensive and integrated product is tested during system testing after unit and integration testing System testing ensures that the system works in many different environments and integrates with many different software and systems Typically, a software product is only tested on due to the demo environment Blackbox testing is a subset of system testing System discusses how the software functions externally from the perspective of the user Why is system testing necessary? The system test will the following jobs: • Following integration testing, we must further examine the application's compatibility and interaction with external peripherals to evaluate its usability • System testing involves carefully examining and verifying each input into the application to check for the anticipated outcomes • Test the user's experience with the application Types of system testing strategies: System testing has more than 50 types, we will introduce some typical system test types below: • Usability Testing – Testing the usability of the application, mainly focusing on testing the ease of use, flexibility, friendliness of the product • Load Testing – Checking the operating speed of the product, a good product is a product that must operate at high speed and can withstand a large load when many users are accessing it • Regression Testing – Regression testing focuses on finding bugs after a major code change occurs Specifically, it seeks to detect software regressions or returning bugs Such regressions occur whenever software functionality that was previously working is now suspended as intended Usually, regressions occur as an unintended consequence of program changes, when a new piece of software is developed that conflicts with pre-existing code The common method of regression testing consists of re-running previous tests and testing to see why the previously fixed error 114 occurred The depth of testing depends on the risks and stages in the release of additional features They can be finalized as further changes are made at the beginning or end of the release and can also be low risk when doing aggressive testing on each feature • Recovery Testing – Recovery testing is testing that is performed after system failures lead to faulty, inoperable programs Recovery testing is performed to ensure that the program after fixing the above error does not occur • Migration Testing – Mobility testing is done to ensure the portability of the software; the software can be migrated from the legacy system infrastructure to the current one without any problems • Functional Testing – Functional testing to ensure that the software functionality is operating according to the intended purpose • Hardware/Software Testing – This is when the testers focus attention on the interaction between hardware and software during system testing Conclusion: System testing is crucial to the process of creating a product because it will verify that your application is highly compatible with the real environment before the product is released 6.5.4 Acceptance Testing Theory: Acceptance testing is a test to see if the software system complies with the requirements Acceptance testing will evaluate whether or not the system meets the customer's criteria and needs by comparing the system's behavior to actual data Boundary value analysis, equivalence partitioning, and Juneision tables are a few of the methods utilized in acceptance testing Why use Acceptance Testing? Acceptance testing allows you to ascertain whether the developed solution or program is following the customer's suggestions Additionally, acceptability testing has a wide range of additional advantages, including: • Acceptance Testing helps to learn and identify user requirements by direct testing • Through Acceptance Testing will find problems in the Unit or Integration Tests that have passed • Acceptance Testing helps you have the most overview of the system results achieved 115 • Acceptance Testing is used to identify and verify customer needs Types of Acceptance Testing: • Alpha & Beta Testing: Internal personnel typically conduct alpha and beta testing in a development environment Alpha Testing can be carried out by a limited group of future users as long as it happens in a development setting Thanks to the data from alpha and beta testing, you'll be able to spot some issues and fix them more effectively • Contract Acceptance Testing: Acceptance of Contract The contract's requirements and specifications are tested through testing When the project team accepts the contract, the pertinent criteria and specifications will be established and accepted by the team • Regulation Acceptance Testing: Acceptance of Regulation Testing is done to see whether the program conforms with the rules Special focus should be placed on governmental and legal requirements during the inspection • Operational acceptance Testing: Operational Acceptance Testing assists in ensuring that business processes really permit the use of the software or system Workflows for emergency planning are included in operational acceptance testing - User education procedures - Security measures and upkeep processes • Black Box Testing: User acceptance testing includes black box testing Without allowing the tester to see the internal code structure, this testing technique aids in functionality analysis To succeed in Black Box Testing, you must be aware of the conditions that the software must fulfill Conclusion: One of the crucial testing phases, acceptance testing, enables you to determine whether or not the functionality of the software program satisfies the defined requirements As a result, knowing what acceptance testing is and the many types of it will help you test software more effectively 6.6 BLACK BOX TESTING AND BUG REPORT 6.6.1 The test cases The link for access purposes: MyStore_TestCase 116 6.6.2 Bug Report ID number BF_22 When product quantity in cart is and click “-“, product should Name be remove from cart Reporter Vu Submit Date Dec 12, 2022 Product is not remove from cart after clicking “-” when its Summary quantity is URL Screenshot Platform PHP/Laravel Operating System Windows 10 Browser Severity Major Assigned to Nghia Priority Medium Table 66: Bug report Description 117 When product quantity is and user click button “-”, it should be remove from cart Steps to reproduce > Open cart > Click button “-” when product quantity is >Product is removed from cart Expected result Click button “-” when product quantity is 1, it is removed from cart Actual result Click button “-” when product quantity is 1, it is still in cart ID number BF_23 Name Click “Ưu đãi toán” should open that page Reporter Vu Submit Date Dec 12, 2022 When user click “Ưu đãi toán” button, the website does not Summary navigate to that page URL Screenshot Platform PHP/Laravel 118 Operating System Windows 10 Browser Severity Major Assigned to Nghia Priority Low Table 67: Bug report Description When click “Ưu đãi toán” button, the website navigate user to “Ưu đãi toán page” Steps to reproduce > Click “Ưu đãi toán” button > Open that page and display page details Expected result Navigate user to that page and display details Actual result Website does not open that page ID number BF_024 Name Click “Quy chế hoạt động” should open that page Reporter Vu Submit Date Dec 12, 2022 When user click “Quy chế hoạt động” button, the website does not Summary navigate to that page URL 119 Screenshot Platform PHP/Laravel Operating System Windows 10 Browser Severity Major Assigned to Nghia Priority Low Table 68: Bug report Description When click “Quy chế hoạt động” button, the website navigate user to “Ưu đãi toán page” Steps to reproduce > Click “Quy chế hoạt động” button > Open that page and display page details Expected result Navigate user to that page and display details Actual result Website does not open that page 120 ID number BF_25 Name Click “Chính sách bảo hành” should open that page Reporter Vu Submit Date Dec 12, 2022 When user click “Chính sách bảo hành” button, the website does Summary not navigate to that page URL Screenshot Platform PHP/Laravel Operating System Windows 10 Browser Severity Major Assigned to Nghia Priority Low Table 69: Bug report Description When click “Chính sách bảo hành” button, the website navigate user to “Ưu đãi toán page” 121 Steps to reproduce > Click “Chính sách bảo hành” button > Open that page and display page details Expected result Navigate user to that page and display details Actual result Website does not open that page ID number BF_026 Name Click “Tuyển dụng” should open that page Reporter Vu Submit Date Dec 12, 2022 When user click “Tuyển dụng” button, the website does not Summary navigate to that page URL Screenshot Platform PHP/Laravel Operating System Windows 10 122 Browser Severity Major Assigned to Nghia Priority Low Table 70: Bug report Description When click “Tuyển dụng” button, the website navigate user to “Ưu đãi toán page” Steps to reproduce > Click “Tuyển dụng” button > Open that page and display page details Expected result Navigate user to that page and display details Actual result Website does not open that page 123 CHAPTER CONCLUSION 7.1 ACHIEVEMENTS From the beginning of the project, through the process of analyzing and researching the topic in general, the group has fulfilled the initial goals and expectations Through the process of self-studying and searching for information online to the project, our team learned and understood more about the process of building a website using Laravel, database analysis, problem-solving, and teamwork Thereby, the team improves their skills and gains more experience 7.1.1 Theoretically achievements Throughout the process of doing this project, my group gained knowledge about how to use HTML, CSS, and JavaScript more efficiently We also learn how to work with and use PHP and Laravel Besides, our team has more experience with MySQL, including how to write and use the API in it Further, we also know more about how to integrate the above technologies to develop an e-commerce website 7.1.2 Realistic results The project team develops the “Build e-commerce website for selling mobile phones” that has these functions: manage products, manage bills, manage cart, manage accounts, and manage user profiles Besides, our team also provides users with a search function to search for products and news Users can then filter products by the provided selection Users can also click a specific product to view its details And an e-commerce website must include the "add product to cart" function, so we also add that one Like any other websites, our project has the registration with the verify mail and login functionality and the logout one 7.2 STRENGTHS Throughout the process of the project, we gain fundamental knowledge of the above technologies We also know how to apply those in the project and to work in a team And the project meets the requirements of an e-commerce website, which include adding products, managing products, and modifying accounts Besides, our website also allows users to add products to their cart and modify the cart, which includes increasing or decreasing product quantity or removing products from the cart One of the most important features of an e-commerce website is online payment, and our website also has that one 124 On the website, the user interface is friendly to users and easy to use, even for guests who visit the site for the first time All the above functions work properly, although they still have limitations 7.3 LIMITATIONS We run this project within four months That is not enough time for us to learn new technology deeply We still haven't been able to apply what we've learned in the most effective way And our project did not achieve some of the initial expectations Besides, the UI of the website has not applied the most vivid effects yet The product source is not diverse when compared to other websites Moreover, there may be some mistakes in testing the project, as we not have much experience in testing techniques 7.4 DIRECTIONS OF FUTURE DEVELOPMENT Although we have finished the project's development, there are some limitations to our app In the future, we would like to make the website support multiple languages Besides, we also want users to follow the product and get notifications about it Our team will continuously improve the UI and apply catchy effects to make it more visible and effective Further, we will apply newer technology, maintain the system, and improve the code to enhance the system and make it faster and more stable In the near future, we plan to add a tracking function which helps users to check their purchased product’s delivery We also plan to develop a mobile app version that can connect with the website to provide users with convenience Regarding payment, we will provide a variety of payment methods by adding a scanning QR code and linking payment with the e-wallet 125 REFERENCES [1] Matt Stauffer (2019) Laravel: Up & Running: A Framework for Building Modern PHP Apps 2nd Edition [2] Jeffrey Wa (2013) Laravel Testing Decoded [3] Robin Nixon (2014) Learning PHP, MySQL & JavaScript with jQuery, CSS & HTML5 (Learning PHP, MYSQL, JavaScript, CSS & HTML5) [4] Alan Forbes (2012) The Joy of PHP: A Beginner's Guide to Programming Interactive Web Applications with PHP and MySQL [5] Gerardus Blokdyk (2020) Apache Web Server A Complete Guide [6] Apache Software Foundation (2016) Apache HTTP Server Documentation Version 2.5 [7] LCF Publishing (Author), Jamie Chan (2018) SQL: Learn SQL (using MySQL) in One Day and Learn It Well SQL for Beginners with Hands-on Project (Learn Coding Fast with HandsOn Project) [8] PHP Guru Book Press (2020) Don't Panic! I'm A Professional PHP Laravel Developer: Customized 100 Page Lined Notebook Journal Gift For A Busy PHP Laravel Developer: Far Better Than A Throw Away Greeting Card [9] Cary Racz (2021) LARAVEL Framework: Learn Primary Skills Of LARAVEL Fast And Easily: Laravel Php Web [10] Mr John Henderson (2011) Understanding XAMPP, For Newbies 126 S K L 0

Ngày đăng: 17/07/2023, 14:58

Xem thêm:

w