# π Device Tracker
A complete **Android Device Tracking System** built with **Spring Boot**, **Android (Java)**, **MySQL**, and **WebSocket**.
This project enables Android devices to register with a backend server, send real-time location updates, monitor battery status, and display live device information through a web dashboard.
---
## π± Project Overview
The Device Tracker consists of two main components:
- **Android Application** β Collects device information and sends live location updates.
- **Spring Boot Backend** β Stores device data, manages tracking configurations, and provides a web dashboard.
---
## β¨ Features
### π± Android Application
- β Device Registration
- β Live GPS Location Tracking
- β Background Location Updates using WorkManager
- β Battery Percentage Monitoring
- β Device Information Collection
- β Runtime Permission Handling
- β Retrofit API Integration
- β Automatic Tracking Configuration Sync
---
### π Spring Boot Backend
- β REST APIs
- β Device Registration API
- β Update Device Location API
- β Device Information Management
- β Location History
- β Reverse Geocoding (Latitude β Address)
- β WebSocket Support
- β Live Dashboard
---
### π Dashboard
- π Live Device Location
- π Battery Percentage
- π± Device Information
- πΊ Interactive Map (Leaflet)
- π Location History
- π Device Status Monitoring
---
# π Tech Stack
## Android
- Java
- Android SDK
- Retrofit
- WorkManager
- Google Location Services
## Backend
- Spring Boot
- Spring Data JPA
- REST APIs
- WebSocket
- Maven
## Database
- MySQL
## Frontend Dashboard
- HTML
- CSS
- JavaScript
- Bootstrap 5
- Leaflet.js
---
# π Project Structure
device-tracker
β
βββ android-app
β βββ app
β βββ gradle
β βββ gradlew
β βββ ...
β
βββ device-tracker-api
β βββ src
β βββ pom.xml
β βββ .mvn
β βββ ...
β
βββ README.md
---
# βοΈ Getting Started
## 1οΈβ£ Clone Repository
git clone https://github.com/manish01-star/device-tracker.git
---
## 2οΈβ£ Run Backend
cd device-tracker/device-tracker-api
Configure your database in:
src/main/resources/application.properties
Run the application:
mvn spring-boot:run
Backend URL
http://localhost:8080
---
## 3οΈβ£ Run Android App
cd device-tracker/android-app
Open the project in **Android Studio**.
Update your backend IP inside:
ApiClient.java
Build and run the application on your Android device.
---
# π Project Workflow
Android App
  β
  βΌ
Spring Boot REST APIs
  β
  βΌ
MySQL Database
  β
  βΌ
Web Dashboard
---
# π‘ REST APIs
- Register Device
- Update Device Location
- Get Device Details
- Get Tracking Configuration
- Dashboard APIs
---
# π Future Enhancements
- π JWT Authentication
- π₯ Multi User Support
- π Push Notifications
- π Geofencing
- π Analytics Dashboard
- β Cloud Deployment
- π Device Activity Reports
---
# π· Screenshots
Screenshots will be added soon.
- Android App
- Dashboard
- Live Map
- Device Details
---
# π€ Contributing
Contributions, suggestions, and improvements are welcome.
1. Fork the repository
2. Create a new branch
3. Commit your changes
4. Push your branch
5. Open a Pull Request
---
# π¨βπ» Author
**Manish**
Software Developer
### Skills
- Java
- Spring Boot
- Android
- REST APIs
- MySQL
- Git
- GitHub
GitHub:
https://github.com/manish01-star
---
## β Support
If you found this project useful, please consider giving it a β on GitHub.