{"id":43954145,"url":"https://github.com/czcorpus/wag","last_synced_at":"2026-02-07T04:06:24.179Z","repository":{"id":39795367,"uuid":"153765575","full_name":"czcorpus/wag","owner":"czcorpus","description":"WaG - install your own word profile generator out of diverse data resources","archived":false,"fork":false,"pushed_at":"2026-01-21T23:44:27.000Z","size":14588,"stargazers_count":9,"open_issues_count":34,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-01-22T04:10:26.371Z","etag":null,"topics":["corpora","data-aggregation","dictionaries","language-resources","linguistics","portal","react","rxjs","typescript","visualization"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/czcorpus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-10-19T10:23:15.000Z","updated_at":"2026-01-21T16:27:37.000Z","dependencies_parsed_at":"2023-02-09T12:01:43.085Z","dependency_job_id":"ced1e352-5fdf-4da7-ba89-63295766471d","html_url":"https://github.com/czcorpus/wag","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/czcorpus/wag","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/czcorpus%2Fwag","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/czcorpus%2Fwag/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/czcorpus%2Fwag/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/czcorpus%2Fwag/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/czcorpus","download_url":"https://codeload.github.com/czcorpus/wag/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/czcorpus%2Fwag/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29186091,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T03:35:06.566Z","status":"ssl_error","status_checked_at":"2026-02-07T03:34:57.604Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["corpora","data-aggregation","dictionaries","language-resources","linguistics","portal","react","rxjs","typescript","visualization"],"created_at":"2026-02-07T04:06:23.422Z","updated_at":"2026-02-07T04:06:24.172Z","avatar_url":"https://github.com/czcorpus.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Word at a Glance (WaG) v2\n\n![WaG screenshot](https://github.com/czcorpus/wag/blob/master/assets/screenshot1.jpg)\n\nWaG is a highly configurable frontend for creating word profile portals based on corpus resources compatible with the Manatee-open search engine. It provides comprehensive visualizations of linguistic data through seamless integration with our API services.\n\n## Table of Contents\n\n- [Core Components](#core-components)\n- [Features](#features)\n- [Getting Started with Docker](#getting-started-with-docker)\n  - [Prerequisites](#prerequisites)\n  - [Quick Start (Production)](#quick-start-production)\n  - [Development Setup](#development-setup)\n  - [Available Services](#available-services)\n  - [Docker Architecture](#docker-architecture)\n- [How to cite WaG](#how-to-cite-wag)\n\n## Core Components\n\nWaG integrates with the following backend services:\n\n* **[MQuery](https://github.com/czcorpus/mquery)** - General corpora analysis including concordances, frequency distributions, and collocations\n* **[Frodo](https://github.com/czcorpus/frodo)** - Corpus-driven dictionaries\n* **[WSServer](https://github.com/czcorpus/wsserver)** - Syntax-based collocations and word similarities\n\nWaG operates in conjunction with [APIGuard](https://github.com/czcorpus/apiguard), our specialized HTTP API proxy and virtual API endpoint provider.\n\n## Features\n\nWith WaG, you can:\n\n1. **Analyze linguistic data** for:\n   - Single words\n   - Comparative analysis of two or more words\n   - Word translations\n\n2. **Explore comprehensive linguistics insights** including:\n   - Text statistics\n   - Time-based trends\n   - Collocations\n   - Geographical data\n   - And much more\n\n3. **Combine data from multiple resources** for enriched analysis\n\n\n## Getting Started with Docker\n\nThe easiest way to run WaG is using Docker Compose, which sets up all required services including WaG, APIGuard, MQuery, Frodo, Redis, MariaDB, and Nginx.\n\n### Prerequisites\n\n- Docker\n- Docker Compose\n\n### Quick Start (Production)\n\n1. **Configure environment** (optional):\n\n   The project includes a [.env](.env) file with working defaults that point to example configurations in [install/docker/](install/docker/). You can use it as-is or customize the paths if needed:\n\n   ```bash\n   WAG_CONFIG_PATH=./install/docker/conf\n   APIGUARD_CONF=./install/docker/apiguard.json\n   MQUERY_CONF=./install/docker/mquery.json\n   FRODO_CONF=./install/docker/frodo.json\n   CORPORA_CONF=./install/docker/corpora\n   VERT_TAGEXTRACT_CONF=./install/docker/vert-tagextract\n   ```\n\n2. **Start all services:**\n\n   ```bash\n   docker compose up -d\n   ```\n\n3. **Access WaG** at `http://localhost:8080`\n\n### Development Setup\n\nFor development with hot-reloading:\n\n1. **Configure environment** (optional):\n\n   For development, you'll need to specify paths to local checkouts of the backend services. Add these to your [.env](.env) file:\n\n   ```bash\n   APIGUARD_PATH=/path/to/apiguard\n   MQUERY_PATH=/path/to/mquery\n   FRODO_PATH=/path/to/frodo\n   ```\n\n   The other variables from the production setup are reused.\n\n2. **Start development environment:**\n\n   ```bash\n   docker compose -f docker-compose.dev.yml up\n   ```\n\n3. **Access WaG** at `http://localhost:8080` (frontend dev server at `http://localhost:9001`)\n\n### Available Services\n\nThe Docker setup includes:\n\n- **WaG** (main application)\n- **APIGuard** (`localhost:8081`) - API proxy\n- **MQuery** (`localhost:8082`) - Corpus analysis\n- **Frodo** (`localhost:8083`) - Dictionary services\n- **Nginx** (`localhost:8080`) - Web server\n- **Redis** - Caching\n- **MariaDB** - Database\n\n### Docker Architecture\n\nThe project uses custom Dockerfiles located in the [dockerfiles/](dockerfiles/) directory:\n\n- `Dockerfile.wag` - Production WaG build\n- `Dockerfile.wag.dev` - Development build with hot-reloading\n- `Dockerfile.apiguard`, `Dockerfile.mquery`, `Dockerfile.frodo` - Backend services\n\n\n## How to cite WaG\n\nTomáš Machálek (2020): Word at a Glance: Modular Word Profile Aggregator. In: [Proceedings of LREC 2020](http://www.lrec-conf.org/proceedings/lrec2020/pdf/2020.lrec-1.866.pdf), s. 7011–7016.\n\n```bibtex\n@InProceedings{machalek2020lrec,\n author = {Tomáš Machálek},\n title = \"{Word at a Glance: Modular Word Profile Aggregator.}\",\n booktitle = {Proceedings of the Twelfth International Conference on Language Resources and Evaluation (LREC 2020)},\n year = {2020},\n publisher = {European Language Resources Association (ELRA)},\n language = {english}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fczcorpus%2Fwag","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fczcorpus%2Fwag","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fczcorpus%2Fwag/lists"}