{"id":13406036,"url":"https://github.com/gephi/gephi-lite","last_synced_at":"2025-05-16T19:02:15.016Z","repository":{"id":62148957,"uuid":"530290705","full_name":"gephi/gephi-lite","owner":"gephi","description":"A web-based, lighter version of Gephi","archived":false,"fork":false,"pushed_at":"2025-04-11T11:16:23.000Z","size":20969,"stargazers_count":236,"open_issues_count":48,"forks_count":24,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-05-07T21:24:06.190Z","etag":null,"topics":["dataviz","network-analysis"],"latest_commit_sha":null,"homepage":"https://gephi.org/gephi-lite","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gephi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2022-08-29T15:57:30.000Z","updated_at":"2025-03-20T02:15:43.000Z","dependencies_parsed_at":"2023-02-17T04:02:35.870Z","dependency_job_id":"87b2aa9e-93d1-4a15-a757-8d27527db150","html_url":"https://github.com/gephi/gephi-lite","commit_stats":{"total_commits":449,"total_committers":14,"mean_commits":32.07142857142857,"dds":0.6302895322939867,"last_synced_commit":"0467e0b1e1db9994b925a659daf1b897c3b2ae70"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gephi%2Fgephi-lite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gephi%2Fgephi-lite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gephi%2Fgephi-lite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gephi%2Fgephi-lite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gephi","download_url":"https://codeload.github.com/gephi/gephi-lite/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254573811,"owners_count":22093777,"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":["dataviz","network-analysis"],"created_at":"2024-07-30T19:02:19.156Z","updated_at":"2025-05-16T19:02:14.998Z","avatar_url":"https://github.com/gephi.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","Software"],"sub_categories":["JavaScript"],"readme":"# Gephi Lite\n\nGephi Lite is a free and open-source web application to visualize and explore networks and graphs. It is a web-based, lighter version of [Gephi](https://gephi.org/). You can try it here:\n\n**[gephi.org/gephi-lite](https://gephi.org/gephi-lite)**\n\nIt is currently under active developments, so features can evolve quite quickly. Feel free to report bugs or ask for new features in the [issues board](https://github.com/gephi/gephi-lite/issues).\n\nYou can read more about the intent of this project on the [Gephi blog](https://gephi.wordpress.com/2022/11/15/gephi-lite/).\n\n## License\n\nGephi Lite source code is distributed under the [GNU General Public License v3](http://www.gnu.org/licenses/gpl.html).\n\n## Repository structure\n\nThe codebase is organized as a [monorepo](https://en.wikipedia.org/wiki/Monorepo):\n\n- **[packages/gephi-lite](packages/gephi-lite)** contains Gephi Lite application code\n- **[packages/sdk](packages/sdk) ([`@gephi/gephi-lite-sdk` on NPM](https://www.npmjs.com/package/@gephi/gephi-lite))** contains core Gephi Lite types and utils\n- **[packages/broadcast](packages/broadcast) ([`@gephi/gephi-lite-broadcast` on NPM](https://www.npmjs.com/package/@gephi/gephi-lite-sdk))** exports TypeScript helpers to control a Gephi Lite instance in another tab or frame, from other web application\n\n## Run locally\n\nGephi Lite is a web application, written using [TypeScript](https://www.typescriptlang.org/) and [React](https://react.dev/). The styles are written using [SASS](https://sass-lang.com/), and are based on [Bootstrap v5](https://getbootstrap.com/).\n\nGephi Lite uses [sigma.js](https://www.sigmajs.org/) for graph rendering, and [graphology](https://graphology.github.io/) as the graph model as well as for graph algorithms. It is built using [Vite](https://vitejs.dev/).\n\nTo build Gephi Lite locally, you first need a recent version of [Node.js](https://nodejs.org/en) with [NPM](https://www.npmjs.com/) installed on your computer. You can then install the dependencies by running `npm install` in Gephi Lite's directory.\n\nNow, in the project directory, you can run:\n\n### `npm start`\n\nRuns the app in the development mode.\\\nOpen [http://localhost:5173/gephi-lite](http://localhost:5173/gephi-lite) to view it in the browser.\n\nThe page will reload if you make edits.\\\nYou will also see any lint errors in the console.\n\n### `npm test`\n\nLaunches the test runner in the interactive watch mode.\\\nSee the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.\n\nEnd-to-end tests can be run with playwright.\n\nFirst make sure to install browsers : `npx playwright install`\n\nThen start the e2e tests : `npm run test:e2e`\n\nIf you have updated the project style/layout, you will have to delete the saved screenshot in /e2e/_.spec.ts-snapshots/_, and then run the e2e test to regenerate them.\n\n### `npm run build`\n\nBuilds the app for production to the `build` folder.\\\nIt correctly bundles React in production mode and optimizes the build for the best performance.\n\nThe build is minified and the filenames include the hashes.\\\nYour Gephi Lite is ready to be deployed!\n\n## Docker\n\nDocker allows building and running Gephi lite in a controlled environment without installing npm and project dependencies on your host system.\n\n### Docker compose for development\n\nThe docker compose provided in this repository is designed for **local development** not for production.\n\nMake sure you have a fresh version of [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/linux/) plugin. Effective July 2023 Compose is now integrated into all current Docker Desktop versions.\n\n#### `docker compose build`\n\nBuilds or rebuilds docker image from your git checkout\n\n#### `docker compose up`\n\nStarts Gephi Lite with previously prebuilt image\n\n#### `docker compose down`\n\nStops container and frees all the resources obtained by the container.\n\n### Dockerfile for production\n\nThe Dockerfile provided in this repository is designed for **production**.\nThe application is build and then served by nginx, which its port is exposed by docker\n\n- Build the project :\n\n```\n$\u003e export BASE_URL=\"./\"\n$\u003e npm run build\n```\n\n- Build the image : `docker build -f Dockerfile -t gephi-lite .`\n- Create \u0026 run a container : `docker run -p 80:80 gephi-lite`\n\n### Any custom `npm` command\n\nRun `docker compose run --entrypoint sh gephi-lite` and you'll get into the shell where you can run all the `npm` commands from above\n\n## Deploy the application\n\nTo allow users to synchronize their data with GitHub, Gephi Lite needs a reverse proxy to avoid CORS issues. When working locally in development, [we use `http-proxy-middleware`](https://github.com/gephi/gephi-lite/blob/main/vite.config.js) to make that work.\n\nTo deploy the application, you need to define the env variable `VITE_GITHUB_PROXY` before building it, by following those steps:\n\n```\n$\u003e VITE_GITHUB_PROXY=mydomain.for.github.auth.proxy.com\n$\u003e npm install\n$\u003e npm run build\n```\n\nOn [gephi.org/gephi-lite](https://gephi.org/gephi-lite) we use this setting : `VITE_GITHUB_PROXY: \"https://githubapi.gephi.org\"`.\n\nThen on our server, we configured NGINX with this following settings:\n\n```nginx\nserver {\n    listen 443 ssl;\n    server_name githubapi.gephi.org;\n\n    ssl_certificate /etc/letsencrypt/live/githubapi.gephi.org/fullchain.pem;\n    ssl_certificate_key /etc/letsencrypt/live/githubapi.gephi.org/privkey.pem;\n    include /etc/letsencrypt/options-ssl-nginx.conf;\n    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;\n\n   location /login {\n     add_header Access-Control-Allow-Origin \"https://gephi.org\";\n     add_header Access-Control-Allow-Methods \"GET, POST, OPTIONS\";\n     add_header Access-Control-Allow-Headers \"Origin, X-Requested-With, Content-Type, Accept, user-agent\";\n     if ($request_method = OPTIONS) {\n        return 204;\n     }\n     proxy_pass https://github.com/login;\n   }\n\n   location / {\n     return 404;\n   }\n}\n```\n\nPS: On this configuration you should change the `server_name` with its ssl configuration, as well as the `add_header Access-Control-Allow-Origin` value.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgephi%2Fgephi-lite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgephi%2Fgephi-lite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgephi%2Fgephi-lite/lists"}