Skip to content

alexfalkowski/standort

Repository files navigation

CircleCI codecov Go Report Card Go Reference Stability: Active

Standort

Standort provides location based information.

Location

The following locations are covered.

IP Address

The service allows you to get the location by IP address using geoip2.

Countries/Continents

The service allows you to get the location based on latitude/longitude using the power of free maps.

Dependencies

Dependencies

Server

The server has the following versions.

Versions

The service contains 2 versions of the API. These are as follows:

  • V1 - has separate endpoints for IP and countries.
  • V2 - combines both into one endpoint and uses the following headers:

Dependencies

Dependencies

Client

The client can be used in other projects.

Configuration

This is configured as follows:

client:
  v1:
    host: server_host
    retry:
      attempts: 3
      backoff: 100ms
      timeout: 3s
    timeout: 5s
    user_agent: "UA"
  v2:
    host: server_host
    retry:
      attempts: 3
      backoff: 100ms
      timeout: 3s
    timeout: 5s
    user_agent: "UA"

Dependencies

Dependencies

Development

If you would like to contribute, here is how you can get started.

Structure

The project follows the structure in golang-standards/project-layout.

Dependencies

Please make sure that you have the following installed:

Style

This project favours the Uber Go Style Guide

Setup

The get yourself setup, please run the following:

make setup

Binaries

To make sure everything compiles for the app, please run the following:

make build-test

Features

To run all the features, please run the following:

make features

Changes

To see what has changed, please have a look at CHANGELOG.md