Прескочи до садржаја
Vasic Digital

// ниво: vasic-util-secondary · редослед 21

Catalogizer У продукцијилиценца: UNVERIFIED

GoGinTypeScriptReactTailwindWebSocketsSQLCipherPostgreSQLRedisSMB/FTP/NFS/WebDAVPrometheusOpenTelemetryDockerTauri/RustS3Google Cloud Storage

Извор

Catalogizer — layered architecture · multi-protocol fan-out Clients Encrypted data layer Multi-protocol fan-out Web UI · React + Tailwind Desktop · Tauri / Rust Realtime · WebSockets Catalogizer Core Go + Gin · unified API SQLCipher encrypted catalog PostgreSQL Redis cache Prometheus · OTel metrics · traces SMB · FTP · NFS · WebDAV storage sources S3 · Google Cloud Storage object storage
// архитектура

Напредно управљање мултимедијалним колекцијама са подршком за више протокола — откривање, каталогизација и обогаћивање свега што поседујете.

Професионални управљач мултимедијалних библиотека са подршком за више протокола. Go/Gin REST API препознаје преко 50 врста медија са извора попут SMB/FTP/NFS/WebDAV/локалних система, обогаћује их подацима из TMDB/IMDB/MusicBrainz/Steam и других извора, те служи React веб-апликацију у реалном времену преко шифроване SQLCipher базе података.

Већина управљача медијима захтева да се прво предате: све пребаците на један диск, у једном формату, једне врсте, и тек онда ће вам помоћи. Catalogizer полази од супротне премисе — ваша колекција већ постоји тамо где постоји, распрострањена на NAS дељеним ресурсима и протоколима који се никада неће усагласити — и прилази јој на њеном терену. Подржава протоколе које складишта већ користе — SMB/CIFS, FTP/FTPS, NFS, WebDAV и локалне фајл-системе — иза јединствене клијентске апстракције, тако да Windows дељени ресурс, FTP архива и WebDAV тачка монтирања изгледају идентично вишим слојевима и могу се мешати, замењивати или повлачити без додиривања апликативног кода. Go бацкенд (Gin REST API) непрестано надгледа те изворе, открива и класификује преко 50 врста медија (филмови, серије, музика, игре, софтвер, документарци) чим се фајлови појаве, те обогаћује сваку ставку из низа спољњих провајдера — TMDB, IMDB, TVDB, MusicBrainz, Spotify, Steam и других — тако да обичан назив фајла постаје потпуно опремљен каталогизован унос са уметничким делима, глумачком поставом и метаподацима. Резултати се стримују на TypeScript React фронтенд путем WebSocket-а, тако да се библиотека ажурира уживо током ингестије, уместо на ручно освежавање, а сваки бајт метаподатака чува се у шифрованој SQLCipher бази података заштићеној JWT аутентификацијом заснованом на улогама.

Док већина каталогизатора пада чим дељени ресурс откаже, Catalogizer је пројектован да остане употребљив и током прекида. Привремени квар на SMB-у се апсорбује експоненцијалним поновним повезивањем, прекидачем кола који спречава бомбардовање неактивног хоста, сталним праћењем здравља система и кешом метаподатака која наставља да одговара на корисничке захтеве из последњег познатог исправног стања — разлика између „цела апликација је пала јер се један NAS рестартовао" и „један извор је деградиран, али све остало ради". Поред каталогизације, служи и као оперативни алат за колекцију: аналитика о трендовима раста и праћењу квалитета/верзија, генерисање професионалних PDF извештаја, услуга конверзије PDF у слику/текст/HTML, извоз/увоз фаворита (JSON/CSV) и синхронизација са облаком на S3, Google Цлоуд Стораге или локалним фолдерима. И није то монолит који је случајно велики — намерно је састављен од 21 поново употребљивог digital.vasic.* Go подмодула и TypeScript клијентских пакета, од којих је сваки независно тестиран и верзиран, тако да исте испробане компоненте за аутентификацију, фајл-системе, стримовање и надгледање које покрећу Catalogizer покрећу и ширу породицу производа. Контрола квалитета није само декларативна: оквир Цхалленгес и HelixQA подвргавају сваку рекламирану функционалност провери заснованој на доказима, без празних обећања.

Catalogizer је систем за управљање мултимедијалним колекцијама који се може самостално хостовати и аутоматски открива, категоризује и организује медије на SMB, FTP, NFS, WebDAV и локалним фајл-системима, уз праћење у реалном времену, шифровано складиштење, обогаћивање спољним метаподацима и модеран React интерфејс подржан високоперформансним Go API бацкендом.

Постојећи управљачи медијским садржајем полазе од претпоставке да постоји један складишни бацкенд и један тип медија. Праве колекције распростиру се преко више NAS дељених ресурса и протокола, пропадају када неки ресурс откаже и мешају филмове, музику, игре и софтвер. Catalogizer је створен да све протоколе третира једнако, преживи нестабилна мрежна складишта и пружи један ауторитативан, обогаћен и енкриптован каталог над свим садржајима.

У једном самостално хостованом, енкриптованом пакету обједињује оно што иначе захтева читав низ одвојених алата: унос независан од протокола који све складишне бацкендове третира подједнако, отпорност која каталог одржава живим током прекида складишта уместо да с њима пада, и богато обогаћивање из више извора које претвара сирове фајлове у прегледну, атрибутирану библиотеку. Добитак модуларне архитектуре је кумулативан: свако побољшање у клијенту фајл система или нови додатак за провајдера примени се једном и унапређује све потрошаче, тако да Catalogizer постепено постаје бољи како и окружење око њега напредује. Укратко, то је разлика између медијског индекса и медијског *система* – оног који је ваш, који преживљава нестабилну инфраструктуру и чија је унутрашња логика доказана, а не само обећана.

  • Уједињени клијент фајл система за више протокола (SMB/FTP/NFS/WebDAV/локално) иза једног интерфејса.
  • Офлајн кеш + прекидач струјног кола како би каталог остао употребљив током прекида складишта.
  • Потпуно издвајање у 21 поново употребљив digital.vasic.* Go подмодул и ТС клијентске модуле.
  • Каталог енкриптован на месту складиштења (SQLCipher) са синхронизацијом у реалном времену (WebSocket) према UI.
  • Доказани квалитет путем Цхалленгес оквира и HelixQA интеграције.

  • Нестабилна мрежна складишта: решено експоненцијалним повлачењем, прекидачем струјног кола, здравственим проверама и офлајн кешом са политиком избацивања који служи кешираним метаподацима када извори нису доступни.
  • Хетерогеност протокола: решено апстракцијом сваког протокола иза заједничког digital.vasic.filesystem клијента тако да виши слојеви нису свесни протокола.
  • Сигурност података: решено енкрипцијом на месту складиштења (SQLCipher) уз JWT/RBAC аутентификацију и middleware за санитизацију захтева.
  • Одрживост на великој скали: решено издвајањем све генеричке логике у независно тестиране подмодуле уместо у монолит.

  • Go + Gin — високоперформативно REST API језгро (catalog-api); изабрано због конкурентности и пропусности при непрекидном праћењу.
  • TypeScript + React + Tailwind (Vite) — респонсиван catalog-web UI са ажурирањима у реалном времену.
  • WebSockets — синхронизација података уживо између бацкенд чворишта и UI.
  • SQLCipher (енкриптовани SQLite) — енкриптовано складиште метаподатака на месту складиштења; двострука подршка за SQLite/PostgreSQL преко digital.vasic.database.
  • Клијенти за SMB/FTP/NFS/WebDAV — унос преко више протокола путем digital.vasic.filesystem.
  • Спољашњи API-ји за метаподатке (TMDB, IMDB, TVDB, MusicBrainz, Spotify, Steam) — додаци за обогаћивање.
  • Prometheus + OpenTelemetry — метрике и праћење путем digital.vasic.observability.
  • Docker / буилдер контејнер — репродуктивне израде (Tauri/Rust усмерене кроз catalogizer-builder).
  • Redis — кеширање и ограничавање броја захтева путем digital.vasic.cache / ratelimiter.
  • S3 / Google Цлоуд Стораге — синхронизација у облаку и складиштење контролних тачака.