[Express Cabinet] System Overview

2021SC@SDUSC

Project Division

Wang Yunqian (myself): Responsible for all back-end code analysis of the project

Zhang Xiaohan: Responsible for project cabinet (Android) code analysis

Zhao Haoyu (Captain): Responsible for project applet-side code analysis

Zhang Shuqi: Responsible for project web front-end code analysis

Project introduction

The name of this project is the Express Cabinet Project of the Artificial Intelligence Research Center. It is an intelligent Express Cabinet project developed by graduate students of the Software Institute of Shandong University. The project is divided into front-end, back-end, applet-end and Android (cabinet) end.

Development background: With the vigorous development of e-commerce in China, the annual number of express orders has reached 14 billion, which puts enormous pressure on the courier companies, and the competition between e-commerce has become increasingly fierce. The last kilometer of the courier often becomes a major difficulty confusing the courier industry. With the development of the Internet of Things, the emergence of smart courier cabinets can effectively solve this problem.

Project Backend Technology

jeecgboot Low Code Development Platform with front-end and back-end separation architecture: SpringBoot 2.x, Ant Design&Vue, Mybatis-plus, Shiro, JWT.

Dependency Management: Maven

Database: MySQL 5.7+ & Oracle 11g & Sqlserver2017

Cache: Redis

Infrastructure: Spring Boot 2.1.3.RELEASE

Persistence Layer Framework: Mybatis-plus_3.1.2

Security Framework: Apache Shiro 1.4.0, Jwt_3.7.0

Database connection pool: Alibaba Druid 1.1.10

Cache framework: redis

Log printing: logback

Other: fastjson, poi, Swagger-ui, quartz, lombok (simplified code), etc.

Backend items are divided into controller , service , dao Three layers, and common , utils , model , config , vo And more than one package.
  • controller: for data conversion
  • AprovalController handles approval-related interfaces
  • AffairController handles transaction-related interfaces
  • MaterialController interface for data processing
  • UserController user-related interface
  • FileController file-related interfaces
  • service: privilege management and business processing
  • dao:sql, basic additions, deletions, and alterations

system function

Project Configuration

Configuration environment

On Linux operating systems:

  • mysql installation configuration
sudo apt-get install mysql-server
  • https service configuration (ssl configuration)
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out certreq.csr
  • Installation and configuration of maven

install

tar xzvf /srv/ftp/apache-maven-3.6.2-bin.tar.gz -C /usr/local/

To configure

gedit /etc/profile

 export M2_HOME=/usr/local/apache-maven-3.6.2

        export PATH=$PATH:$M2_HOME/bin

source /etc/profile

mkdir -p /usr/data/maven/local_repository

gedit /usr/local/maven/conf/settings.xml

<localRepository>/usr/data/maven/local_repository</localRepository>
  • minio configuration
wget https://dl.min.io/server/minio/release/linux-amd64/minio
  • Backend Profile
spring:
  profiles:
    active: dev
swagger:
  production: false
  basic:
    enable: false
    username: jeecg
    password: jeecg1314
# Third party login
justauth:
  enabled: true
  type:
    GITHUB:
      client-id: 0277e675495f14a4a183
      client-secret: ??
      redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback
    WECHAT_ENTERPRISE:
      client-id: wwc2a8c8b19c201bcc
      client-secret: ??
      redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback
      agent-id: 1000002
    DINGTALK:
      client-id: dingoa33vjqxrbyidnmgwo
      client-secret: ??
      redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback
  cache:
    type: default
    prefix: 'demo::'
    timeout: 1h

Tags: Mini Program

Posted on Thu, 30 Sep 2021 13:48:00 -0400 by robmarston