{"id":42761230,"url":"https://github.com/starwit/observatory-config","last_synced_at":"2026-01-29T20:34:10.932Z","repository":{"id":232746000,"uuid":"675420372","full_name":"starwit/observatory-config","owner":"starwit","description":"An app in order to configure parking places for computer vision","archived":false,"fork":false,"pushed_at":"2025-09-10T11:38:26.000Z","size":10579,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-09-10T15:43:39.752Z","etag":null,"topics":["smart-cities","wolfsburg"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/starwit.png","metadata":{"files":{"readme":"README.MD","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"License","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-08-06T21:15:16.000Z","updated_at":"2025-09-10T11:38:28.000Z","dependencies_parsed_at":"2024-04-29T05:27:54.681Z","dependency_job_id":"e239f422-69e3-42f0-a110-6478e998d9b3","html_url":"https://github.com/starwit/observatory-config","commit_stats":null,"previous_names":["starwit/smartparkingconfig","starwit/observatory-config"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/starwit/observatory-config","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/starwit%2Fobservatory-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/starwit%2Fobservatory-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/starwit%2Fobservatory-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/starwit%2Fobservatory-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/starwit","download_url":"https://codeload.github.com/starwit/observatory-config/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/starwit%2Fobservatory-config/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28884291,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T19:55:09.949Z","status":"ssl_error","status_checked_at":"2026-01-29T19:55:08.490Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["smart-cities","wolfsburg"],"created_at":"2026-01-29T20:34:10.125Z","updated_at":"2026-01-29T20:34:10.924Z","avatar_url":"https://github.com/starwit.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Introduction\n\nThis repository contains an application that allows you to define areas to observe present objects and thresholds to count objects moving across. It is open source under the AGPL license and other usages are recommended. For more details on licensing see section [License](#license).\n\n## What does it do?\n\nThis software provides graphical tools to manage parking spaces. Users can define various area types that creates a configuration for a parking space which will then converted into AI based counting and monitoring jobs.\n\nFollowing screenshot shows an example instances with four running configurations:\n\u003cimg src=\"docs/Observatory-Overview.jpg\" width=\"800\" /\u003e\n\nAn individual configuration can contain many items, to count objects or collect movement data. Next screenshot shows an example configuration:\n\n\u003cimg src=\"docs/Observatory-Edit.jpg\" width=\"800\" /\u003e\n\n\n# Installation\n\nThis application runs on Kubernetes and standard installation tool is Helm. See section [Development](#development-setup) for other ways to run software in an dev environment.\n\n## Deployment with Helm\n\nHelm is a templating engine, that generates Kubernetes config files. It can be used to install, upgrade or delete apps on Kubernetes.\n\n## Prerequisites\n\nAll artifacts for this app are stored in custom registries. For instructions how to use those please refer to [Wiki](https://dev.azure.com/starwit/Smart%20Parking/_wiki/wikis/Smart-Parking.wiki/97/Build-Infrastructure).\n\n    # create a namespace for your application\n    kubectl create ns spc\n    \n    # install app into created namespace\n    helm -n spc install spc internal/observatory-config -f customvalues.yaml\n\n    # upgrade app\n    helm -n spc upgrade spc internal/observatory-config -f customvalues.yaml\n\n    # delete app\n    helm -n spc uninstall spc\n\n## Custom Values File\n\nFor target environment some configuration is necessary. In Helm you can provide config data via a custom value file. See the template [value file](deployment/helm/observatory-config/values-local-tpl.yaml) for an example. More detailed explanation for individual fields are provided in the [Readme](deployment/helm/observatory-config/Readme.md) file.\n\n# Build\n\n## Build with Github\n\n* Docker image \u0026 Helm chart are released to custom registry\n* Custom runner necessary to reach custom registry\n\n### Custom runner installation\n\nPlease refer official documentation on how to install Github runners at:\n\u003chttps://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners\u003e\n\n# Development Setup\n\n## Prerequisites\n\n* Java JDK 17 or later\n* Maven 3\n* NodeJs (16.9.1) and NPM (8.3.2) - [NodeJS Install](https://nodejs.org/en/download/package-manager/)\n* Postgres (available for development via docker-compose scripts)\n* using Keycloak is optional\n\n## Setup / Running\n\nEach step is executed from the project home directory.\n\n1) Go to `webclient/app` and install the frontend applications dependencies\n\n    ```bash\n    cd webclient/app\n    npm install\n    ```\n\n2) Go to Main Folder and build the project\n\n    ```bash\n    mvn clean install -P frontend\n    ```\n\n3) Go to the deployment folder and start the local dev environment docker compose:\n\n    A. Without authentication\n\n    ```bash\n    cd deployment\n    docker compose -f noauth-docker-compose.yml up\n    ```\n\n    B. With authentication (through Keycloak)\n\n    ```bash\n    cd deployment\n    docker compose -f auth-docker-compose.yml up\n    ```\n\n4) Start application\n\n    A. Without authentication: `java -jar aplication/target/application-0.0.1-SNAPSHOT.jar`\\\n    B. With authentication: `SPRING_PROFILES_ACTIVE=auth-dev java -jar aplication/target/application-0.0.1-SNAPSHOT.jar`\n\n    (you can also use the spring boot maven plugin `mvn spring-boot:run` or run the main class `Application.java` through VSCode)\n\n**The Application can be reached under \u003chttp://localhost:8081/observatory-config/\u003e**\n\n**If you are using keycloak:**\n\n* **default user/password is admin/admin**\n* **keycloak can be reached under \u003chttp://localhost:8080/auth\u003e**\n\n## Debugging\n\n### Frontend Debugging\n\nFor debugging, you can start the frontend separately.\n\n```shell\ncd webclient/app\nnpm run dev\n```\n\nVite dev server starts under `http://localhost:5173/` by default.\nRequests to `http://localhost:5173/api` are automatically proxied to `http://localhost:8081/observatory-config/api` which is where the app will run by default, so you just need to start the app locally (preferable without auth) for the dev server version to be fully functional.\n\n\u003e **If you are using the installation with keycloak, make sure you are logged in before first usage - just go to localhost:8081/starwit in your browser.**\n\n### Backend Debugging\n\nYou can start the spring boot application in debug mode. See Spring Boot documentation for further details. The easiest way is, to use debug functionality integrated with your IDE like VS Code.\n\n## Postgres Client\n\nPGadmin for GUI-based database access is available at `http://localhost:5050` (database connection is preconfigured)\n\n## Changelog\n\nDuring development, you can add commits to change log by using this syntax: \u003chttps://www.conventionalcommits.org/en/v1.0.0/#examples\u003e\n\n# License\n\nCode in this repository is property of [Starwit Technologies GmbH](https://starwit-technologies.de/) and is published under AGPL. So if you want to adapt it, any change needs to be published under AGPL as well. Please let us know, which changes you made. Same goes for errors and bugs. License can be found at [here](License).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstarwit%2Fobservatory-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstarwit%2Fobservatory-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstarwit%2Fobservatory-config/lists"}