https://github.com/bdougherty/tide-predictions-graphql
A GraphQL service to find the nearest tide prediction station and get predictions for the next few days.
https://github.com/bdougherty/tide-predictions-graphql
api graphql graphql-microservice graphql-server host-caprover noaa tide-data tides
Last synced: 4 months ago
JSON representation
A GraphQL service to find the nearest tide prediction station and get predictions for the next few days.
- Host: GitHub
- URL: https://github.com/bdougherty/tide-predictions-graphql
- Owner: bdougherty
- License: mit
- Created: 2018-01-03T19:26:01.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-01-03T15:16:00.000Z (over 3 years ago)
- Last Synced: 2025-10-11T07:28:00.412Z (8 months ago)
- Topics: api, graphql, graphql-microservice, graphql-server, host-caprover, noaa, tide-data, tides
- Language: JavaScript
- Homepage:
- Size: 1.33 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# tide-predictions-graphql
> A GraphQL service to find the nearest tide prediction station and get predictions for the next few days.
It provides a simpler and more user-friendly API than the original NOAA API, in addition to geocoding capabilities.
Tide data powered by [NOAA CO-OPS API](https://tidesandcurrents.noaa.gov/api/). Water temperature data powered by [USGS Instantaneous Values Web Service](https://waterservices.usgs.gov/rest/IV-Service.html). Weather data powered by [Dark Sky](https://darksky.net/dev/docs). Geocoding and reverse geocoding powered by [OpenStreetMap Nominatim](https://wiki.openstreetmap.org/wiki/Nominatim).
## Usage
Deploy to your hosting provider, set the below environment variables, and start it with `npm start`.
## Environment variables
Define the following environment variable:
* `APPLICATION` - [The name of your organization](https://tidesandcurrents.noaa.gov/api/#application)
* `ENABLE_GRAPHIQL` - Set to `"true"` to enable the `/graphiql` endpoint
* `ACCESS_CONTROL_ALLOW_ORIGIN` - The value to send in the `Access-Control-Allow-Origin` header
* `GEONAMES_USERNAME` - https://geonames.org API username
* `IPDATA_API_KEY` - API key for https://ipdata.co/
* `IPSTACK_API_KEY` - API key for https://ipstack.com/
* `SENTRY_DSN` - To enable reporting to Sentry (optional)
* `APOLLO_ENGINE` - Apollo Engine API key (optional)
## License
MIT © [Brad Dougherty](https://brad.is)