A brand new”Spring Boot Large-scale online mall Project Actual Combat Tutorial”Lesson, here it comes!

preface

Hello, I’m programmer thirteen.

I’m writing this in December 2021, exactly two years after the current course was first pre-sold and released on the Digger platform. The course “Spring Boot Large-scale Online Mall Project Actual Combat Course” was pre-sold on The Gold Digging platform on November 11, 2019. IT is an ACTUAL combat IT course, and the final realization of the course is a mall system.

Two years is really a snap. However, for an online course, two years is long enough to describe a lot of changes, and it is time to meet you with a new attitude. In this article, the author will talk about why this course is updated, what content is updated, and the changes of newBee-Mall, a practical project of this course, in the past two years.

Reasons for course update

The main reasons for curriculum renewal are as follows:

First of all, you are probably involved in the IT industry or related industries, which are rapidly evolving. People in the industry are so, so is technology, once can’t keep up with the pace of knowledge update is easy to fall behind. In 2019, the first version of newbee-Mall was developed and started on GitHub. In the past two years, the code in this project has been updated and iterated dozens of times. The update iteration of the actual project is not synchronized to the course “Spring Boot Large-scale online mall Project Actual Tutorial”.

In addition, more than 40 documents for this course were written and organized in 2019. Although the process also optimized some documents, corrected some typos and wrong expressions, it is inevitable that some will slip through the net. In 2020, under the guidance of several editors from The Publishing House of Electronics Industry, I made some progress in editing and correcting the text and expressing the text. Therefore, I reorganized the teaching documents of this course and corrected some non-standard expressions and the wrong use of words. Learning is like rowing upstream; not to advance is to drop back. The same is true for a work. If the content of the course is not updated and iterated in time, it will gradually lose its appeal and be forgotten.

Secondly, I have some free time recently. I have been very busy in the past few months and even worked overtime every day for a period of time. While busy with the company, he would also spare a little spare time to do things related to his side business. For example, from August 2021 to the end of October 2021, he finished the draft of the second physical book, and still needed to spend a lot of time to improve and revise it. After finishing the draft of the physical book, I began to plan to update and iterate the course. Since it is impossible to finish the final draft of the second physical book in a short time, it is better to update the course at once and simply devote one or two months to finish this matter. With an update plan in place, slowly start rewriting the documents.

At the same time, as the author of the course, I am responsible for the course, for the gold digging platform, and for every user who has bought or wants to buy. To create more and better content for the platform, so that we have a better learning experience, to ensure that we learn the knowledge of the time. Finally, the author also promises to you that although THE author is doing other open source projects, making and launching other online courses, he will still pay close attention to this course in real time and maintain this course all the time. Once there is an important version update, the content of this course will be updated in time. Please rest assured.

What has been updated

This course mainly includes more than 40 course documents and 18 teaching source code compression packages, the main update content is aimed at these two parts. The actual combat mall project newbee-Mall explained in this course is the basis for updating course documents and teaching source code, so this section mainly explains the update and optimization of these three parts.

Mall project iteration and update

The source code in the 2019 version of this course was compiled using the first version of the Newbee-Mall project as the base code. At that time, the Newbee-Mall project was just open source. Two years later, it has been updated and iterated for dozens of versions. The submission records are shown in the figure below.

The following updates are available:

Page style update

At the beginning of open source, the front-end page testing was mainly done by myself, which was not sufficient and some page defects were not found. Later, the defects in this part were corrected one by one, and some useless files and styles were deleted to make the page look more comfortable.

Default page effect added

When the list data is empty, the default page effect is not made separately. The page effect is very simple, and it is added to the project one by one in the subsequent update, such as the page of commodity search list, shopping cart page and order list page.

BUG fix

There were some bugs in the project when it was open source, and they were fixed one by one in the two years since open source. Some bugs are found by myself, others are found by friends who use this project, thank you very much. For example, SQL injection bugs, order requests that are not processed by the login interceptor, product search bugs that are not filtered and removed from the shelf, user modification of information resulting in empty fields, login interceptor failed to intercept bugs. These problems have been fixed one by one, and we hope to continue to find problems and improve the project.

Related links are as follows:

CVE-2019-19113 Detail

Issue: SQL Injection

Issue: Several potential bug alerts

Issue: IDOR causes Unauthorized changes to any user information

Issue: System background authentication can be bypassed

Issue: A bug that can be found when a product is thrown at the front desk

Code optimization and TODO transaction handling

This part of the code update mainly includes the following three points:

  1. Code cleanup: remove useless code, deal with TODO items, some logic you wanted to add in the first place but didn’t have time to add.
  2. Parameter validation and judgment logic optimization: Inadequate parameter validation in the code, and some methods that did not even check whether the parameters were qualified or not, have been corrected.
  3. Exception handling optimization: added global exception handling and error page rework.

Version update

The main reason is that the version of Spring Boot stack has been upgraded from 2.1.0 to 2.3.7, and the corresponding dependent versions have also been upgraded.

There are also changes to the captcha generation rules, which used kaptCHA. However, the version update was in 2015, so one implementation was replaced.

The plugin upgrade

  1. Rich text editing has been upgraded from KindEditor to the latest version of wangEditor.
  2. The list shows the plug-in jqGrid upgraded to 5.5.2.
  3. Swiper: Updated to 6.4.5.

The corresponding code has also been deleted and adjusted.

There is also a previous article on the reasons for the rich text editor upgrade, linked to page optimization, the latest wangEditor Rich Text Editor Integration Case.

Course Document Update

After all the manuscripts of the first edition of this course were sorted out, the author began to have the idea of publishing a physical book. In March 2020, I began to communicate with The Publishing House of Electronics Industry. After that, I decided on the topic selection, wrote proofs, and signed a draft contract. The first draft was completed in February 2021, and then I started editing and reviewing the book with the editors of the publishing house. It took more than a year to finally publish the first physical book.

Then, there is the matter of upgrading iterations of the course. Four months after the book was published, I finally found time to complete the upgrade iteration of this course.

Update from November 2, 2021, as shown below:

First, I synchronized all the documents published in this course on the gold digging platform to the local, and then BEGAN to update one by one. Draft 3 is the current article, because it is a summary article, so the text content has been adjusted.

Most of the documentation was updated in December 2021, and the work log is shown below.

Some chapters of the course are added or deleted, mainly those chapters that have abandoned technical explanation and those with low reading volume are deleted. At the same time, all the documents are more written and formal as a whole, because all the documents are updated on the basis of the manuscript. The author’s writing habits and writing skills also improved a little under the guidance of the editor of the publishing house.

The text of the course document has the following changes:

  • Fewer typos.
  • The expression is more written and formal, reducing colloquial expressions and long-winded sentences.
  • The professional terms used in the documents are uniform and standardized, and the official term shall prevail.
  • Punctuation standards, no misuse of punctuation marks.
  • Most of the assigned images have been reworked and replaced with images from the early 2019 document.
  • The new chapter numbers make the structure look clearer.

Teaching code update

The code in the open source repository is the complete project code of the practical project in this course, and each practical chapter in this course has a corresponding code. It can be understood that the Newbee-Mall open source mall project is disassembled into independent knowledge points one by one. The code of each chapter of this course is to realize these independent knowledge points one by one, and finally develop the mall project from zero to one. Each chapter corresponds to the chapter on the code and the final shape of the source code package, more suitable for everyone step by step to learn.

This part of the code has also been updated, and many of the explained cases and codes are very different from the original version in 2019, which is basically rewritten. The new source package is summarized as follows:

The actual combat project Newbee-Mall has been open source for two years

Many unexpected things have happened on the NewBee-Mall project since it was opened in October 2019. Even as a project writer, I can get a little carried away. I had no idea that so many happy, outrageous, unexpected things would happen to this open source project in the last two years.

From 0 to 8.2k stars

October 2019 open source, officially meet with you. For more than two years, the data for the Newbee-Mall project has been very good.

Thank you very much for your support. I will maintain this project well in the future.

From one project to a series of projects

The optimization and iteration work of New Bee Mall will not stop, not only the optimization of functions, but also the continuous increase in the technology stack. By 2021, new Bee Mall has released 5 important versions:

  • New Bee mall version V1, open source on October 9, 2019, the main technology stack for Spring Boot + MyBatis + Thymeleaf.
  • The Vue2 version of New Bee Mall was opened on May 30, 2020. The main technology stack is Vue 2.6.
  • Vue3 version of New Bee Mall, open source on October 28, 2020, the main technology stack is Vue3.
  • Vue3 version of new Bee Mall background management system, open source on March 29, 2021, the main technology stack is Vue3 + Element Plus.
  • The upgraded version of the new bee mall, open source on June 2, 2021, increased the second kill, coupons and other functions.

The version record and development plan of new Bee Mall are shown in the figure below.

From the original NewBee-Mall project, it has now grown into a series of projects, as shown in the figure below. It’s also a great way to keep an open source game alive and healthy for a long time.

Stay true to your original aspiration and forge ahead. Of course, we will continue to expand the technology stack in the future to bring more and better practical training projects for everyone.

Something unexpected, something happy

Newbee-mall is not the only open source project maintained by the author. Many happy or helpless things have happened in the open source project for several years.

There are some outrageous things, such as bugs being recorded by the vulnerability platform, project code being sold on Xianyu and B websites, all the information written clearly in the document being turned over and over, such as test data being deleted and so on. Some of these things are also in the article, linked below:

This catastrophe, write a bug was national information security vulnerability sharing platform caught?

Writing a bug was caught by the National Information Security Vulnerability sharing platform [Follow-up]

Open source project in xianyu, B station is resold? What is this SAO operation?

“Programmers have Stories.” Finally, I was crushed by them

“Open source embarrass matter 4: you those who sell code can leave oneself QQ number? Leave my QQ number why?”

Vue 3 + Element Plus + Vite 2

In addition, sharing open source projects and writing articles has made a big difference in my life. I became a little bit less silent, and I became a lot more open-minded than I was when I was writing code. I’ve seen more people and been exposed to more platforms. Also tried this to do a lot of sideline, wrote some sideline summary, these articles can be seen in the author’s article list, not much wordy.

The Newbee-Mall project was allegedly copied by MOOCs

This is the most ridiculous thing.

Mooc was suspected of copying the open source project of Newbee-Mall as the ultimate project of Java Engineer and selling online. Since June 6, 2021, the author has also published several articles to expose it. Thank you very much for your attention and support. I feel very heartwarming, and the author is more motivated and confident to complete the task of safeguarding rights. There will be a lawsuit later, this process should be quite long, wait patiently for the outcome of the trial.

June 6, 2021, was the first voice on the event, followed by a series of articles:

  • Zhihu: What do you think of mooC’s alleged copying of open source projects as the ultimate project of Java Engineer?

  • “Newbee-mall open source project was used by MOOCs as a course, but I did not know, what is this operation?”

  • “Newbee-mall open source project was taken by MOOCs to make courses. Detailed comparative records of the project are available. See here for more facts.”

  • “Spent 3680 yuan to buy a MOOC Java career course, which unexpectedly has my own open source project!”

  • “Newbee-mall open Source project was used by MOOC as a course, the lecturer apologized, but the course is still on sale”

  • Moocs have not apologized for copying open source projects, and are secretly “destroying bodies”.

  • The latest evidence: Code similarity reaches 90%!

Since choosing to expose the matter, there has been no official response or written explanation. On the contrary, the majority of netizens and the author together witnessed how the platform is “Ming Xiu Plank road secretly against Chen Cang”, the surface of the calm, secretly thinking of “destruction of body trace”. Source code is provided in the course suspected of infringement. Some personal information of the author was found in this source code before, including payment code and logo picture of Newbee-Mall, which has been completely deleted now. The preview address of the final project has also been deleted.

This kind of attitude and treatment way, also have to resort to the law:

If you dare to copy, I dare to Sue you!

Intellectual property rights should be respected. One should not only care about one’s own intellectual property rights but not respect those of others.

Now the incident is not qualitative, also can’t say some of the words that violate their right of reputation. But to be honest, it’s surprising that words like “MOOC”, “programmer’s dream factory”, “Tongji University”, “Technische Universitat Munchen” and “top student” can even come close to plagiarism.

I want to be treated with the respect I deserve as an open source author and as an originator.

Spring Boot physical book based on Newbee-Mall published

In 2020, I signed a contract with Publishing House of Electronics Industry, and the book was published in 2021. The process is sorted out in “Programmer’s Sideline: Finishing My First Book at the beginning of 2021” and “Programmer’s Sideline: My First Book Published!” In these two articles.

Looking back on the past two years, I feel like I am in a dream.

When I wrote the first line of code for the NewBee-Mall project in 2019, did I think it would grow over the next two years? No.

In 2019, when I was working on the open source NewBee-Mall project, could I have imagined that two years later it would be experiencing so many amazing stories? There is no.

What the future will bring, no one can predict. On the way forward, we can only persevere and work hard to become a better version of ourselves. Look back and say to yourself: You were great. Together with you.

conclusion

This article is mainly a summary of the course update in 2021, from planning to confirmation, to specific optimization and reorganization, and finally presented to everyone.

A brand new”Spring Boot Large-scale online mall Project Actual Combat Tutorial”Lesson, here it comes!