Yusuf Burak PEKER
Back to CV

Work · Demirören News Agency

DTArşiv

Enterprise media asset management for a national news agency

My role

Backend Developer

Status

In production

Client project — source code and internal details are not public.

Overview

DTArşiv is the archive and media asset management (MAM) system editors and archivists use to ingest, approve, catalogue and search news photos, videos and documents. Content arrives continuously from news agency feeds, RSS sources, FTP drops and reporter uploads, and decades of legacy archive content were migrated into the same searchable, permission-controlled system.

The problem

Media came from many separate sources and years of history lived in old systems, so editors couldn't find, approve or reuse content from one place.

Key features

  • Front-desk approval flow: draft, waiting-approval, approved, rejected and revision-requested queues
  • Continuous ingest from RSS feeds, agency feeds, FTP drops and daily reporter uploads
  • Photo and video galleries, folders, grouped content and a visual media archive
  • Elasticsearch-powered search with saved filters, categories, tags, sources and dynamic attributes
  • Personal lists: favourites, downloads, recently viewed and recently deleted
  • Automation actions and bypass rules for repetitive approval work
  • Admin area: role-based users and permissions, scheduled tasks, mail templates, translations, audit and system logs, statistics

Architecture

  • .NET 8 layered architecture: REST API → business (facade) layer → EF Core data layer
  • Separate PostgreSQL databases for the archive, the front desk, migrated legacy data and logs
  • A standalone background service runs scheduled jobs: feed polling, media download and thumbnail/proxy generation
  • Ingested items are indexed into Elasticsearch; Redis is used for caching
  • Azure AD (OpenID Connect) sign-in combined with an encrypted session token with inactivity and absolute timeouts
  • Media is stored on S3-compatible storage and served through a CDN

Technical challenges

  • Merging many agency APIs, RSS and FTP sources into a single approval pipeline with asynchronous media processing
  • Migrating large legacy archives without duplicates, using external IDs and migration keys in a dedicated database
  • Session security that background polling can't keep alive indefinitely

Tech stack

.NET 8ASP.NET CoreEntity Framework CorePostgreSQLRedisElasticsearchAzure AD (OpenID Connect)FTPDockerNext.jsReactTypeScriptRedux ToolkitTailwind CSS