Skip to main content

Overview

Geoterra is a core service that provides astronomical data (sun and moon information), hijri calendar information, and elevation data. It is a dependency for ArabiaWeather (AW) and Pinpoint.

Repository

Repository: https://git.wthr.ws/weathertech/geoterra2 Clone the repository:
git clone https://git.wthr.ws/weathertech/geoterra2
cd geoterra2

Service Endpoint

Production Host: https://geoterra.devops.arabiaweather.com/

Deployment

Geoterra is deployed via Portainer on Docker Swarm with CI/CD integration.

Deployment Location

Portainer Stack: wt-geoterra-api

Deployment Process

Geoterra has automated CI/CD. To deploy:
  1. Make code changes in the repository
  2. Commit your changes:
    git add .
    git commit -m "Your commit message"
    
  3. Push to the repository:
    git push
    
  4. Tag the release:
    git tag vYYYY.MM.DD-X
    git push --tags
    
  5. CI/CD pipeline will automatically:
    • Build the Docker image
    • Push to the registry
    • Update the Portainer stack
The CI/CD pipeline handles the build and deployment automatically. You only need to push and tag the release.

Capabilities

Geoterra provides:
  1. Astronomical Data
    • Sun position and timing (sunrise, sunset)
    • Moon position and phases
    • Astronomical calculations for any location
  2. Hijri Calendar Information
    • Hijri date conversions
    • Islamic calendar data
  3. Elevation Data
    • Elevation information for geographic coordinates
    • Terrain elevation calculations
  • Pinpoint - Weather API that depends on Geoterra for astro and elevation data
  • ArabiaWeather (AW) - Main application that depends on Geoterra