preface

Many open source projects have been recommended before, but in every article someone asks if there is a project based on Spring Boot, without exception.

So today, I have found two very good spring Boot open source projects for you. I hope you can be satisfied with them and give a small thumb-up.

Of course, I know everyone is very lazy, so the source code and documentation are also organized, can be directly click to retrieve.

  • Project source code and development documentation
  • Spring Boot Study notes

All right, no more words, just sit tight and let’s go!

I. OA Automatic office system

1. Project introduction

Oasys is an OA office automation system, using Maven for project management, based on the Springboot framework development of the project, mysql underlying database, front-end using freemarker template engine, Bootstrap as the front-end UI framework, integrated with JPA, Mybatis and other frameworks. As a new student of Springboot, it is a very good project. If you want to enhance OA on this basis, it is also a good plan.

2. Framework introduction

The project structure

The front end

technology The name of the version website
freemarker A template engine Springboot1.5.6. RELEASE Integration version freemarker.apache.org/
Bootstrap Front-end UI framework 3.3.7 www.bootcss.com/
Jquery Fast JavaScript framework 1.11.3 jquery.com/
kindeditor HTML visual editor 4.1.10 kindeditor.net
My97 DatePicker Time selector 4.8 Beta4 www.my97.net/

The back-end

technology The name of the version website
SpringBoot SpringBoot framework 1.5.6. RELEASE Spring. IO/projects/sp…
JPA spring-data-jpa 1.5.6. RELEASE The projects. Spring. IO/spring – the data…
Mybatis Mybatis framework 1.3.0 www.mybatis.org/mybatis-3
fastjson Json parsing package 1.2.36 Github.com/alibaba/fas…
pagehelper Mybatis paging plugin 1.0.0 pagehelper.github.io

3. Deployment process

  • 1. Download the project and import oasys. SQL into the local database
    1. Modify the application. The properties,
    1. Modify data source, oASys — > own local library name, username and password change to their own
    1. Modify related paths to configure image paths, file paths, and attachment paths. (static/image/oasys.jpg file)
    1. The main method in oasysApplication. Java runs, the console does not report an error message, the data startup time is how long it will run successfully
    1. Type localhost:8088/logins in your browser

4. Demo address

Link: oa.lxsir.cn:8088/index (under maintenance, will be closed temporarily)

Account: test Password: test
Account number: soli Password: 123456

If you are interested in the project, please Watch, Star project

6. Project screenshots

Project address: gitee.com/aaluoxiang/…

Two, parking lot management system

【 Function Introduction 】 :

(1) this parking system is compatible with the mainstream of several cameras on the market, in theory, compatible with all hardware, flexible extension (2) the camera after identification and record data automatically uploaded to the clouds, the only id and check the camera hardware serial number, prevent illegal data entry (3) the user mobile query parking record details can be independently payment (support WeChat, pay treasure, pay bank interface, Support each parking lot to specify different merchants gathering), payment after playing in the free time on app will automatically lift rod (4) support query parking lot near (navigation, can transport figures, parking fees, coupons, ratings, reviews, etc.), booking space (5) support box or power network using app can take over the hardware for parking record of entry.

[Technical Architecture] :

Back-end development language Java, framework OAuth2 + SpringBoot2 + Doubble2.7.3, database mysql/mongodb/ Redis, instant messaging framework Netty4, Android and ios are all native development, Vue -typescript-admin-template background management template, fastDFS file service, SMS currently only integrates aliyun SMS service. Born for tens of millions of data, tens of millions of users have no worries. At present, 40W real users have no pressure, which is essential for the Internet of Things in the era of big data

[Open Source] :

Code is completely open source, there is no licensing problem, completely independent original, there is no back door, do not use any third-party private JAR package, performance and security is completely independent and controllable, want to play so play, is so capricious, I will continue to update the deployment tutorial. Code professional specification, novice understand, master like to use. This system is completely free

[Deployment environment] :

At present, only the Linux environment is tested and everything is normal. The Win environment has not been deployed. The demo address is at the end of this article

Software architecture

1. Brief introduction of technical structure

(1) Brief description of programming language and architecture

1. Development of language

(1) Server side The server side language is currently using Java language development, JDK version requirements 1.8+. Development framework for SpringBoot2 + Dubbo, authentication using OAuth2, DB operating framework Mybaits, instant messaging framework and protocol Netty4

(2) Client Currently, our main client is divided into three scenarios, namely android, ios and wechat public account. Android and ios are both native development, H5 page web end framework for VUE

(3) Background management The front-end framework of background management uses the mainstream Vue Element Admin (TypeScript version), with clear hierarchy, complete official documents and active community

2. Data is stored

(1) Important data store Important data is stored in mysql, and the primary and secondary data can be deployed. Most data can be transacted as far as possible to ensure data disaster recovery

(2) General data storage non-important data such as chat content, system message notification, advertising and other data are stored in mongodb database

(3) Cache data storage A small amount of cache will be stored in mysql. For example, the first N comment flash notes of comments will be super-small to carry out appropriate field redundancy, which greatly improves the data query ability under the condition of improving the storage cost performance. Most of the other data caches are stored in Redis data

3. Performance and Safety

(1) the performance of the solution architecture and technical solutions are developed for this team a line of 5 years experience, we are currently working on the project of contact 40 w + real users, no pressure, our system’s structure and technology are in many aspects carefully adjusted for many times, after considering the more reasonable, better performance of model and solution

(2) In the security solution, all requests need to carry a JWT string token for access. Each interface service and management service needs to be configured with a public key file and has the ability to verify the validity of the JWT string token. The user rights service carries a private key file and is responsible for key generation

4. Architecture and Vitality

The system adopts Alibaba micro-service framework Dubbo to realize the capability of providing micro-services. It pursues high performance, high availability and ultra-fine-grained independent micro-services. The same services can be dynamically and flexibly increased and decreased, supporting the release of new versions of services without stopping. Each service exists independently and does not affect each other. For example, SMS sending, payment, orders, parking lot system interface, parking lot backstage management, parking lot provider services are independent services.

(2) Architecture potential The whole system has a clear division of division of many services, fine-grained micro-services, to achieve real plug and remove services, function deletion or discontinuation, add, etc., can meet the new development requirements without damaging or invading the original system

5. Secondary development specification

(1) Applicable to customers

  • Have Internet IT programming skills and experience or have a technical team.
  • Do not have the first condition but the cost budget is relatively sufficient, the secondary development needs less or willing to pay high customization fees

(2) The team requires server operation and maintenance, Android and ios developers, Web front-end developers, Java practical development experience of 2 years + developers

(3) Technical requirements: Excellent Java programming ability, network programming ability, database design and optimization ability, architecture design ability, micro-service thinking ability, mature front-end technology development ability, medium and large system deployment and operation ability

(4) Hardware requirements Linux operating system, 8-core 16G(minimum)5M bandwidth, multiple servers can point to the unified micro service scheduling center (the system micro service scheduling center management platform Zookeeper)

(2) Brief introduction of data interaction between software and hardware

1. Hardware side

(1) Currently, the solution package tools, compatible with mainstream hardware devices in the market, and only responsible for packaging all kinds of hardware data into a unified data structure. At present, most hardware packets are actively pushed data through HTTP and passively receive the return instructions from the server

(2) In the future, the solution will transform the underlying hardware service system of mainstream manufacturers, add legitimate identity data of hardware specifications, and use long connection for data interaction to ensure better guarantee of real-time and reliability of data and instructions

2. The service side

(1) Passive processing of hardware data Middleware processes all kinds of front-end data, receives data pushed by hardware, analyzes, calculates and makes corresponding feedback

(2) Actively notifying the hardware of the occurrence of events, such as switching, real-time dynamic configuration of hardware data, etc.,

Ii. Brief description of conventional functions

(1) Basic function 1. Hardware management Supports single hardware management and recording, hardware online status, maintenance and progress records, etc. It is bound to the designated entrance and exit of the parking lot, and the GPS position is recorded

2. Parking lot management fee configuration for different periods, daily ceiling factors to participate in dynamic charging, also support static + daily ceiling charging. Support to query nearby parking lots

3. Parking record management records the time, location, location, time of entry and exit, real-time push and rapid processing of abnormal data

4. Payment agency Management The payment account of each parking lot can be configured independently, supporting the same parking lot to use multiple payment agencies for payment, such as Alipay, wechat, UnionPay, etc.

5. Management of Payment and preferential activities Alipay, wechat and UnionPay all support non-secret payment (non-inductive payment). The system has its own coupon function, support to support a variety of customized packages and users for quick mobile phone orders at any time to buy

(2) Featured functions 1. Abnormal data real-time push, report, timely processing, predict and notify in advance 2. Instant messaging function (IM chat communication) performance, architecture, optimization and so on are developed by referring to wechat chat function mechanism

3. Industry friends and circles make the application not only parking, but also make like-minded industry friends, making the application more warm

4. Mall and marketing Function This function mainly considers that users have the interest and ability to operate around, and make profits in the mall and advertising marketing

Install the tutorial

  1. Install JDK1.8 +
  2. Install MySQL5.6+ Install MongoDB Install Redis Install FastDFS install Zookeeper
  3. Upload the packaged code to the server and run the JAR package directly
  4. Detailed installation tutorial document address www.showdoc.cc/90282121839…

Usage Instructions (Swagger2 Documentation)

: user base data related 】 【 park. Cfeng. Wang: 8080 / swagger – UI….

[parking lot related 】 : park. Cfeng. Wang: 8089 / swagger – UI….

[message] : park. Cfeng. Wang: 8085 / swagger – UI….

【 file upload 】 : park. Cfeng. Wang: 8088 / swagger – UI….

【 pay related 】 : park. Cfeng. Wang: 8096 / swagger – UI….

Leading professional demonstration in China

Demo address

Admin.cfeng. wang/ Test 123456

Project address: gitee.com/wangdefu/ca…


Previous hot articles:

  • Summary of Java basic knowledge
  • Performance Tuning Series topics (JVM, MySQL, Nginx, and Tomcat)
  • From being kicked out to 5 offers of 30K+, I have come a long way
  • 100 Java project parsing, with source code and learning documentation!

end