The most suitable SpringBoot+SSM project for novices "Sky Takeaway" actual combat - (1) Project overview

Dark Horse Programmer's latest Java project actual combat "Sky Takeaway", the most suitable SpringBoot+SSM enterprise-level Java project actual combat for novices.

Project Description

The positioning of the "Kangqiong Takeaway" project is a software product customized for catering companies (restaurants, restaurants). The project is an online takeaway ordering system, where customers can order meals through the website or mobile app. The project can provide the following functions:

  1. Users can register and log in account, browse restaurant list, select menu, place order and pay;
  2. Restaurants can register accounts and manage menus, receive and process orders;
  3. The background administrator can manage restaurant and user account information, process orders and complaints, generate sales reports, etc.

The sky delivery project needs to meet the following technical requirements:

  1. Design and development of websites and mobile apps;
  2. Design and implementation of database management system;
  3. Access and development of payment systems;
  4. Docking and management with third-party distribution companies;
  5. Security and privacy protection considerations, such as preventing SQL injection, XSS attacks and data leakage.

The advantages of the sky takeaway project are that it is convenient, quick, time-saving, and meets people’s daily dining needs; the disadvantage is that there may be cumbersome details and uncertainties in service quality.

project structure

The overall structure of the project is divided into front-end and back-end, and the development mode is a separate development mode for front-end and back-end:

image-20230706135821544

Web management terminal (used by takeaway merchants) interface:

image-20230706140314293

Mini program client (user ordering) interface:

image-20230706140322107

functional module

The business function module in the project can be divided into two modules, the management end and the user end. The business functions in the modules are subdivided as follows:

image-20230706140755948

1). Management terminal

It is used by internal employees of catering enterprises. The main functions are:

module describe
login/logout Internal employees must log in before they can access the system management background
employee management Administrators can manage employee information in the background of the system, including query, add, edit, disable and other functions
Category management It mainly manages and maintains the classification of dishes or set meals operated by the current restaurant, including functions such as query, addition, modification, and deletion
Dishes management Mainly maintain the dish information under each category, including query, add, modify, delete, start selling, stop selling, etc.
package management Mainly maintain the package information in the current restaurant, including query, add, modify, delete, start selling, stop selling, etc.
order management Mainly maintain the order information placed by the user on the mobile terminal, including functions such as inquiry, cancellation, delivery, completion, and order report download
Statistics Mainly complete various statistics of restaurants, such as turnover, number of users, orders, etc.

2). Client

Mobile applications are mainly provided for consumer use. The main functions are:

module describe
login/logout Users need to log in and use the mini program to order food after authorization through WeChat
order-menu On the ordering interface, it is necessary to display the category of dishes/sets, and load the information of the dishes according to the currently selected category for users to query and select
order-shopping cart The dishes selected by the user will be added to the user's shopping cart, which mainly includes functions such as querying the shopping cart, adding to the shopping cart, deleting the shopping cart, and clearing the shopping cart.
s After the user selects the dishes/sets, he can settle and pay for the dishes in the shopping cart, and then he needs to pay for the order
personal information The basic information of the current user will be displayed on the personal center page, and the user can manage the delivery address and query historical order data

Technology Selection

Regarding the technology selection of this project, we will introduce it from the aspects of user layer, gateway layer, application layer, and data layer, mainly to show the technical framework and middleware used in the project. The technical framework and middleware used in the project are as follows:

image-20230706140854147

  1. user layer

    In this project, we will use H5, Vue.js, ElementUI, apache echarts (chart display) and other technologies to build the front-end page of the system management background. When building mobile applications, we will use WeChat applets.

  2. gateway layer

    Nginx is a server that is mainly used as an Http server to deploy static resources with high access performance. There are two more important functions in Nginx: reverse proxy and load balancing. During project deployment, to achieve Tomcat load balancing, it can be achieved through Nginx.

  3. application layer

    SpringBoot: Quickly build Spring projects, adopt the idea of ​​"convention is better than configuration", and simplify the configuration and development of Spring projects.

    SpringMVC: SpringMVC is a module of the spring framework. Springmvc and spring do not need to be integrated through an intermediate integration layer and can be seamlessly integrated.

    Spring Task: A timed task framework provided by Spring.

    httpclient: It mainly realizes the sending of http requests.

    Spring Cache: Data caching framework provided by Spring

    JWT: A token used to authenticate users on the application.

    Alibaba Cloud OSS: Object storage service, which mainly stores files, such as pictures, in the project.

    Swagger: It can automatically help developers generate interface documents and test the interfaces.

    POI: Encapsulates common operations on Excel tables.

    WebSocket: A communication network protocol that simplifies the data exchange between the client and the server, and is used to realize the functions of order receipt and reminder for the project.

  4. data layer

    MySQL: Relational database, the core business data of this project will be stored in MySQL.

    Redis: An in-memory database based on key-value format storage, with fast access speed, and it is often used as a cache.

    Mybatis: The persistence layer of this project will be developed using Mybatis.

    pagehelper: pagination plugin.

    spring data redis: API that simplifies java code to operate Redis.

  5. tool

    git: version control tool, in team collaboration, use this tool to manage the code in the project.

    maven: project build tool.

    junit: a unit testing tool. After the developer's functions are implemented, they need to unit test the functions through junit.

    postman: An interface testing tool that simulates various HTTP requests initiated by users and obtains corresponding response results.

Guess you like

Origin blog.csdn.net/qq_20185737/article/details/131575898