Design and implementation of tourism vacation system based on Java+SpringBoot+Vue separation of front and back ends (with video explanation)

Blogger introduction: ✌ 3W+ fans on the whole network, a full-stack development engineer, has been engaged in software development for many years, and has stayed in a big factory. Hold software intermediate, six and other certificates. It can provide micro-service project construction and graduation project actual combat. The blogger has also written excellent papers, and the duplication rate is extremely low. He has rich experience in this field✌

Blogger's work: "Java Project Cases" is mainly based on SpringBoot+MyBatis/MyBatis-plus+MySQL+Vue and other front-end and back-end separation projects. You can find more projects in the classification column on the left. Several "Uniapp Project Cases" have uniapp tutorials and actual development of enterprises. The column "Microservice Actual Combat" is a summary of my actual combat experience. "Spring Family and Microservice Series" focuses on source code interpretation, popular interview questions, architecture design, etc. of Spring, SpringMVC, SpringBoot, SpringCloud series, and Nacos. In addition, there are many articles waiting for you to savor carefully, and more surprises are waiting for you

🍅 Open source projects are free: Click here to clone or download  🍅

🍅Get in touch at the end of the article🍅Wonderful columns recommend subscription👇🏻👇🏻 Otherwise you won’t find it next time
 ✨[Microservices] Why does Nacos discard short connections (http) and choose to embrace long connections (gRPC)

Table of contents

I. Introduction

2. System design

1. System operating environment

2. System architecture design

3. Non-functional and Feasibility Analysis

4. Function screenshot

1. Front desk:

1.1. Home page

1.2. Login

1.3. Scenic spots

1.4. Food

1.5. Hotels

2. Personal background

2.1. Order information

Background management terminal:

3. Scenic spot management

4. Gourmet management

5. Order management

6. Hotel management

7. Advertising configuration

8. System management

8.1. User Management

8.2. Role Management

8.3. Menu management

8.4. Department management

8.5. Post management

8.6. Dictionary management

Five, implement the code

1. User controller

2. User service interface

3. Service implementation class

Six, uniapp tutorial (needs analysis, each module and its node documents, each module case) another project

Seven, get the source code

I. Introduction

As social life gets better and better, people's demand for quality of life is also gradually increasing. Entering the 21st century, under the background of the widespread popularization and improvement of the Internet and related information technologies in various countries, China's Internet information technology has developed rapidly. With the rapid development of Internet information technology, e-commerce is developing rapidly in various industries. Although many challenges have been encountered in the development process, it has provided unprecedented opportunities for various industries in China. Under such circumstances, all walks of life are scrambling to develop Internet e-commerce, which not only makes the form of commodity sales more diversified, but also broadens the scope of services for selling products. Another more important advantage is the advantages of e-commerce. Commercial products can break through the distance restrictions between different regions, so as to share resources.
 

2. System design

1. System operating environment


Development system: Windows10

Architecture mode: MVC/separation of front and back ends

JDK version: Java JDK1.8

Development tools: IDEA

Database version: mysql5.7

Database visualization tools: SQL yog or Navicat for MySQL

Server: SpringBoot comes with apache tomcat

Main technologies: Java, SpringBoot, MyBatis-plus, SpringSecurity, Redis, MySQL, Vue, Html, etc.

2. System architecture design

3. Non-functional and Feasibility Analysis

2.5 Non-functional requirements analysis

Non-functional requirements: user requirements or expectations for software quality attributes, operating environment, resource constraints, external interfaces, etc., including:

2.5.1 Performance requirements:

User requirements in terms of software response speed, result accuracy, runtime resource consumption, etc.

2.5.2 Feasibility requirements:

User requirements in terms of frequency, severity, ease of recovery, and predictability of software failures.

2.5.3 Ease of use requirements:

User requirements on the usability and aesthetics of the interface, as well as user-oriented documents and training materials.

2.5.4 Security requirements:

User requirements on identity card, authorization control, privacy, etc.

2.5.5 Operating environment constraints:

User requirements for the operating environment of the software system.

2.5.6 External interface:

User interface requirements between the software system to be developed and other software systems or devices

2.6 Feasibility analysis

Feasibility analysis is to analyze various factors that may affect the system from different angles to confirm that the system is feasible in actual life. This system is simply analyzed from four aspects: economy, law, technology and operational feasibility.

2.6.1 Technical Feasibility

The technical feasibility analysis mainly analyzes whether the technical conditions can successfully complete the development work, and whether the software and hardware can meet the needs. This system uses Vue+Elementui to develop a friendly and beautiful man-machine interface, which is easy for users to understand and operate. The database management system uses MySQL, which is capable of handling large amounts of data while maintaining data integrity, security, and persistence. The back-end technology uses SpringBoot and MyBatis. These technologies have been commercialized in many companies, so the development platform of this system is mature and feasible. In terms of hardware, with the rapid development of science and technology today, the hardware update speed is getting faster and faster, the capacity is getting bigger and bigger, the reliability is getting higher and higher, and the price is getting cheaper and cheaper, so the hardware platform can also meet the needs of this system.

2.6.2 Economic feasibility

The project is placed in the linux environment of Ali student server or local virtual machine, so it is feasible.

2.6.3 Legal feasibility

Feasible, the project written by myself has a clear purpose and no violation of laws and regulations.

2.6.4 Operational Feasibility
The operation is relatively simple, and the current information technology is advanced, and the design of the interface really takes into account the user experience, and the system is also born for the user. Therefore, the operation is feasible, and there is no difficult operation.
 

4. Function screenshot

1. Front desk:

1.1. Home page

1.2. Login

1.3. Scenic spots

1.4. Food

1.5. Hotels

2. Personal background

2.1. Order information

Can modify and cancel orders

Background management terminal:

3. Scenic spot management

4. Gourmet management

5. Order management

6. Hotel management

7. Advertising configuration

8. System management

8.1. User Management

8.2. Role Management

8.3. Menu management

8.4. Department management

8.5. Post management

8.6. Dictionary management

Five, implement the code

1. User controller

@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("/api/users")
public class CeamSysUserController {
 
    private final ICeamSysUserService ceamSysUserService;
 
    @GetMapping
    public ResponseEntity page(PageableDTO pageableDTO) {
        IPage<CeaMSysUserVO> ceaMSysUserVOIPage = ceamSysUserService.pageCeaMSysUserVO(pageableDTO);
        return ResponseEntity.ok(ceaMSysUserVOIPage);
    }
    
    @PostMapping
    public ResponseEntity<Object> add(@RequestBody CeaMSysUserDTO data) {
        ceamSysUserService.add(data);
        return ResponseEntity.ok("success");
    }
 
    @PutMapping
    public ResponseEntity<Object> edit(@RequestBody CeaMSysUserDTO data) {
        ceamSysUserService.edit(data);
        return ResponseEntity.ok("success");
    }
 
    @DeleteMapping
    public ResponseEntity<Object> add(@RequestParam String id) {
        ceamSysUserService.remove(Long.parseLong(id));
        return ResponseEntity.ok("success");
    }
}

2. User service interface

/**
 * <p>
 * User Table Service Class
 * </p>
 *
 * @author CeaM
 * @since 2023-01-28
 */
public interface ICeamSysUserService extends IService<CeamSysUser> {
 
    /**
     * Paging query
     *
     * @param pageableDTO pagination input parameters
     * @return Paged data
     */
    IPage<CeaMSysUserVO> pageCeaMSysUserVO(PageableDTO pageableDTO);
 
    /**
     * Load user information according to account
     *
     * @param userName user account
     * @return CeaMSysUserDTO
     */
    CeaMSysUserDTO loadUserInfo(String userName);
 
    /**
     * Add user
     *
     * @param data Front-end input parameters
     */
    void add(CeaMSysUserDTO data);
 
    /**
     * modify user
     *
     * @param data Front-end input parameters
     */
    void edit(CeaMSysUserDTO data);
 
    /**
     * delete user by user ID
     *
     * @param id userId
     */
    void remove(Long id);
}

3. Service implementation class

@Service
public class CeamSysUserServiceImpl
        extends ServiceImpl<CeamSysUserMapper, CeamSysUser> implements ICeamSysUserService {
 
    @Override
    public IPage<CeaMSysUserVO> pageCeaMSysUserVO(PageableDTO pageableDTO) {
        LambdaQueryWrapper<CeamSysUser> queryWrapper = Wrappers.<CeamSysUser>lambdaQuery()
                .eq(CeamSysUser::getDeleted, GlobalConstants.FALSE);
        Page<CeamSysUser> page = new Page<>(pageableDTO.getPage(), pageableDTO.getSize());
        page.setCurrent((long)pageableDTO.getPage()  + GlobalConstants.ONE);
        Page<CeamSysUser> ceamSysUserPage = page(page, queryWrapper);
        IPage<CeaMSysUserVO> ceaMSysUserVOIPage = PageVOUtil.copyToPageVO(ceamSysUserPage, CeaMSysUserVO.class);
        return ceaMSysUserVOIPage;
    }
 
    @Override
    public CeaMSysUserDTO loadUserInfo(String userName) {
        LambdaQueryWrapper<CeamSysUser> queryWrapper = Wrappers.<CeamSysUser>lambdaQuery()
                .eq(CeamSysUser::getUsername, userName);
        CeamSysUser ceamSysUser = baseMapper.selectOne(queryWrapper);
        if (ObjectUtils.isEmpty(ceamSysUser)) {
            throw new ServiceException("Account does not exist");
        }
        if (ceamSysUser.getStatus() == GlobalConstants.ONE) {
            throw new ServiceException("account disabled");
        }
        CeaMSysUserDTO ceaMSysUserDTO = BeanCopyUtil.copyProperties(ceamSysUser, CeaMSysUserDTO.class);
        return ceaMSysUserDTO;
    }
 
    @Override
    public void add(CeaMSysUserDTO data) {
        CeamSysUser ceamSysUser = BeanCopyUtil.copyProperties(data, CeamSysUser.class);
        save(ceamSysUser);
    }
 
    @Override
    public void edit(CeaMSysUserDTO data) {
        CeamSysUser ceamSysUser = BeanCopyUtil.copyProperties(data, CeamSysUser.class);
        updateById(ceamSysUser);
    }
 
    @Override
    public void remove(Long id) {
        removeById(id);
    }
}

Six, uniapp tutorial (needs analysis, each module and its node documents, each module case) another project

another project Design and implementation of a fitness reservation system based on Java+SpringBoot+Vue+Uniapp (with tutorial) separation of front and back ends

Seven, get the source code

Everyone like, bookmark, follow, comment, follow the official account below to get contact information👇🏻👇🏻

🍅Free download 🍅Commercial use requires authorization: click here to download

The actual combat tutorial of vue will be launched later

Tags: Java Vue.js Spring Boot

Posted by marker5a on Sat, 25 Mar 2023 03:52:42 +0530