来借鉴的同学给个⭐再走哈
Semester: 2022/2023 Semester 2
Course: CPT202 Assignment 1
Group: 24
Project Website: Pizza Ordering System
Project Report: Project Report
Peresonal Report: CPT202-A3-2039153 -Personal Report
Date: 2023.5.5
- Zichao Cong
- Wenbo Wang
- Zihao Li
- Changqing Lin
- Xinyi Xu
- Enhua Kang
- Ke Bai
- Siyi Pan
For a comprehensive demonstration of the project's design architecture, technical details, and a walkthrough of all functionalities, please watch our demo video on YouTube: Pizza Ordering System Demo
- Introduction
- Aims of the Project
- Project Scope
- User Characteristics
- Assumptions and Dependencies
- Project Risks
- Architectural Design
- System Architecture
- Software Modules
- High-Level Database Design
- Software Design
- Software Support Services
- Coding Structure and Convention
- Software Configuration and Production Environment
- Software Testing
The "Pizza Ordering System" is designed for a pizza shop to provide online ordering services. This system allows both customers and managers to interact with the shop's operations effectively. Customers can place orders online, view order history and current order status, while managers can manage product listings, view orders, and access business-related reports. The goal is to streamline the ordering process and improve overall user experience.
The project aims to facilitate different roles for customers and store managers through the web application. Customers can register, order pizzas, and track their orders, whereas managers have access to order details, pizza management, and business analytics.
The scope of the project includes the integration of third-party payment methods and delivery services, which are not controlled by the system but are essential for the ordering process.
The primary users are online pizza orderers, typically aged between 15 to 35 years, and are mostly from first and second-tier cities. The system is user-friendly, catering to a wide range of users including those unfamiliar with complex web navigation.
The project assumes that all team members possess the necessary skills and experience for web development. It depends on several external factors like development speed, software libraries, and the availability of external resources.
The project faces risks in coding, collaboration, and legal, social, ethical, and professional domains. These include software tool compatibility, team coordination, data privacy, and security concerns.
Key features like pizza customization, order management, user authentication, and statistical reporting are implemented using technologies like MySQL, Java Persistence API (JPA), Java Database Connectivity (JDBC), Spring Boot, Spring MVC, and Thymeleaf.
The system utilizes JPA for object-relational mapping, Spring Boot with Spring MVC for web services, and Thymeleaf for frontend templating, offering a robust and scalable solution.
The system comprises modules for user management, pizza management, menu, shopping cart, order management, and statistical reporting, each with specific input, output, functions, and dependencies.
The database design includes entities like User, Customer, ShopManager, Pizza, ShoppingCart, and Order, structured to efficiently store and manage necessary data.
The design ensures user-friendly navigation through registration, login, menu selection, shopping cart management, and order processing.
The system includes database management, security features like verification codes and firewalls, and enhanced webpage navigation for an improved user experience.
The project adheres to standards in file naming, organization, Java source files, indentation, comments, declarations, statements, white space, and programming practices.
The development environment includes Spring Security, HTML, Java, CSS, IntelliJ IDEA, Visual Studio Code, and an Ali ECS Ubuntu server with MySQL database.
Unit and integration testing methodologies are employed to ensure the reliability and correctness of individual components and their integration within the system.