Skip to content

Implementation Details

Nikolaus Spring edited this page Apr 16, 2024 · 2 revisions

Backend API

Endpoints

GET /cities/{city}/listings

Fetches all listings (with max page size 20) from the DB. Use the continuationToken query parameter to retrieve further pages.

NOTE: {city} is a path parameter that is expected to be 1. all lowercase and 2. to not contain any spaces

TODO figure out what to do with e.g. äöüß

Query parameters

  • pageSize
  • continuationToken
  • minSize
  • maxSize ... TODO

GET /cities/{city}/listings/{id}

Fetches the listing with the given id in the given city.

Returns 200 OK or 404 NOT FOUND.

Trigger definitions

Internal naming of trigger definitions follows camelCase.

Database

As a database we use CosmosDB Core/NoSQL.

The CosmosDB endpoint name does not matter, because it is injected by app settings anyway.

The DB has the following setup

  • DB name: gewoscout-db
    • Container name: ListingsByCity
      • PK: /_partionKey

Clone this wiki locally