Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/erikjuhani/exoplanet-scouter
A public Graphql API for information about known exoplanets and stars.
https://github.com/erikjuhani/exoplanet-scouter
apollo-server exoplanets graphql nasa nodejs public-api typescript
Last synced: about 1 month ago
JSON representation
A public Graphql API for information about known exoplanets and stars.
- Host: GitHub
- URL: https://github.com/erikjuhani/exoplanet-scouter
- Owner: erikjuhani
- License: mit
- Created: 2021-02-14T17:13:33.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-11-17T20:43:08.000Z (about 2 years ago)
- Last Synced: 2024-04-22T15:25:06.914Z (8 months ago)
- Topics: apollo-server, exoplanets, graphql, nasa, nodejs, public-api, typescript
- Language: TypeScript
- Homepage: https://exoscout.static-memory.dev
- Size: 419 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Exoplanet-scouter - Graphql API
A public Graphql API for information about known exoplanets and stars.
This project uses [NASA Exoplanet Archive](https://exoplanetarchive.ipac.caltech.edu/)
as a datasource following closely to the schema provided by the archive (fields), only with few expections and additions.Demo: https://exoscout.static-memory.dev
NOTE:
This code is in alpha stages so it might change radically before version 1 release.
You can use the "Demo" api for any purpose you like, but be aware that it might be taken down or changed at any moment.
I suggest to use this API locally or in self provided environments.## Todo:
- [ ] Issues and milestones for version 1
- [ ] Better readme and explanations
- [ ] External datasource result caching
- [ ] Higher testing coverage
- [ ] Github action step for testing and building the application
- [ ] Clear separation of development and production packages
- [ ] Development dockerfile and Makefile for easier testing and building purposes## Queries
```graphql
{
exoplanets {
name
potentiallyHabitable
yearOfDiscovery
controversial
updatedAt
star {
name
mass
distance
coordinates(unit:XYZ) {
... on XYZ {
x
y
z
}
}
}
}
}
```The above query will produce following json:
```json
{
"data": {
"exoplanets": [
{
"name": "Kepler-767 b",
"orbitSemiMajorAxis": null,
"potentiallyHabitable": false,
"yearOfDiscovery": 2016,
"controversial": false,
"updatedAt": "2016-05-06",
"star": {
"name": "Kepler-767",
"distance": 2251.03,
"mass": 0.96,
"radius": 0.94,
"temperature": 5694,
"coordinates": {
"x": 733.1841204025841,
"y": 2091.6379400733967,
"z": 393.2274585211571
}
}
},
{
"name": "Kepler-260 b",
"orbitSemiMajorAxis": 0.075,
"potentiallyHabitable": false,
"yearOfDiscovery": 2014,
"controversial": false,
"updatedAt": "2014-05-14",
"star": {
"name": "Kepler-260",
"distance": 627.365,
"mass": null,
"radius": 0.86,
"temperature": 5250,
"coordinates": {
"x": 203.4251363490311,
"y": 583.7692967475767,
"z": 106.85721922835964
}
}
},...
]
}
```## Features
* Find exoplanets that exists in a habitable zone
* Find star locations in the galaxy by Galaxy Coordinate System (latitude, longitude) or in cartesian format (x, y, z)
* Filter exoplanets by their controversiality or by possible habitability
* Sort by distance to our sun or by the year the planet was discovered