introduce
This topic follows the theory of software engineering, as well as the software life cycle of requirements analysis, system design, coding and testing. The system is developed using the SpringBoot framework, which provides a full-featured MVC module for building Web applications. It is mainly composed of dispatcher servlet, handler mapping, processor (Controller), view resolver and view. Dispatcher servlet is the core of the whole Spring MVC. It is responsible for receiving HTTP requests, organizing and coordinating various components of Spring MVC. It mainly adopts Java programming language and MySQL database.
According to the demand research results, it is determined that the news information release system mainly includes the following functional modules: front-end news viewing, multi-level news comments, news release, crud, news crawling, user crud, news submission, and chatting with other online users.
The background is divided into administrator background and ordinary user background.
- Administrators can publish and crawl news and manage users. And manage news submissions and modify their own information.
- Ordinary user management can manage their own messages, modify their own information and so on.
Technology stack
- SpringBoot
- AmazeUI "sister UI"
- Thymeleaf
- Druid data source
- Mybatis
- hutools (for http crawling)
<artifactId>spring-boot-starter-websocket</artifactId> <artifactId>hutool-all</artifactId> <artifactId>gson</artifactId> <artifactId>log4j</artifactId> <artifactId>lombok</artifactId> <artifactId>mybatis-spring-boot-starter</artifactId> <artifactId>druid</artifactId> <artifactId>spring-boot-starter-jdbc</artifactId> <artifactId>spring-boot-starter-thymeleaf</artifactId> <artifactId>spring-boot-starter-web</artifactId> <artifactId>mysql-connector-java</artifactId> <artifactId>spring-boot-starter-test</artifactId>
functional module
- Login module, registration module. Simple permission control
- Article details, classification, label
- Friend chain
- Rich text editing
- User management, retrieve password
- Manage articles and posts, user message management, friendship link management, personal information modification
- Comment management
- chat online
- News crawling and preservation
Project demonstration
home page
News display and original web page
- It is divided into article area, function area, personal area and other main modules of the website
- The allocation of each module is clear, which makes it easier to find the required operation position
- Users can select the modules they want to browse according to their needs
Article classification
- Users can filter the required information as they wish
label
-
Fast browsing of news on major websites
-
Add life notes, poetry and other additional modules
Friend chain
Contribution
about
Current project description page
land
-
The user is required to enter the correct account and password
-
Limit the format of account password
Register and retrieve the password
- The new account improves the account name, password, real name, gender and other personal information
- Explain each type of registration information
- Information format standardization
explain
Technical description:
When registering a user, it will be saved to two tables (news and private chat) at the same time
The real name is used to modify the credentials of the password.
The password saved in the database is md5 salt
When registering, you will query whether the user id can be used and whether other contents are feasible. There is a verification code in the background
backstage
The background is divided into administrator background and ordinary user background
Administrator background
Content management
- Manage submissions and review
- Organize news and contribution works
- Manage user communication and handle violation comments
News crawling
Examples of crawling contents are as follows
{ "version": "https://jsonfeed.org/version/1", "title": "Sina News", "description": "Sina global real-time news broadcast", "items": [ { "id": 1936383, "content_html": "", "url": "https://finance.sina.cn/7x24/2020-12-19/detail-iiznezxs7786688.d.html", "title": "[Beijing: all the covid-19 businesses in the middle risk area are closed. In December 19th, 188th new press conferences for the prevention and control of new crown pneumonia in Beijing were held. From December 19, 2020, the Dashanzi store of Hanting hotel in Chaoyang District (including Deshang) will be designated as a medium risk area. Beijing will strengthen various prevention and control measures in a timely manner according to the change of epidemic risk level. Among them, the bottom businesses in medium-risk areas, surrounding collective units, communities and service industry places are all closed, the access registration is strict, and the temperature measurement and code verification are strengthened. (Beijing Youth Daily)", "date_modified": "2020-12-19T07:26:58.000Z" }, { "id": 1936382, "content_html": "", "url": "https://finance.sina.cn/7x24/2020-12-19/detail-iiznezxs7786103.d.html", "title": "[Beijing: Chaoyang covid-19 diagnosed by Tong Lizhi has been tested in Changping Tiantongyuan. All 25 closely knitted nucleic acids are negative. In December 19th, the 188th new crown pneumonia epidemic prevention and control work in Beijing was held at a press conference. The deputy district head of Changping District, Beijing, said that a confirmed case in Chaoyang District had been stopped at 14 days in 23 days, and was left at 7 o'clock the next day. In view of this situation, Changping District has rapidly carried out flow survey and comprehensively defined the close connection scope. 25 close connections and 21 secondary close connections managed by the district have been arranged, all of which have been intensively observed. The first nucleic acid test was completed for the above personnel, and the results were negative. (Beijing Youth Daily)", "date_modified": "2020-12-19T07:23:45.000Z" }, { "id": 1936381, "content_html": "", "url": "https://finance.sina.cn/7x24/2020-12-19/detail-iiznezxs7786063.d.html", "title": "[Miao Wei talks about industrial chain upgrading in the new era: we should innovate independently and never engage in "closed door doctrine"] Miao Wei, former Minister of the Ministry of industry and information technology, said that in the new era, we should strive to promote the transformation and upgrading of manufacturing industry and enhance the ability of independent control of industrial chain and supply chain. In this process, we should properly handle the relationship between independent innovation and open cooperation. We should master the key core technologies in our own hands, constantly improve the ability of independent innovation, and solve a number of "neck" problems as soon as possible. At the same time, we should develop ourselves under open conditions. We must not engage in "closed door doctrine", abandon or exclude international cooperation, and strengthen international cooperation in various fields. We should also further improve the business environment, treat all kinds of enterprises equally, and enable enterprises to find a sense of belonging and gain. (China News Agency)", "date_modified": "2020-12-19T07:23:31.000Z" },http://www.biyezuopin.vip { "id": 1936380, "content_html": "", "url": "https://finance.sina.cn/7x24/2020-12-19/detail-iiznezxs7786011.d.html", "title": " [71 new coronavirus cases in a single day in the world.77 24 million new cases in the United States.97 Covid-19, the Hopki University epidemic statistics show that in December 18th, the new confirmed case of pneumonia was 71 all over the world all day long..77 Ten thousand cases. Among them, covid-19 confirmed new cases of pneumonia in the United States 24.97 Million cases, a one-day high. So far, a total of 75.67 million cases have been diagnosed and 167 deaths have occurred worldwide.48 Million cases, with a total of 191 countries and regions diagnosed.", "date_modified": "2020-12-19T07:23:07.000Z" } ......................... ................. ..................... ] }
explain
Due to the instability of crawling, it may not be possible to successfully crawl news at one time. Multiple tests are required
System settings
- Personal information settings
You can upload avatars here
-
Password Reset
user management
-
Registered user information settings
-
User interface management
Links
-
Link add management
General user background
-
Data display
-
Data modification
-
Comment management
-
Personal information improvement
database
sql file has been uploaded
chat online
It can detect which users are currently logged in, and a pop-up window will prompt users to log in and out. Select users can chat.
At the same time, system broadcast can be released.
Waiting for details to be improved
- Add Markdown editor
- Replace the persistence layer framework with mybatis plus
- All code iterations are Everyone open source
- Add redis (verification code)
- Review and release the crawled news instead of publishing it all at once
- The article label should be filled in by yourself (involving the database, you need to add a new table to store the label). At the same time, the front end should also modify the code
Known bug s
- If there is no next page on the home page, the "next page" should be grayed out
- User management division, adjust gender error
- After logging in, the upper right cannot be aligned
- News crawling sometimes fails
- Single sign on (news and private chat pages only need to log in once) failed. However, unified exit was successfully realized.
Acknowledge
- wangEditor
- Some codes refer to Mr. Li Renmi's Small and beautiful personal blog project
- Crawl code reference http://www.biyezuopin.vip