This package provides an abstraction layer for interfaces and models for the GeoLocation service.


Keywords
api-management-api, app-insights, app-service, azure, azure-devops-pipelines, bicep, key-vault
License
GPL-3.0
Install
Install-Package MX.GeoLocation.LookupApi.Abstractions -Version 1.1.20240611.3

Documentation

GeoLocation Service

Stage Status
Code Quality Code Quality
Build Build Status
Development Build Status
Production Build Status

Overview

This repository contains a simple GeoLocation service that is backed by the MaxMind service. It exists as a caching layer to reduce cost and improve performance.

The primary use-case for integration with the xtremeidiots-portal solution. As many lookups may be done against the same connected players this can become costly.


Related Projects


Architecture

architecture

  • This workload is deployed to the shared Molyneux.IO platform; as such services such as Azure Front Door, API Management, App Service Plans and Log Analytics Workspace are already deployed. This workload will either extend them or integrate with them.
  • The Web App is a public-facing ASP .NET 7 website that allows geo location lookups.
    • No authentication is required for the application
  • The API App is a .NET 7 Web Api that performs the geo location lookups using the MaxMind service.
    • AAD authentication is required for the application.
  • The GeoLocation API is published to API Management and will require AAD Authentication and Subscription Keys.

Azure Pipelines

The one-pipeline is within the .azure-pipelines folder and output is visible on the frasermolyneux/Personal-Public Azure DevOps project. The .github folder contains dependabot configuration and some code quality workflows.


Contributing

Please read the contributing guidance; this is a learning and development project.


Security

Please read the security guidance; I am always open to security feedback through email or opening an issue.