How takmasakal/mam_deneme works
MAM is a browser-based media asset management application. Users upload and describe assets, then search, review, edit metadata, manage workflow and versions, and view or download media. The README also documents soft deletion, collections, video proxies, OCR/subtitle search, and Office/PDF previews. The tree and excerpts support the frontend entry points, search services, and authentication components; most backend route wiring is unsampled, so uncertain service-to-route links are omitted.
Main entry points: assets.js Asset API · main.js Main UI · db.js PostgreSQL · server.js Application server
Components 22
Browser application
- Main UI
public/main.js - Asset ingest
public/main-ingest.js - Document preview
public/main-document-preview.js
Asset management
- Asset API
src/routes/assets.js - Office API
src/routes/office.js - Asset listing
src/services/assetListQueryService.js - Asset versions
src/services/assetVersionService.js - Workflow state
public/main-workflow-store.js - Application server
src/server.js - PostgreSQL
src/db.js
Discovery and text
- Advanced search
src/services/advancedSearchService.js - Search indexing
src/services/searchService.js - Text indexing
src/services/textAssetIndexService.js - Elasticsearch
Media processing
- Subtitle services
src/services/subtitleService.js - OCR service
src/services/ocrService.js - Media jobs
src/services/mediaJobs.js - Office previews
src/services/officeService.js - FFmpeg
Identity and access
- Asset access
src/services/assetAccessService.js - Keycloak
Other components
- MAM user
Connections 23
- MAM user → Main UI: uses
- Main UI → Asset ingest: creates UI
- Main UI → Document preview: opens preview
- Asset ingest → Asset API: uploads asset
- Document preview → Asset API: requests text
- Main UI → Asset API: asset actions
- Main UI → Workflow state: reads state
- Application server → Asset API: serves API
- Application server → Office API: serves API
- Application server → PostgreSQL: initializes database
- Asset API → Asset listing: queries assets
- Asset API → Asset versions: manages versions
- Asset API → Asset access: checks access
- Asset listing → Advanced search: parses definition
- Search indexing → PostgreSQL: reads asset data
- Search indexing → Elasticsearch: indexes and queries
- Text indexing → PostgreSQL: stores text data
- Subtitle services → PostgreSQL: stores subtitle data
- OCR service → PostgreSQL: stores OCR data
- Office API → Office previews: handles documents
- Asset API → Media jobs: dispatches jobs
- Media jobs → FFmpeg: generates proxies
- MAM user → Keycloak: authenticates