An open API service indexing awesome lists of open source software.

https://github.com/suhatanriverdi/rocket-telemetry-system

This project involves developing a real-time command control application for a newly established rocket launch station. The application must provide users with an interface to view the current status of rockets in the field in real-time and enable control of selected rockets through provided components.
https://github.com/suhatanriverdi/rocket-telemetry-system

docker docker-container express nodejs react real-time redis redis-queue rest-api sockets tcp-client tcp-server

Last synced: 4 months ago
JSON representation

This project involves developing a real-time command control application for a newly established rocket launch station. The application must provide users with an interface to view the current status of rockets in the field in real-time and enable control of selected rockets through provided components.

Awesome Lists containing this project

README

        

# Rocket Launch Control Application

https://github.com/shtanriverdi/rocket-telemetry-system/assets/36234545/afb9ddbf-2f11-4372-9813-f287b7cb69ef

## Description
This project involves developing a command control application for a newly established rocket launch station. The application must provide users with an interface to view the current status of rockets in the field in real-time and enable control of selected rockets through provided components.
Additionally, users should be able to access real-time weather conditions via the interface to inform launch decisions based on environmental parameters.

### Notes
- The application may experience delays in responding to REST API requests due to high electromagnetic interference, typically ranging from 0.4 to 2.3 seconds.
- The REST API service may return a 503: Service Unavailable error with a 20% likelihood.
- The rocket telemetry systems have a 10% chance of sending "faulty data."
- Real-time data from rocket telemetry systems is sent at 100 ms intervals.

### User Stories
- As a user, I should be able to view all rockets in the field with their respective information.
- As a user, I should be able to monitor the telemetry data and status of rockets in real-time.
- As a user, I should be able to view the cargo content carried by each rocket.
- As a user, I should be able to view the connection status of telemetry systems associated with each rocket.
- As a user, I should be able to launch each rocket through the interface.
- As a user, I should be able to monitor the current weather conditions in real time.

## Development
The application communicates with the provided backend application to fulfill the user stories outlined above. The backend exposes a REST API for retrieving rocket information and weather data. Additionally, each rocket has a telemetry service accessible via TCP for real-time data.
The application collects data from these interfaces and presents it to the user through a user-friendly interface.

### Tools and Technologies
The application is developed using the following technologies:
- Redis: Used for caching and queuing telemetry and weather data.
- Express: Node.js framework utilized for backend development.
- Socket.IO: Enables real-time communication between the server and client.
- Docker: Containerization tool used for deployment.
- React: Added for a more structured and reusable user interface.
- Postman: Used to check all the endpoints.

### Additional Features
- **Reset Button**: Added a reset button to reset the application state.
- **Individual Rocket Connections**: Enabled individual connections to each rocket, allowing for separate interactions.
- Used **standard deviation techniques** to clear the invalid data from the data stream.

## Rocket Telemetry System Protocol
![image](https://github.com/shtanriverdi/rocket-telemetry-system/assets/36234545/5bfe4586-e37b-47e0-b3f0-d08adfdcfb7f)

![rocket](https://github.com/user-attachments/assets/765bbaec-7d7e-4321-b240-8d7ac16057ec)