How does the LoRa App Server work


I’m new in LoRa and I’m new in web development.
I found that almost every question concerned the use of LoRaAppServer, I installed it and it worked well. However, I’m confused about the detail structure of LoraAppServer. The followings are my questions:

1 What technologies are used on the front end and the back end ?
2 Golang is widely used, so which part of the Go is used for ?

Thanks very much !

I’ll assume you are only asking about lora-app-server in my answers.

  1. To start, the backend is written in Go and the frontend in Javascript, using the React framework. But that’s just programming languages, there’s a lot more involved in both. The backend makes use of several tools, but here’s a summary: Postgres for general storage; Redis to keep device sessions; JWT tokens for authentication; MQTT and http for data integration; gRPC for API connections (with grpc-gateway to also offer a REST API for users); TOML for configuration; etc. The frontend uses a bunch of node modules for Bootstrap, Leaflet (for maps), ChartJS, Flux, etc.

  2. As mentioned in 1, the backend is fully written in Go, with the exception of the encoding/decoding fbits, which use a Javascript interpreter to run the custom functions from the Go code.

1 Like

Thanks a lot !
I am reading source code according to your instructions