Satellite Tracker is an intelligent satellite monitoring platform that leverages Artificial Intelligence, Kafka, and microservices to provide predictive and real-time insights into satellite operations. It is designed to assist in managing satellite fleets by predicting their health status, end-of-life, and potential collision risks, and by visualizing their operational conditions through an interactive dashboard.
- Overview
- Key Features
- System Architecture
- Microservices Overview
- UML Diagrams
- Kafka Data Flow
- MongoDB Collections
- UI Mockups
- Project Folder Structure
- Future Improvements
The Satellite Tracker system connects to external APIs (like N2YO) to collect live satellite telemetry and orbital data. The data undergoes preprocessing before being sent to AI-powered microservices that analyze the information and return predictions.
These predictions are then routed to the backend services that store and serve the results to users via an interactive frontend.
- Uses machine learning models to analyze telemetry data such as battery voltage, temperature, and data transmission rate.
- Predicts potential failures and recommends preventive maintenance.
- Predicts the remaining operational lifespan of satellites based on orbital characteristics and motion analysis.
- Continuously monitors distances between orbiting satellites.
- Generates alerts for possible close approaches or collision risks.
- Backend: Django (Python), Spring Boot (Java)
- Data Streaming: Apache Kafka
- Databases: MongoDB
- AI Models: Python-based ML models (scikit-learn)
- Frontend: Nextjs (or any frontend consuming API)
Microservice | Description |
---|---|
Data Processing Microservice |
Fetches data from N2YO, cleans and prepares it. |
Kafka |
Message broker for asynchronously delivering data between services. |
Models Microservice |
Contains and executes AI models for health, EOL, and collision prediction. |
Prediction Microservice |
Stores and serves predictions for visualization. |
User Data Microservice |
Manages user accounts and linked satellites. |
Frontend |
Displays visual insights and predictions to end-users. |
Represents the structure of MongoDB collections used in the project:
User
collection with NORAD IDssatellites
,collision_alerts
,Eol_collection
, etc.
Demonstrates the data flow through the microservices(healthStatusFlow):
- Data is fetched from N2YO
- Sent to Kafka
- Received by the Django service for model processing
- Predictions sent to Spring Boot services
- Data exposed to frontend
Illustrates how different actors (admin, user) interact with the system.
Below are interface mockups that represent the actual user experience of the Satellite Tracker platform. Each screen corresponds to a key functional component in the system, from user onboarding to predictive visualization.
Below are screenshots of the core interfaces that make up the Satellite Tracker user experience:
Secure login page for existing users to access their satellite dashboard.
Registration form allowing users to create a new account and start tracking satellites.
Displays a 3D globe showing real-time positions of satellites and basic operational stats.
Presents AI-predicted satellite health data, including:
- Battery voltage
- Solar panel temperature
- Attitude control error
- Transmission rate
Shows machine learning-based predictions of the remaining operational lifetime for each tracked satellite.
Displays warnings for satellites at risk of collision, including:
- Distance to other objects
- Collision time estimate
- Severity level
In Fetching Data Service in Spring Boot which fetches data from n2yo.com and Send it to Preprocessing service in Django
Data sent by Fetching Data to Eol Service
https://drive.google.com/drive/folders/1QxA6MUNRYBNzJgKfu4MvqYYhY4_3JfhM?usp=sharing