Media Asset Annotator is a web-based application for creating SVG-based annotations on media assets such as images and video using a canvas-based rendering model. This repository contains the frontend module of the Media Asset Annotator system and is designed to work with the Media Asset Annotator Server on backend side.
The application uses client-side routing.
/→ redirects to a media assets/listpage (the?idparam of list is required)/<basePath>/asset?id=<mediaAssetId>→ loads a media asset from the backend/<basePath>/asset?url=<mediaUrl>→ loads an external media asset by URL
- React.js v19-20
- TypeScript (~5.9)
- Vite (Rolldown-based)
- Konva
- React Konva
- Tailwind CSS (v4)
- clsx
This project uses Prettier for code formatting and ESLint for linting to maintain code quality and consistency.
In order to run the application in production mode refer to the deployment instructions.
- Node.js (v24+)
Clone the repository and install the required dependencies:
git clone <repository-url>
cd media-asset-annotator
npm installStart the development server:
npm run devAccess the application using one of the following URLs:
- http://localhost:5173 (default demo)
- http://localhost:5173/asset?id=
- http://localhost:5173/asset?url=
To build the application for production, run:
npm run buildThe production-ready files will be generated in the dist directory.
To preview the production build locally, run:
npm run previewAccess the application using one of the following URLs: