annis-web

This is an experimental version of ANNIS corpus search frontend.

https://github.com/korpling/annis-web

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.2%) to scientific vocabulary
Last synced: 9 months ago · JSON representation ·

Repository

This is an experimental version of ANNIS corpus search frontend.

Basic Info
  • Host: GitHub
  • Owner: korpling
  • License: apache-2.0
  • Language: SCSS
  • Default Branch: main
  • Homepage:
  • Size: 2.16 MB
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Created over 3 years ago · Last pushed about 2 years ago
Metadata Files
Readme Changelog License Citation

README.md

codecov

ANNIS frontend experiments

ANNIS is an open source, versatile web browser-based search and visualization architecture for complex multilevel linguistic corpora with diverse types of annotation. This is an experimental version of ANNIS trying to rethink the user interface and implementation of the ANNIS frontend.

What is the difference to the original ANNIS version 4?

The experimental is very limited in its feature set, and only supports exporting the results as CSV for now. Additional features, like other exporters or a frequency analysis will be added later.

Why starting from scratch?

ANNIS 4 is based on a web-frontend library called Vaadin 8. Since Vaadin 8 is end-of-life and receives no further updates, we have to rethink the whole technical application stack of the ANNIS frontend. Updating to Vaadin 23 is practically a complete rewrite, so we should be open about which Programming Languages and Frameworks we use. Especially, porting the different visualizers might become a larger struggle. This project is meant to create an experimental prototype with a Rust-based framework and technologies and to create a usable next generation of the ANNIS frontend step-by-step. While Vaadin 7/8 was around as Open Source for a long time, we are even more conservative when choosing the new technology, so it will work for a long time.

Frameworks used

Developing annis-web

You need to install Rust to compile the project. We recommend installing the following Cargo subcommands for developing annis-web:

Running the web server

When developing, you can run a web server that is automatically re-compiled when any of the source files changes.

bash cargo watch -x 'run -- --session-file annis-frontend-sessions.db'

Execute tests

You will need a Chromium/Chrome browser and the matching chromedriver binary installed to execute the tests. Before running the tests, start chromedriver on port 4444.

bash chromedriver --port=4444

If the Chromium/Chrome binary is installed as a snap, you might have to change the temporary directory by setting the TMPDIR environment variable.

bash mkdir -p "${HOME}/tmp/" TMPDIR="${HOME}/tmp/" chromedriver --port=4444

Then run the tests in another terminal.

bash cargo test

To execute the tests and calculate the code coverage, you can use cargo-llvm-cov:

bash cargo llvm-cov --open --ignore-filename-regex 'tests?\.rs'

Compiling the CSS

Make sure you use Dart Sass to compile the Bulma-based ANNIS stylesheets.

bash sass --style compressed --source-map bulma-annis/sass/annis.scss static/annis.min.css

Owner

  • Name: korpling
  • Login: korpling
  • Kind: organization

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: annis-web
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Thomas
    family-names: Krause
    email: thomas.krause@hu-berlin.de
    affiliation: Humboldt-Universität zu Berlin
    orcid: "https://orcid.org/0000-0003-3731-2422"
repository-code: "https://github.com/korpling/annis-web"
license: Apache-2.0
version: 0.2.0
date-released: "2023-10-30"

GitHub Events

Total
Last Year

Packages

  • Total packages: 1
  • Total downloads:
    • cargo 3,278 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
crates.io: annis-web

This is an experimental version of ANNIS corpus search frontend.

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 3,278 Total
Rankings
Dependent repos count: 30.6%
Dependent packages count: 36.3%
Average: 55.1%
Downloads: 98.4%
Maintainers (1)
Last synced: 10 months ago

Dependencies

.github/workflows/code_coverage.yml actions
  • SierraSoftworks/setup-grcov v1 composite
  • Swatinem/rust-cache v2.2.0 composite
  • actions-rs/toolchain v1.0.6 composite
  • actions/checkout v2 composite
  • actions/download-artifact v2 composite
  • actions/upload-artifact v2 composite
  • barecheck/code-coverage-action v1 composite
  • nanasess/setup-chromedriver v1 composite
.github/workflows/format.yml actions
  • actions-rs/toolchain v1 composite
  • actions/checkout v2 composite
  • mbrobbel/rustfmt-check 0.3.0 composite
.github/workflows/static_code_analysis.yml actions
  • Swatinem/rust-cache v2.2.0 composite
  • actions-rs/cargo v1.0.1 composite
  • actions-rs/clippy-check v1.0.7 composite
  • actions-rs/toolchain v1.0.6 composite
  • actions/checkout v2 composite
.github/workflows/test.yml actions
  • Swatinem/rust-cache v2.2.0 composite
  • actions/checkout v2 composite
  • nanasess/setup-chromedriver v1 composite
Cargo.lock cargo
  • 291 dependencies
Cargo.toml cargo
  • fantoccini 0.19 development
  • hyper 0.14 development
  • mockito 1 development
  • scraper 0.16 development
  • tower 0.4 development
  • tracing-test 0.2 development
  • askama 0.12
  • axum 0.6.1
  • axum-sessions 0.5
  • include_dir 0.7
  • mime_guess 2
  • rand 0.8
  • reqwest 0.11
  • serde 1
  • thiserror 1
  • tokio 1.17.0
  • tracing 0.1
  • tracing-subscriber 0.3
  • url 2.3