{"id":17480288,"url":"https://github.com/yonathan06/cassandra-glam-tools","last_synced_at":"2025-04-22T12:40:58.863Z","repository":{"id":41067658,"uuid":"287197748","full_name":"yonathan06/cassandra-GLAM-tools","owner":"yonathan06","description":"A usage analysis tool for GLAM institutes to follow free contents contributed to Wikimedia projects","archived":false,"fork":false,"pushed_at":"2025-03-03T10:02:13.000Z","size":4409,"stargazers_count":10,"open_issues_count":2,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T15:11:47.143Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://glamwikidashboard.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"synapta/cassandra-GLAM-tools","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yonathan06.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}},"created_at":"2020-08-13T06:18:32.000Z","updated_at":"2025-01-26T10:07:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"68b7f33e-eaee-425a-b979-101d9686e299","html_url":"https://github.com/yonathan06/cassandra-GLAM-tools","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yonathan06%2Fcassandra-GLAM-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yonathan06%2Fcassandra-GLAM-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yonathan06%2Fcassandra-GLAM-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yonathan06%2Fcassandra-GLAM-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yonathan06","download_url":"https://codeload.github.com/yonathan06/cassandra-GLAM-tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250242840,"owners_count":21398207,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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-10-18T21:43:17.055Z","updated_at":"2025-04-22T12:40:58.844Z","avatar_url":"https://github.com/yonathan06.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GLAM Wiki Dashboard\n\nThe purpose of this project is to Support GLAMs* in monitoring and evaluating\ntheir cooperation with Wikimedia projects. Starting from a Wikimedia Commons\ncategory this tool collects data about usage, views, contributors and topology\nof the files inside.\n\n** GLAM - galleries, libraries, archives and museums\n\n## Structure\n\nThe project is split into two packages - app \u0026 services.\n\n* app - includes an express.js server that functions both as an API and as a front-end server (using mostly handlebars as render engine)\n* services - includes python \u0026 node.js scripts for ETL (extract, transform \u0026 load) and recommendations (not currently active). The ETL includes a new GLAM loader (for when adding a new GLAM to the system), and a daily cron job to updated the analytical data of yesterday for all of the GLAMs in the system.\n\n## Installation - app\n\nEnter the /app folder\n\n```bash\ncd app\n```\n\nInstall Node.js project dependencies:\n\n```bash\nnpm install\n```\n\n**Add a production config file inside the config folder: `./config/config.production.json` With the same structure as in `./config/config.sample.json`**\n\nexport ENV:\n\n```bash\nexport ENV=\"production\"\n```\n\nRun the local server:\n\n```bash\npm2 start server.js\n```\n\nYou can see the logs by running th following command:\n\n```bash\npm2 logs\n```\n\n## Installation - services\n\nEnter services folder\n\n```bash\ncd services\n```\n\nInstall Python dependencies:\n\n```bash\npip3 install -r requirements.txt\nnpm install\n```\n\nexport ENV:\n\n```bash\nexport ENV=\"production\"\n```\n\n**Add a production config file inside the config folder: `./config/config.production.json` With the same structure as in `./config/config.sample.json`**\n\n\n### Run initdaily.sh - script that run dail.py. \u003cbr /\u003e Run it with the following commands to do it with a daily cron job\nThe daily script runs every day at 4:00 AM\n\n### Run daily cronjob\n\n```bash\npm2 start daily.py --cron '0 4 * * *' --interpreter python3 --no-autorestart -- -e production\n```\n\n### Save the process\n\n```bash\npm2 save\n```\n\nA Logs folder will be created, every day  at 4:00 AM a new file will be added with the date of the day, where you can always see the logs of the daily.  \u003cbr \u003e\n\n### Run new glam listener\n\n```bash\npm2 start new_glam_listener.py --interpreter python3 -- -e production\n```\n\nYou can see the logs by running th following command:\n\n```bash\npm2 logs\n```\n\n## Starting local postgres instance using docker compose\n\n```bash\ndocker-compose up -d\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyonathan06%2Fcassandra-glam-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyonathan06%2Fcassandra-glam-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyonathan06%2Fcassandra-glam-tools/lists"}