/img-annotator

React application lets you create image with hotspot and edit popup contents via drag and drop widgets from widget panel. At the end hotspot image can be embedded into your website

Primary LanguagePHP

image-annotator

image-annotator

Image Annotator lets you upload an image and place hotspot where each hotspot has popup which contains editable pre defined widgets. Image can embedded into websites (similar to how youtube lets you embed video into your personal site) [work in progress].

How to run it locally

Git Clone or download the project locally and run docker compose to spin up all the required services. Docker spins up PHP, Mysql and Adminer.

Load default data

Log into Adminer (http://localhost:8080) using default credentials [username,password] = ["root","example"] and execute all the sql statements found in img-annotator.sql inside Adminer execute option.

Run React app

npm start and login into app using email: test@testuser.com password: test

Features implemented so far

  • Let user generate an embeddable link
  • Embed component uses React context
  • Implemented pagination using Redux
  • Drag and drop widgets from widgets panel into popup
  • Widgets in popup can be re ordered by the user
  • Widgets (Widgets are customisable)
    • Image and Video widget
    • Text (includes header, body, free text)
    • Button (edit text and link out to external sources)
    • Carousel Widget
      • User can reorder slides via drag and drop
      • User can add video / image slide
      • User can edit each slide data (image, video and caption)

TODO

  • Rewrite editor component with Redux
  • Setup demo application with minimal setup