api for huntapp
Go to file
Finn Skov Henriksen a9a502bac2
All checks were successful
Build / Restore, build and publish (push) Successful in 51s
Build / Build and run Docker container (push) Successful in 21s
Update gitea-actions-setup.md
2026-08-31 15:18:19 +02:00
.gitea/workflows ci update 2026-08-31 14:05:09 +02:00
Controllers first commit 2026-08-31 12:29:23 +02:00
docs Update gitea-actions-setup.md 2026-08-31 15:18:19 +02:00
Models first commit 2026-08-31 12:29:23 +02:00
Services first commit 2026-08-31 12:29:23 +02:00
Sql first commit 2026-08-31 12:29:23 +02:00
.dockerignore ci update 2026-08-31 14:05:09 +02:00
.env.example ci update 2026-08-31 14:05:09 +02:00
.gitignore first commit 2026-08-31 12:29:23 +02:00
appsettings.json first commit 2026-08-31 12:29:23 +02:00
compose.yml ci update 2026-08-31 14:05:09 +02:00
Dockerfile ci update 2026-08-31 14:05:09 +02:00
HuntingAppApi.csproj first commit 2026-08-31 12:29:23 +02:00
NuGet.config first commit 2026-08-31 12:29:23 +02:00
Program.cs first commit 2026-08-31 12:29:23 +02:00
README.md first commit 2026-08-31 12:29:23 +02:00

HuntingAppApi

ASP.NET Core / .NET 10 Web API sample using Controllers, Newtonsoft.Json, Npgsql and PostGIS.

Setup

createdb hunting_app
psql -d hunting_app -f Sql/001_schema.sql
dotnet restore
dotnet run

Update appsettings.json with your PostgreSQL connection string and JWT secret.

Main endpoints

  • POST /api/auth/external-login
  • GET /api/hunt-areas
  • POST /api/hunt-areas
  • GET /api/map-points/area/{huntAreaId}
  • POST /api/map-points
  • GET /api/hunts/area/{huntAreaId}
  • POST /api/hunts
  • POST /api/hunts/{huntId}/participants
  • POST /api/hunts/{huntId}/assignments
  • GET /api/hunts/{huntId}/participant-locations
  • POST /api/locations
  • GET /api/hunts/{huntId}/messages
  • POST /api/hunts/{huntId}/messages

Important production notes

The external token validator is intentionally simple. Before production, validate Google/Microsoft ID tokens against issuer, audience/client ID, expiry and JWKS signature validation.