{"id":25697738,"url":"https://github.com/geodacenter/reactgeoda","last_synced_at":"2025-06-23T07:02:14.952Z","repository":{"id":216379781,"uuid":"653731133","full_name":"GeoDaCenter/reactgeoda","owner":"GeoDaCenter","description":"geoda.ai","archived":false,"fork":false,"pushed_at":"2025-02-13T05:28:31.000Z","size":97126,"stargazers_count":0,"open_issues_count":23,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-25T02:36:35.719Z","etag":null,"topics":["ai","analysis","spatial"],"latest_commit_sha":null,"homepage":"https://geoda.ai","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GeoDaCenter.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,"zenodo":null}},"created_at":"2023-06-14T15:59:03.000Z","updated_at":"2025-02-14T17:18:28.000Z","dependencies_parsed_at":"2024-01-17T01:06:52.335Z","dependency_job_id":"4cfbafe1-cc75-4944-8314-3e5203ff986a","html_url":"https://github.com/GeoDaCenter/reactgeoda","commit_stats":null,"previous_names":["geodacenter/reactgeoda"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GeoDaCenter/reactgeoda","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeoDaCenter%2Freactgeoda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeoDaCenter%2Freactgeoda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeoDaCenter%2Freactgeoda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeoDaCenter%2Freactgeoda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GeoDaCenter","download_url":"https://codeload.github.com/GeoDaCenter/reactgeoda/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeoDaCenter%2Freactgeoda/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261433935,"owners_count":23157197,"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":["ai","analysis","spatial"],"created_at":"2025-02-25T02:30:25.692Z","updated_at":"2025-06-23T07:02:09.924Z","avatar_url":"https://github.com/GeoDaCenter.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"NextJs kepler framework\n\n# Development\n\n## Setup environment\n\nInstall volta\n  \n  ```bash\n  curl https://get.volta.sh | bash\n  ```\n\nInstall yarn and node-gyp\n  \n```bash\nnpm install -g yarn\nnpm install -g node-gyp\n```\n\nThe structure of the project is as follows:\n\n```bash\n├── csds_kepler/\n├── geoda-lib/\n├── reactgeoda/\n  ├── geoda-ai/\n    ├── package.json\n    ├── ...\n```\n\n## 1. Get source code\n\nClone `csds_kepler`, `geoda-lib`, and `reactgeoda` into the same directory.\n\n```bash\ngit clone https://github.com/GeoDaCenter/kepler.gl.git --branch=xli/reactgeoda csds_kepler \n\ngit clone https://github.com/GeoDaCenter/geoda-lib.git geoda-lib\n\ngit clone https://github.com/visgl/loaders.gl.git --branch=xli/geoarrow-fix-in-mem-table loaders.gl\n\ngit clone https://github.com/GeoDaCenter/reactgeoda.git reactgeoda\n```\n\nBuild dependencies\n  \n```bash\ncd csds_kepler\nyarn\n```\n\n```bash\ncd loader.gl\nyarn\n```\n\nFor M1 users: puppeteer error when yarn csds_kepler(The chromium binary is not available for arm64):\n\n```bash\nbrew install --cask chromium --no-quarantine\n\nvim ~/.zshrc\nexport PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true\nexport PUPPETEER_EXECUTABLE_PATH=`which chromium`\nsource ~/.zshrc\n```bash\ncd csds_kepler\nyarn\n```\n\n## 2. Work in react-geoda directory\n\n```bash\ncd reactgeoda/geoda-ai\nyarn\n```\n\nYou can run the following command to start the development server:\n\n```bash\nyarn dev\n```\n\nThe landing page is at http://localhost:3000/\nThe geoda.ai app is at http://localhost:3000/preview\n\n## 3. Pull request\n\nCreate a branch and make changes. Push the branch to github and create a pull request.\n\nWhen creating a PR, try to make the title easily understandable: [Feat] add new feature, [Fix] fix a bug, [Refactor] refactor code, [Doc] update documentation, etc.\n\nYou can check the preview of the PR in netlify. First, you will need to build the project:\n```\nyarn build-local\n```\nAll changes will be built into the `out` folder. Then, commit the changes and push to your branch. Netlify will automatically build the preview if you include `[Preview]` in the commit message. e.g. `[Preview] add new feature`.\n\nIn case you forget including `[Preview]` in your previous commit, you can commit an empty commit with `[Preview]` in the message:\n\n```bash\ngit commit --allow-empty -m \"[Preview]\"\n```\n\n## 4. Merge PR\n\nAfter the PR is approved, you can squash merge it into the `main` branch.\nMake sure the title of the merge is the same as the PR title.\n\nThe production build will be automatically deployed to netlify. You can check https://geoda.ai/ to see the latest version.\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeodacenter%2Freactgeoda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeodacenter%2Freactgeoda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeodacenter%2Freactgeoda/lists"}