preface

Off topic: I haven’t written my blog for a long time, and I haven’t read Jane’s book for a long time. Recently has been learning front-end, back-end things, want to make their knowledge wider, see an article about. To work for oneself (to study); Learn how to market yourself (multi-blogging, stepping stone); Writing a blog is very reasonable, which is in line with my original ideas. I lost writing, output and sharing due to work or other reasons recently. It is time to pick it up again.

Some time ago, I received one or two small outsourcing services, which was basically to make a GPS positioning APP for Android terminal. The function is very simple, such as live preservation, background uploading and real-time positioning. After finishing the Android end, looked at their background, and then, I thought, why don’t I do a background, just practice hand, the front and back end are done, the front and back end separation, kill many birds with one stone. Then I started to work on it. I got a lot from the process of learning and practicing. Now almost the basic functions have been completed, I decided to write a series of articles to summarize and share.

I hope that through this series of articles, we can also learn and practice together, practice, and build a small system of multi-terminal combination. Come on!

GPS positioning system series

GPS positioning system (I) — Introduction

GPS positioning system (II) — Android terminal

GPS positioning system (3) – Java backend

GPS positioning system (IV) — Vue front end

GPS positioning system (5) — Docker

  • Docker nginx secondary domain name unprovoked access to multiple Web projects
  • Docker nginx HTTPS secondary domain name unprovoked access to multiple Web projects
  • Continuous deployment — Travis+Docker+ Ali Cloud container image

directory

[TOC]

harvest

Learn the whole series and you will get:

  • Experience in three-terminal joint development
  • Map application, simulation positioning, trajectory drawing, overlay points, information forms
  • The Android app keep alive
  • Java SpringBoot + Mybatis a set of use
  • Front-end VUE JS CSS VUex VUE-Router
  • Background Admin management page

I. Project presentation

Web side

The Web side of the page looks something like this, using Vue’s Iview framework. It has roughly realized the overall single page function, real-time positioning, historical track, user management, personal information and other functions.

And has been deployed to ali cloud server, if the service has not expired, it can be accessed through the web site address, account password KK kk.

Github project address

The Android end

The Android interface is also very simple, including login, map display, and GPS positioning information uploading by background service.

Github project address

Java back-end

Because the front and back ends are separated, there is no page display on the back end.

Github project address

Second, my development environment

1. MAC laptop and Mi 6 phone

2, the Android studio

3, the Idea

4, webstorm

5, the postman

6, Navicat

Chrome, Safari

Iii. Project architecture and technology selection

Android

TargetSdkVersion: 29

rxjava + retrofit + okhttp

Amap SDK

butterknife

rxpermission

hellodaemon

The most important thing is the HelloDaemon framework, which makes use of the dual-process mutual-pull mechanism, guides users to join the battery optimization and whitelist, and other common ways to keep alive. It is a very good framework to keep alive.

Web

Vue + Vuex + Vue-cl + Vue-router

Autonavi JS map API

iview

es6

Java

java8

springboot + mybatis

jwt

mysql

lombok

mybatis-generator

Docker

nginx

Mysql 5.7

oepnjdk9

After using Docker, I like it. Very convenient, in the management of various services is very good, upgrade, maintenance, management is convenient.

conclusion

After the development of the whole system, mainstream frameworks will be exposed, and various technology stacks will also be involved. In a word, it is able to consider and design from a multi-terminal perspective and solve problems from a multi-dimensional perspective.

There are many, many small problems encountered throughout the development process, such as

  • Token’s global interceptor verifies problems 401, 404
  • A problem with mybatis-generator
  • Restful response structure, unified encapsulation of AXIOS
  • Front and rear end cross-domain problems
  • Amap shows the problem
  • Docker mount mapping local path problem
  • The path of the uploaded file is faulty. Procedure
  • Maven packaging issues
  • .

In the whole series of articles, three-terminal related articles are the most important, including many small technical points, code, problem solutions, etc. I hope the whole series can help you

Please move to GPS (2) — Android terminal

About the author

The author is a programmer who loves learning, open source, sharing, spreading positive energy, likes playing basketball, and has a lot of hair. –

Warmly welcome everyone to pay attention to, like, comment exchange!

Jane: www.jianshu.com/u/d234d1569…

github:github.com/fly7632785

CSDN:blog.csdn.net/fly7632785

The Denver nuggets: juejin. Cn/user / 993614…