Skip to main content

CityLens

CityLens is a service for capturing and processing images that allows you to:

  • Get an image in driving mode through the mobile app.
  • Process images, detect incidents and classify them using AI Computer Vision algorithms.
  • Plan tasks for covering territories, analyze the results, and make reports.

Architecture

CityLens service architecture

CityLens consists of the following components:

  • Mobile Application — application for collecting tracks and frames.
  • CityLens API — API for transferring data from external applications to Kafka (Broker on the diagram) and proxying requests from the mobile application.
  • CityLens Routes API — API for creating driving tasks and building routes for them.
  • CityLens Routes worker — service for internal planning operations: reading from Kafka (Broker on the diagram), analyzing task completion, and sending results to other services (2GIS Pro).
  • CityLens Routes UI — React-based web application for managing tasks (Planner). Interacts with CityLens Routes API via HTTP.
  • CityLens Web — web-based dashboard for managing detailed information on tasks, drivers, detections, and more.

Dependencies

Shared infrastructure:

  • Apache Kafka — data storage for storing events, related to API keys.
  • PostgreSQL — data storage for tasks.
  • S3 storage — frames data storage.
  • OpenID Connect provider to authorize users via Single Sign-On (SSO) technology. See the instruction on configuring an authentication provider.

Note

You can use alternatives from the unified register of Russian programs for the software listed above. For available alternatives, see the System requirements section.

On-Premise services:

For more information on how to check requirements for each service, refer to the System requirements document.

What's next?