Overview
Our goal is to implement a lock that can be controlled through LoRaWAN. It is the Master's thesis topic of Ruibin Zhang and Hasan Bilgin. Since sensitive information is included in the hardware part, so we choose that we won't put the code base in an online community. But for the software part, which includes a backend server designed using micro architecture and an Android Application developed with Kotlin can be found in GitHub.
All relevant documents and resources that are necessary to design and implement the Shareable Lock System are provided in site. The Shareable Lock System is a system that allows users to share locks with other users, and the locks are controlled remotely.
User Scenarios
A simple user scenarios in the view of a user is provided here. We may would publish a formal software requirements in the future.
BackendMicroservice list
Application | Port | API Path |
|---|---|---|
DiscoveryApplication | 8761 | |
GatewayApplication | 8222 | |
LockApplication | 8300 | /api/v1/locks |
MessageApplication | 8200 | /api/v1/messages |
SchoolApplication | 8070 | |
UserApplication | 8100 | /api/v1/users |
ConfigServerApplication | 8888 | |
StudentApplication | 8090 | |
StaticServerApplication | 8400 | /api/v1/files/ |
Nginx | 8500 | |
MQTT | 8600 | |
Logging | 8700 | /api/v1/logs/ |
authentication | 8800 | /api/v1/auth/ |
APIs of the Backend Server
The backend server provides a set of endpoints that allow users to interact with the Sharable Lock System. A overall definition can be found in the page. A Swagger style API can be found here