/easy_label

Marking entities in texts

Primary LanguageVueMIT LicenseMIT

text_label (Easy Mark)

A Vue.js project (front-end interface) for marking entities in texts(especially pdf paper).

A Python project (back-end API) to support Vue data exchange.

Front-end and Back-end are both independent.

Functions or Features

  • Parse PDF paper into texts(multithreading)
  • Add new entity class
  • Mark entities in texts
  • Mark relations in texts
  • Support multi-user collaboration
  • Commit to the database asynchronously
  • Recognize potential entities
  • recognize and mark all identical entities after selection

Todo

  • Add relation mark function

Preview

  • Project Management

  • Class Management

  • Work Table

Database

MySQL

User should import structure to MySQL.

Build Setup For Front-end

Before building setup

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

# build for production and view the bundle analyzer report
npm run build --report

For a detailed explanation on how things work, check out the guide and docs for vue-loader.

Build Setup For Back-end

Add Vue Project Host in origins For Security Configure Database in config

# install dependencies
pip install python-multipart
pip install uvicorn
pip install fastapi
pip install aiofiles
pip install aiomysql

# open services
uvicorn apiCore:app --reload --port 8000 --host 0.0.0.0

Developer log

npm install -g vue-cli

vue init webpack text_label

npm install axios -S
npm install element-ui -S
npm install vue-pdf -S
npm install jsplumb -S
npm install file-saver -S