Coder Social home page Coder Social logo

csci401team / poseidon Goto Github PK

View Code? Open in Web Editor NEW
1.0 6.0 0.0 127.45 MB

This desktop application is built with Electron and integrates various functionalities to track, calculate, and visualize satellite orbits and data.

License: MIT License

JavaScript 63.23% HTML 9.22% CSS 4.60% Python 22.95%
mission-control satellite tle

poseidon's Introduction

Poseidon Satellite Mission Control Software (V. 0.5.0)

This desktop application is built with Electron and integrates various functionalities to track and visualize satellite orbits using Cesium, a powerful library for 3D globes and maps. The app provides a real-time 3D visualization of satellite orbits with the ability to input Two-Line Element set (TLE) data for accurate tracking. It includes a chat window for command input, a calendar for scheduling, and additional modules for motor control and signal processing that are under development. (See the latest commit for the most up-to-date source code)

Current Software

Features

  • 3D Orbit Visualization: Real-time satellite orbit visualization with Cesium.
  • Telemetry Data Calculation And Visualization: Real-time telemetry data update for corresponding TLE/satellite input
  • TLE Data Input: Input box for TLE data with validation functionality.
  • Command Input: Chat window for command input and generation.
  • Calendar: Calendar window for scheduling (waiting for backend integration).
  • Motor Control: Motor control interface (update pending).
  • Signal Processing: Signal window for signal-related functionalities (update pending).

User Manual

USER MANUAL

Running the Program

Choose the latest release from this repository and install

Running the Program (Developers)

Ensure Node.js and npm are installed on your system. Open a terminal or command prompt, navigate to the app's directory, and run:

npm install # Install dependencies
cd backend # Get into the backend dir
# Install all the requirements to local env
pip install flask sgp4 scipy requests skyfield waitress setuptools
/path/to/your/desired/python3 -m pip install -e .

# Option 2: create a virtual env 
# ---for windows--- #
py -3.9 -m venv <venv-name> 
.\<venv-name>\Scripts\activate 
pip install flask sgp4 scipy requests skyfield waitress setuptools tzdata pyinstaller
pip install -e . 

# ---for linux and mac--- #
python3 -m venv venv 
source venv/bin/activate
pip install flask sgp4 scipy requests skyfield waitress setuptools
pip install -e . 


npm start # Start the application

**Note for error "“run” can’t be opened because Apple cannot check it for malicious software." Right-click (or control-click) on the backend/dist/run executable in Finder, and select Open from the context menu. This action brings up a dialog with an option to open the app anyway. This method only needs to be done once, as macOS will remember your choice for this app in the future.

**Note: Python vers. 3.9 required. Some packages aren't supported in later versions.

Packaging the Application

For packaging the application, electron-builder is preferred. It can easily package and build a ready-for-distribution Electron app for macOS, Windows, and Linux.

First, package the python environment:

cd backend
./<venv-name>/Scripts/activate 
python setup.py sdist
pip install dist/tle_calculations-0.0.0.tar.gz

# For windows only:
pyinstaller --onedir --add-data "tle_calculations;tle_calculations" --add-data "./<venv-name>/Lib/site-packages/waitress;waitress" tle_calculations/run.py

# For mac only:
pyinstaller run.spec

Second, install electron-builder as a dev dependency:

npm install electron-builder --save-dev

Then, run:

# For your current platform
npm run dist

# For a specific platform
npm run dist --mac
npm run dist --win
npm run dist --linux

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.