# README

Satellite Information API
An API to calculate and retrieve information about satellites orbiting the Earth.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
About The Project
This project provides a comprehensive API to calculate and retrieve information about satellites orbiting the Earth. It includes endpoints to get detailed satellite information, groups, minimal data, and positions.
Here's why:
- Accurate and up-to-date information on satellites.
- Simplified access to satellite data through RESTful endpoints.
- Easy integration into existing applications.
Built With
Getting Started
To get a local copy up and running, follow these simple steps.
Prerequisites
- Go
go install
- Buf (for protobuf)
brew tap bufbuild/buf brew install buf
- Protoc (for protobuf)
brew install protobuf
- Buf generate(To regenerate the protobuf files)
buf generate
Installation
- Clone the repo
git clone https://github.com/StartUpNationLabs/react-flight-tracker-satellite.git
- Change to the project directory
cd react-flight-tracker-satellite
- Run the application
go run cmd/main.go
Usage
Environment Variables
To run the application, you need to set the following environment variables:
CELESTRACK_URL
: The URL to the Celestrak API.SPACETRACK_URL
: The URL to the Space-Track API.SPACETRACK_USERNAME
: The username for the Space-Track API.SPACETRACK_PASSWORD
: The password for the Space-Track API.- 'HOST': The host for the server(0.0.0.0 if in docker)
Get Satellite Detail
GET /v1/satellite/detail/{id}
Response:
{
"ccsdsOmmVers": "1.0",
"comment": "No comment",
"creationDate": "2021-01-01T00:00:00Z",
...
}
For more examples, please refer to the Documentation
API Endpoints
Get Satellite Detail
- URL:
/v1/satellite/detail/{id}
- Method:
GET
- Path Parameters:
id
(string): The ID of the satellite.
- Success Response:
- Code: 200
- Content:
v1SatelliteDetail
Get Satellite Groups
- URL:
/v1/satellite/groups
- Method:
GET
- Success Response:
- Code: 200
- Content:
v1GetSatelliteGroupsResponse
Get Minimal Satellites
- URL:
/v1/satellite/minimal
- Method:
GET
- Query Parameters:
time
(string, optional): The time for which to get the satellite data.groups
(array, optional): The groups of satellites to retrieve.
- Success Response:
- Code: 200
- Content:
v1GetMinimalSatellitesResponse
Get Satellite Positions
- URL:
/v1/satellite/positions
- Method:
GET
- Query Parameters:
time
(string, optional): The time for which to get the satellite positions.groups
(array, optional): The groups of satellites to retrieve positions for.
- Success Response:
- Code: 200
- Content:
v1GetSatellitePositionsResponse
Roadmap
- Implement Satellite Path Calculation
- Add unit tests
- Add integration tests
- Improve error handling
- Enhance documentation
See the open issues for a full list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE.txt
for more information.
Contact
Project Link: https://github.com/StartUpNationLabs/react-flight-tracker-satellite
Acknowledgments
- Space-Track for providing satellite data.
- Celestrak for providing satellite data.