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.
- Host: GitHub
- URL: https://github.com/suhatanriverdi/rocket-telemetry-system
- Owner: suhatanriverdi
- Created: 2024-02-03T08:26:19.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-04T18:45:04.000Z (9 months ago)
- Last Synced: 2025-01-21T10:11:18.398Z (5 months ago)
- Topics: docker, docker-container, express, nodejs, react, real-time, redis, redis-queue, rest-api, sockets, tcp-client, tcp-server
- Language: JavaScript
- Homepage:
- Size: 1.89 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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
