{"id":18256906,"url":"https://github.com/mediacomem/knowledge-mapping","last_synced_at":"2026-02-08T23:36:11.508Z","repository":{"id":249835393,"uuid":"832226268","full_name":"MediaComem/knowledge-mapping","owner":"MediaComem","description":"The Knowledge Mapping (KMap) web tool aims to provide an experimental tool to get access to a large and extending scientific knowledge from a specific domain.","archived":false,"fork":false,"pushed_at":"2024-07-22T15:24:29.000Z","size":4797,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-08-06T15:50:57.967Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://knowledge-mapping.heig-vd.ch/","language":"Blade","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MediaComem.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-07-22T15:16:02.000Z","updated_at":"2024-07-23T13:51:03.000Z","dependencies_parsed_at":"2024-07-23T17:15:34.571Z","dependency_job_id":"1f1b109b-1ad9-43d0-b735-07f1e7702d42","html_url":"https://github.com/MediaComem/knowledge-mapping","commit_stats":null,"previous_names":["mediacomem/knowledge-mapping"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MediaComem/knowledge-mapping","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MediaComem%2Fknowledge-mapping","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MediaComem%2Fknowledge-mapping/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MediaComem%2Fknowledge-mapping/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MediaComem%2Fknowledge-mapping/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MediaComem","download_url":"https://codeload.github.com/MediaComem/knowledge-mapping/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MediaComem%2Fknowledge-mapping/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29249515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T22:49:53.206Z","status":"ssl_error","status_checked_at":"2026-02-08T22:49:51.384Z","response_time":57,"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":[],"created_at":"2024-11-05T10:24:05.702Z","updated_at":"2026-02-08T23:36:11.494Z","avatar_url":"https://github.com/MediaComem.png","language":"Blade","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Knowledge Mapping - A source visualization tool 📚\n\n\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"Static Badge\" alt=\"Licence MPL 2.0 badge\" src=\"https://img.shields.io/badge/licence-MPL_2.0-blue\"\u003e\n    \u003cimg alt=\"Static Badge\" alt=\"Version number 0.1.0 badge\" src=\"https://img.shields.io/badge/version-0.1.0-blue\"\u003e\n    \u003cimg alt=\"Static Badge\" alt=\"Open to PRs badge\" src=\"https://img.shields.io/badge/open_to_PRs-green\"\u003e\n\u003c/p\u003e\n\n**🔗 Try it: https://knowledge-mapping.heig-vd.ch/**\n\n## Introduction\n\nThe Knowledge Mapping (KMap) web tool aims to provide an experimental tool to get access to a large and extending scientific knowledge from a specific domain.\n\nBy using a range of machine learning algorithms - topic modelling, text mining and entity recognition to name a few - the platform proposes an innovative way to explore a very large and curated [Zotero](https://www.zotero.org/) collection of academic papers.\n\n## Installation\n\n### Requirements\n\n- [Git](https://git-scm.com/)\n- [Docker](https://www.docker.com/) + [Docker Compose](https://docs.docker.com/compose/install/)\n\n- [A Zotero Collection](https://www.zotero.org/groups/)\n\n  ***Disclaimer**: As the processing of documents is based mainly on the content of titles, abstracts and authors entered in the Zotero collection, it is important to ensure that these have been filled in for every document.*\n\n    ***Note**: those requirements are not enough to run python scripts since they need multiple dependencies. It is recommended to run the docker container (see below) in order to use them.*\n### Clone the repository\n\nClone the repository\n\n```bash\ngit clone git@gitlab.com:mediacomem/knowledge-mapping.git\n```\n\nMove to the created repo\n\n```bash\ncd knowledge-mapping\n```\n\n### Adapt the environment variables\n\n1. Create the `.env` file in `./front` (then fill it with the correct values)\n\n```bash\ncp ./front/.env.example ./front/.env\n```\n2. Create the `.env` file in `./python` (then fill it with your Zotero API key and the Zotero Group ID)\nYou'll find a [quick guide to get them here](./doc/zotero/README.md).\n\n```bash\ncp ./python/.env.example ./python/.env\n```\n### Setup, build and run the docker containers\n1. Make sure Docker daemon is running\n\n```bash\ndocker\n```\n\n2.  Build the docker image\n\n```bash\ndocker compose build\n```\n\n3. Run the docker-compose\n\n```bash\ndocker compose up -d\n```\n\n*Note: you can run the docker-compose in the background by adding the `-d` (detached) flag*\n\n2. Run a bash shell in the container\n\n```bash\ndocker exec -it kmap bash\n```\n3. Once in the container, run the following commands:\n```bash\nphp artisan key:generate\n```\n*Note: will generate a new encryption key for the application*\n```bash\nphp artisan migrate\n```\nYou can safely prompt ```yes``` and bypass the warning.\n\n*Note: will create the dayestabase tables*\n```bash\nphp artisan db:seed\n```\nAgain, you can safely prompt ```yes``` and bypass the warning.\n\n*Note: will seed the database with the default data*\n4. Run machine learning scripts (needed at least once)\n\n```bash\nphp artisan zotero:sync\n```\n5. Wait for the machine learning scripts to finish (it can take a while). You can check the status with the following command:\n\n```bash\nphp artisan zotero:status\n```\n### Access the web app\n1.  The script execution ran successfully ? You should now be able to access it through http://localhost:8000\n2.  Admin view is available at http://localhost:8000/login\n3.  Enjoy 🎉\n\n## First admin credentials\n\nA first admin user is created in order to acces the admin dashboard for the first time. The credentials are set in the `.env` file with the following environment variables:\n- `ADMIN_USER`\n- `ADMIN_EMAIL`\n- `ADMIN_PASSWORD`\n\n*Note: we recommend changing the password after the first login.*\n\n## Stack\n\n- [Docker](https://www.docker.com/) / [Docker Compose](https://docs.docker.com/compose/)\n- [Laravel 10](https://laravel.com/)\n- [Livewire 3](https://livewire.laravel.com/)\n- [SQLite](https://www.sqlite.org/index.html)\n- [Python 3.8](https://www.python.org/)\n\n## Sources and credits 🙏\n\nThe ML part of the project is based on the LDA for author-topic modeling of the [Gensim Python library](https://github.com/piskvorky/gensim/tree/develop) : https://github.com/piskvorky/gensim/blob/develop/docs/notebooks/atmodel_tutorial.ipynb.\n\nInitiated in 2018 by [Prof. Laurent Rivier](https://www.rivier-consulting.com/), [designer Laurent Bolli](https://www.odoma.ch/about), and [data scientist Giovanni Colavizza](https://www.odoma.ch/about) the current version of the platform is its first stage of development by the [Media engineering Institute](https://www.heig-vd.ch/ingenierie-medias) at the [University of Applied Sciences Western Switzerland](https://www.heig-vd.ch/).\n\n## Contributing\nMany people have been involved in the development of this prototype. Here is a list of the main contributors:\n- Jorge Stamatio\n- Maksym Nevinchanyy\n- Gaël Paccard\n- Stéphane Lecorney\n- Jonathan Favre-Lamarine\n- Robin Zweifel\n\n## License\nThis project is licensed under the Mozilla Public License 2.0 - see the [LICENSE.md file]((./LICENSE.md)) for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmediacomem%2Fknowledge-mapping","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmediacomem%2Fknowledge-mapping","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmediacomem%2Fknowledge-mapping/lists"}