# sat-track-web
**Repository Path**: xujunyf917/sat-track-web
## Basic Information
- **Project Name**: sat-track-web
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-09-13
- **Last Updated**: 2024-09-13
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
[![MIT License][license-shield]][license-url]
CanaTrak: Satellite Tracker
A simple, web-based visualizer for Canadian satellites in Earth orbit.
View Demo
ยท
Report Bug
Table of Contents
-
About The Project
-
Getting Started
- Usage
- Roadmap
- License
- Contact
## About The Project
![CanaTrak Screen Shot][product-screenshot]
I have always been a huge space nerd, and I decided to take an older desktop-based satellite tracker I built in Python some time ago and rebuild
it as a web application! This application predicts and shows daily orbits of some of the 85 Canadian-operated or Canadian-supported satellites currenlty in orbit using orbital data provided by [Space-Track.org](https://www.space-track.org/). Users can see the orbital paths of satellites by using the interactive 3D globe, as well as investigate the raw parameters, which are prompty displayed in a table. From Alouette-1 to RADARSAT, the Kepler network and more, Canada's great work in space is shown here! This project began April 25th, 2022.
### Built With
* Express.js
* Bootstrap
* CesiumJS
(back to top)
## Getting Started
Should you choose to take advantage of this codebase, here is what you need to know.
### Prerequisites
Data retrieval is performed using the following library. The [Spacetrack](https://www.npmjs.com/package/spacetrack) package, while old, is purposely built for querying Space-Track given your login information after regstering with the site:
```sh
npm install spacetrack
```
Calculations are complex and mathematically intensive. Predicting vehicle orbits requires the use of the unclassified SGP4/SDP4 General Pertubations method. A package has been developed for use by JavaScript developers, called [satellite.js](https://github.com/shashwatak/satellite-js):
```sh
npm install satellite.js
```
To visualize satellite orbits and the globe, [CesiumJS](https://cesium.com/platform/cesiumjs/) is used on the front-end to make plots. It uses a public-client API token, which is available when signing up with Cesium Ion, and can be scope limited to a specific URL:
```sh
npm install cesium
```
Other general prerequisites can be viewed in the package.json folder in this repo.
### Installation
Please clone the repo should you choose to build off this code. API tokens or keys can be acquired by visiting the sites mentioned above. It is up to you where you would like to store these assets, whether it be a config or env file.
```sh
git clone https://github.com/kliam11/sat-track-web.git
```
(back to top)
## Usage
### Testing
(back to top)
## Roadmap
### Phase 1 (Completed May 7th)
- [x] Develop back-end for data retrieval
- [x] Scheduled server tasks for updating dataset for the day
- [x] Prepare backup data for when data retrieval fails
- [x] Front-end display start
- [x] Show the date of the current dataset and if the data being used is actually a backup
- [x] Satellite selector
- [x] Orbital visualization on Cesium globe
- [x] TLE parsing and display in table
- [x] Path outlines of the orbit
- [x] Non-LEO orbits (needs SDP4 to work)
### Phase 2 (In progress)
- [x] Search function
- [x] Improve client for mobile
- [ ] Allow users to edit descriptions of a satellite
- [x] Show all satellites, not just select one at a time
- [x] Make objects different colors depending on satellite type (payload, debris, etc.)
(back to top)
## License
Distributed under the MIT License. See `LICENSE.txt` for more information.
(back to top)
## Contact
Liam Kelly - [LinkedIn][linkedin-url]
Project Link: [https://github.com/kliam11/sat-track-web](https://github.com/kliam11/sat-track-web)
(back to top)
[license-shield]: https://camo.githubusercontent.com/111148992d0253f8d5e36b62087d48a9eabb1d7244b2b7316214f47d5c9a8781/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6f74686e65696c647265772f426573742d524541444d452d54656d706c6174652e7376673f7374796c653d666f722d7468652d6261646765
[license-url]: https://github.com/kliam11/sat-tracker-web/blob/main/LICENSE
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
[linkedin-url]: https://linkedin.com/in/liamakelly
[product-screenshot]: example.png