{"id":21399277,"url":"https://github.com/streamr-dev/hub","last_synced_at":"2025-07-03T08:08:22.483Z","repository":{"id":39387991,"uuid":"139415783","full_name":"streamr-dev/hub","owner":"streamr-dev","description":"Streamr Hub frontend","archived":false,"fork":false,"pushed_at":"2025-06-12T07:43:06.000Z","size":177189,"stargazers_count":33,"open_issues_count":21,"forks_count":31,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-06-30T06:08:45.834Z","etag":null,"topics":["data","real-time","streamr","streams","web3"],"latest_commit_sha":null,"homepage":"https://streamr.network/hub","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/streamr-dev.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":"2018-07-02T08:44:54.000Z","updated_at":"2025-06-12T07:43:06.000Z","dependencies_parsed_at":"2023-10-22T20:27:27.086Z","dependency_job_id":"26788875-f556-4a74-897e-494d7ad42c88","html_url":"https://github.com/streamr-dev/hub","commit_stats":null,"previous_names":["streamr-dev/hub","streamr-dev/core-frontend"],"tags_count":308,"template":false,"template_full_name":null,"purl":"pkg:github/streamr-dev/hub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamr-dev%2Fhub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamr-dev%2Fhub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamr-dev%2Fhub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamr-dev%2Fhub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/streamr-dev","download_url":"https://codeload.github.com/streamr-dev/hub/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamr-dev%2Fhub/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263287892,"owners_count":23443086,"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":["data","real-time","streamr","streams","web3"],"created_at":"2024-11-22T15:13:58.910Z","updated_at":"2025-07-03T08:08:17.468Z","avatar_url":"https://github.com/streamr-dev.png","language":"TypeScript","readme":"# Streamr Hub\n\nThis is the Streamr Hub application frontend, which includes tooling for creating and editing Streamr resources\n(streams, data unions, projects), and the data marketplace.\n\nThe Hub frontend runs against Ethereum smart contracts. For more information see [Backend](#backend).\n\n## Folder structure\n\nAlthough the frontend consists of a single app, the code is structured into different folders based on the different functionalities of the app. The code is under the `src` folder:\n\n-   `marketplace` contains the data marketplace\n-   `shared` has shared code and utilities\n-   `userpages` contains the views for managing a user's Streamr resources\n-   `utils` contains commonly used utilities, used throughout the App.\n-   `stories` storybook stories.\n-   `test` App unit tests.\n\n## Getting Started\n\n### Frontend\n\n```\nnpm ci\nnpm start\n```\n\nWebpack is configured with live reloading and will be served on http://localhost once the backend stack is running on Docker (see [Backend](#backend)).\n\n### Environment \u0026 Smart contract configuration\n\nTo be able to use the Marketplace, you'll need to configure these variables into your `.env` file:\n\n| Variable        | Description                                               |\n| --------------- | --------------------------------------------------------- |\n| PORT            | Port used by webpack devServer                            |\n| BUNDLE_ANALYSIS | Optional, enables generating bundle size analysis report. |\n\nDefault development values are taken from `.env.required` which can be overridden by values in your `.env` file.\n\nOptional config values:\n\n| Variable             | Description                                                                                    |\n| -------------------- | ---------------------------------------------------------------------------------------------- |\n| SENTRY_DSN           | Identifier for Sentry error reporting service                                                  |\n| SENTRY_ORG           | Identifier for Sentry organisation                                                             |\n| GTM_ID               | Google Tag Manager Identifier                                                                  |\n| STORYBOOK_BASE_PATH  | Build path for Storybook stories                                                               |\n| PLATFORM_PUBLIC_PATH | Public path for Webpack config. If not defined, relative paths are used.                       |\n\n### Backend\n\nTo run the app locally, you must install and start the development environment running on Docker.\nFollow the instructions [here](https://github.com/streamr-dev/streamr-docker-dev) to start the full stack except the frontend:\n\n`streamr-docker-dev start --except platform`\n\nNote that the instructions also include login credentials for the local app.\n\n### Git Branches\n\nMaster Branch (untagged) -\u003e Production ready code\n\nMaster Branch (tagged releases) -\u003e Production code - https://streamr.network/hub\n\n### Deploying to Production\n\nFollow these steps to push a new production release:\n\n```\ngit checkout master\nnpm version patch # This will get you a tag, too, e.g. v3.1.15.\ngit push master\n```\n\nAt this point it's a good idea to check that GitHub Actions confirms all tests are passing. Then, for example if the new version is `3.1.15`,\n\n```\ngit push v3.1.15\n```\n\n### Production Hotfixes\n\nCreate new branch from master `hotfix/ticket-id-issue-title`\nMerge the approved branch to master and push a tagged incremental release.\n\n```\ngit checkout master\ngit merge hotfix/ticket-id-issue-title\nnpm version patch\ngit push master\n```\n\nAt this point it's a good idea to check that GitHub Actions confirms all tests are passing. Then, for example if the new version is `3.1.15`,\n\n```\ngit push v3.1.15\n```\n\n### Storybook\n\nThe project contains a Storybook including stories from the main components. The Storybook can be run with `npm run storybook` and built with `npm run build-storybook`. Storybook should be accessible after running `npm run storybook` at http://localhost:6006 or on your network at http://10.200.10.1:6006\n\n### Sentry\n\nJavaScript error tracking from Sentry helps developers easily fix and prevent JavaScript errors in production as part of your commit-deploy-iterate workflow. Ask a powerful developer for access to the Sentry alerts.\n","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstreamr-dev%2Fhub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstreamr-dev%2Fhub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstreamr-dev%2Fhub/lists"}