From 9fab2b0d891fc2d9639a31886d33bf8e230a617e Mon Sep 17 00:00:00 2001 From: Jonas Seiler Date: Wed, 2 Apr 2025 09:28:35 +0200 Subject: [PATCH] README: specify geometry type of API --- README.md | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 71964a1..4d5a23f 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ +# PTV Street Ressource Task + 1. Create a service in dotnet. It has a REST API that serves a resource 'street'. A street can be created and deleted. It has a name, a geometry and a capacity (= how many vehicles can use it within a minute). 2. The street data is stored in a Postgres database, and we use EF core to save data there. 3. Implement an endpoint to add a given single point to the geometry of an existing street on either the beginning or the end, whatever fits better. - -- Bonus: Note that this endpoint has a strange behavior from a user perspective when there are race conditions. Please take care of that in the implementation. - + - Bonus: Note that this endpoint has a strange behavior from a user perspective when there are race conditions. Please take care of that in the implementation. 4. Add a hidden feature flag to decide whether the operation (in bullet point 3.) is done on the database level, using PostGis, or withing the backend code, algorithmically. 5. Add a Docker file and a Kubernetes manifest, so we can deploy it as a service with 3 replicas. 6. Also create a docker compose file, so we can locally check everything. @@ -22,7 +22,12 @@ The following functions are supported: { "name": String, "capacity": int, - "geometry": Geometry + "geometry": [ + { + "x": int, + "y": int + } + ] } ``` @@ -38,7 +43,12 @@ The following functions are supported: { "name": String, "capacity": int, - "geometry": Geometry + "geometry": [ + { + "x": int, + "y": int + } + ] } ``` @@ -49,7 +59,10 @@ The following functions are supported: ```JSON { - "point": Geometry, - "method": "Backend" | "Database" | "PostGIS" // Optional, default is <> + "point": { + "x": int, + "y": int + }, + "method": "Backend" | "Database" | "PostGIS" // Optional, default is "Backend" } ```