Skip to content

StartUpNationLabs/realtime-satellite-api

Repository files navigation

Contributors Forks Stargazers Issues MIT License

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
  1. About The Project
  2. Getting Started
  3. Usage
  4. API Endpoints
  5. Roadmap
  6. Contributing
  7. License
  8. Contact
  9. Acknowledgments

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.

(back to top)

Built With

(back to top)

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

  1. Clone the repo
    git clone https://github.com/StartUpNationLabs/react-flight-tracker-satellite.git
  2. Change to the project directory
    cd react-flight-tracker-satellite
  3. Run the application
    go run cmd/main.go

(back to top)

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

(back to top)

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

(back to top)

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).

(back to top)

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Project Link: https://github.com/StartUpNationLabs/react-flight-tracker-satellite

(back to top)

Acknowledgments

(back to top)