datagateway
DataGateway is a portal that supports discovery and access large science facilities data. It is developed as a plugin for SciGateway
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.2%) to scientific vocabulary
Repository
DataGateway is a portal that supports discovery and access large science facilities data. It is developed as a plugin for SciGateway
Basic Info
Statistics
- Stars: 9
- Watchers: 4
- Forks: 4
- Open Issues: 58
- Releases: 17
Metadata Files
README.md
DataGateway
DataGateway is a ReactJs-based web application that provides ways of discovering and accessing data produced at large-scale science facilities. DataGateway is a micro-frontend that can be integrated with the parent web application SciGateway.
DataGateway uses Yarn workspaces to manage it's monorepo structure, so please use Yarn instead of npm for package management.
The SciGateway application offers features such as authentication and authorisation functionality, notifications, cookies management. In this way, DataGateway relies on SciGateway for these overarching features, and can focus on providing data discoverability and downloads. The data is organised according to the data hierarchy that reflects the data pipelines in each facility. The data is shown in a tabular format depicting the main metadata fields.
For more details about the project's architecture, development guidelines and installation procedures, visit the SciGateway documentation.
Code structure
The project is structured as a monorepo. This means that the actual code packages are located under /packages - below is a description of each package:
datagateway-common- This package contains common code and said code can be imported by the other packages. Code/components should go in here if the code/component is both reusable and expected to be used by more than one package. An example of this is theTablecomponent, which is needed by multiple packages to implement their specific configuration of tables. Another example is the type definitions of ICAT entities, as these are not specific to any one plugin and are used by all for typing. An example of something that can't go intodatagateway-commonare Redux connected components as Redux state is (currently) unique to each app.datagateway-dataview- This package contains all the functionality of the TopCAT Browse and My Data views. It displays configured tables for the facilities and provides the data to the tables via API calls.
Available Scripts
In the project directory, you can run:
yarn install
This will install all the project dependencies. Running yarn install at the top
level initialises all the packages, and you will be ready to start development in any of them!
yarn workspace {workspace-name} add {package(s)} / yarn workspaces run add {package(s)}
Adds new packages. Use the first command to add a package to a project at the top level.
Alternatively, you can also change directory to the plugin you're developing and run yarn add {package(s)} like normal.
Use the second command to add a package to all projects.
yarn workspace datagateway-dataview add loglevel
This will add the loglevel package to datagateway-dataview
yarn workspaces add loglevel
This will add the loglevel package to all packages.
Remember that you can use --dev to save as a devDependency instead of a regular dependency.
yarn datagateway-dataview
Runs the datagateway-dataview start script, which runs the app in development mode.
Open http://localhost:3000 to view it in the browser.
Similarly, use yarn datagateway-download and yarn datagateway-search to run the datagateway-download and datagateway-search packages respectively.
yarn test
Runs both unit tests and e2e tests for all packages
yarn test:unit
Runs unit tests for all packages
yarn test:e2e
Runs e2e tests for all packages
yarn lint
Lints all packages
yarn tsc
Runs tsc on all packages - currently this will re-build datagateway-common
Owner
- Name: Science and Technology Facilities Council
- Login: ral-facilities
- Kind: organization
- Repositories: 30
- Profile: https://github.com/ral-facilities
Software produced at STFC providing solutions for managing the Large Science Facilities at the Rutherford Appleton Laboratory
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Davies" given-names: "Louise" - family-names: "Biju" given-names: "Goel" - family-names: "Davies" given-names: "Joel" - family-names: "Glendenning" given-names: "Sam" - family-names: "Kitenge" given-names: "Joshua" - family-names: "Austin" given-names: "Patrick" - family-names: "Richards" given-names: "Matthew" - family-names: "Swinbank" given-names: "Tim" - family-names: "Maganti" given-names: "Akhil" - family-names: "Lewis" given-names: "Emily" - family-names: "Kyffin" given-names: "Alan" - family-names: "Gonzalez-Beltran" given-names: "Alejandra" orcid: "https://orcid.org/0000-0003-3499-8262" title: "datagateway" version: 1.0.0 doi: date-released: 2022-03-31 url: "https://github.com/ral-facilities/datagateway"
GitHub Events
Total
- Create event: 86
- Release event: 5
- Issues event: 6
- Delete event: 61
- Issue comment event: 87
- Push event: 256
- Pull request review comment event: 11
- Pull request review event: 84
- Pull request event: 157
Last Year
- Create event: 86
- Release event: 5
- Issues event: 6
- Delete event: 61
- Issue comment event: 87
- Push event: 256
- Pull request review comment event: 11
- Pull request review event: 84
- Pull request event: 157
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 17
- Total pull requests: 176
- Average time to close issues: about 1 year
- Average time to close pull requests: about 2 months
- Total issue authors: 4
- Total pull request authors: 8
- Average comments per issue: 1.71
- Average comments per pull request: 0.89
- Merged pull requests: 97
- Bot issues: 1
- Bot pull requests: 138
Past Year
- Issues: 4
- Pull requests: 94
- Average time to close issues: 3 months
- Average time to close pull requests: 7 days
- Issue authors: 1
- Pull request authors: 4
- Average comments per issue: 0.0
- Average comments per pull request: 0.61
- Merged pull requests: 42
- Bot issues: 0
- Bot pull requests: 70
Top Authors
Issue Authors
- louise-davies (11)
- akintomiwa (3)
- agbeltran (2)
- renovate[bot] (1)
Pull Request Authors
- renovate[bot] (112)
- louise-davies (29)
- dependabot[bot] (26)
- akintomiwa (4)
- jounaidr (2)
- ajkyffin (1)
- kaperoo (1)
- patrick-austin (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- lerna-update-wizard ^1.1.0 development
- husky ^7.0.4
- lerna ^4.0.0
- @mui/icons-material ^5.5.0 development
- @mui/material ^5.5.0 development
- @testing-library/react ^12.1.3 development
- @testing-library/react-hooks ^7.0.1 development
- @types/enzyme ^3.10.10 development
- @types/jest ^27.4.0 development
- @types/node ^17.0.17 development
- @types/react ^17.0.29 development
- @types/react-router-dom ^5.3.3 development
- @types/react-virtualized ^9.21.10 development
- @typescript-eslint/eslint-plugin ^5.5.0 development
- @typescript-eslint/parser ^5.5.0 development
- @wojtekmaj/enzyme-adapter-react-17 ^0.6.6 development
- babel-eslint 10.1.0 development
- enzyme ^3.10.0 development
- enzyme-to-json ^3.6.1 development
- eslint ^8.9.0 development
- eslint-config-prettier ^8.3.0 development
- eslint-config-react-app ^7.0.0 development
- eslint-plugin-cypress ^2.12.1 development
- eslint-plugin-prettier ^3.3.1 development
- lint-staged ^10.5.4 development
- react 17.0.2 development
- react-dom 17.0.2 development
- react-router-dom ^5.3.0 development
- react-test-renderer 17.0.2 development
- @date-io/date-fns ^1.3.13
- @emotion/react ^11.8.1
- @emotion/styled ^11.8.1
- @mui/lab ^5.0.0-alpha.72
- @types/lodash.debounce ^4.0.6
- axios ^0.26.0
- connected-react-router ^6.9.1
- date-fns ^2.28.0
- hex-to-rgba ^2.0.1
- history ^4.10.1
- i18next ^21.6.13
- lodash.debounce ^4.0.8
- loglevel ^1.8.0
- prettier ^2.2.1
- react-draggable ^4.4.3
- react-i18next ^11.15.4
- react-query ^3.18.1
- react-redux ^7.2.5
- react-scripts 5.0.0
- react-virtualized ^9.22.3
- redux ^4.1.2
- redux-mock-store ^1.5.4
- redux-thunk ^2.4.1
- resize-observer-polyfill ^1.5.1
- tslib ^2.3.0
- typescript 4.5.3
- use-deep-compare-effect ^1.8.1
- @testing-library/react ^12.1.3 development
- @types/enzyme ^3.10.10 development
- @types/react-redux ^7.1.19 development
- @types/redux-mock-store ^1.0.3 development
- @typescript-eslint/eslint-plugin ^5.5.0 development
- @typescript-eslint/parser ^5.5.0 development
- @welldone-software/why-did-you-render ^6.2.3 development
- @wojtekmaj/enzyme-adapter-react-17 ^0.6.3 development
- babel-eslint 10.1.0 development
- cross-env ^7.0.3 development
- cypress 9.5.1 development
- cypress-failed-log ^2.9.1 development
- enzyme ^3.10.0 development
- enzyme-to-json ^3.6.1 development
- eslint ^8.9.0 development
- eslint-config-react-app ^7.0.0 development
- express ^4.17.1 development
- lint-staged ^10.5.4 development
- serve ^13.0.2 development
- start-server-and-test ^1.14.0 development
- @craco/craco ^6.4.3
- @emotion/react ^11.8.1
- @emotion/styled ^11.8.1
- @mui/icons-material ^5.5.0
- @mui/material ^5.5.0
- @types/history ^4.7.11
- @types/jest ^27.4.0
- @types/jsrsasign ^9.0.3
- @types/lodash.debounce ^4.0.6
- @types/lodash.memoize ^4.1.6
- @types/node ^17.0.17
- @types/react ^17.0.29
- @types/react-dom ^17.0.9
- @types/react-router-dom ^5.3.3
- @types/react-virtualized ^9.21.10
- @types/redux-logger ^3.0.8
- axios ^0.26.0
- connected-react-router ^6.9.1
- custom-event-polyfill ^1.0.7
- datagateway-common ^1.1.0
- date-fns ^2.28.0
- eslint-config-prettier ^8.3.0
- eslint-plugin-cypress ^2.12.1
- eslint-plugin-prettier ^3.3.1
- history ^4.10.1
- i18next ^21.6.13
- i18next-browser-languagedetector ^6.1.2
- i18next-http-backend ^1.3.2
- jsrsasign ^10.5.25
- lodash.debounce ^4.0.8
- lodash.memoize ^4.1.2
- loglevel ^1.8.0
- prettier ^2.2.1
- react ^17.0.2
- react-app-polyfill ^3.0.0
- react-dom ^17.0.2
- react-i18next ^11.15.4
- react-query ^3.18.1
- react-redux ^7.2.5
- react-router-dom ^5.3.0
- react-scripts 5.0.0
- react-virtualized ^9.22.3
- redux ^4.1.2
- redux-logger ^3.0.6
- redux-mock-store ^1.5.4
- redux-thunk ^2.4.1
- single-spa-react ^4.3.1
- tslib ^2.3.0
- typescript 4.5.3
- url-search-params-polyfill ^8.1.1
- @testing-library/react ^12.1.3 development
- @testing-library/react-hooks ^7.0.1 development
- @types/jsrsasign ^9.0.3 development
- @types/lodash.chunk ^4.2.6 development
- @typescript-eslint/eslint-plugin ^5.5.0 development
- @typescript-eslint/parser ^5.5.0 development
- @wojtekmaj/enzyme-adapter-react-17 ^0.6.3 development
- babel-eslint 10.1.0 development
- cross-env ^7.0.3 development
- cypress 9.5.1 development
- cypress-failed-log ^2.9.1 development
- enzyme ^3.10.0 development
- enzyme-to-json ^3.6.1 development
- eslint ^8.9.0 development
- eslint-config-react-app ^7.0.0 development
- lint-staged ^10.5.4 development
- serve ^13.0.2 development
- start-server-and-test ^1.14.0 development
- @craco/craco ^6.4.3
- @emotion/react ^11.8.1
- @emotion/styled ^11.8.1
- @mui/icons-material ^5.5.0
- @mui/lab ^5.0.0-alpha.72
- @mui/material ^5.5.0
- @types/jest ^27.4.0
- @types/jsrsasign ^9.0.3
- @types/lodash.chunk ^4.2.6
- @types/node ^17.0.17
- @types/react ^17.0.29
- @types/react-dom ^17.0.9
- @types/react-router-dom ^5.3.3
- @types/react-virtualized ^9.21.10
- axios ^0.26.0
- datagateway-common ^1.1.0
- date-fns ^2.28.0
- date-fns-tz ^1.1.6
- eslint-config-prettier ^8.3.0
- eslint-plugin-cypress ^2.12.1
- eslint-plugin-prettier ^3.3.1
- history ^4.10.1
- i18next ^21.6.13
- i18next-browser-languagedetector ^6.1.2
- i18next-http-backend ^1.3.2
- jsrsasign ^10.5.25
- lodash.chunk ^4.2.0
- loglevel ^1.8.0
- p-limit 3.1.0
- prettier ^2.2.1
- react 17.0.2
- react-dom 17.0.2
- react-i18next ^11.15.4
- react-query ^3.18.1
- react-router-dom ^5.3.0
- react-scripts 5.0.0
- react-virtualized ^9.22.3
- single-spa-react ^4.3.1
- tslib ^2.3.0
- typescript 4.5.3
- @testing-library/react ^12.1.3 development
- @types/enzyme ^3.10.10 development
- @types/react-redux ^7.1.19 development
- @types/redux-mock-store ^1.0.3 development
- @typescript-eslint/eslint-plugin ^5.5.0 development
- @typescript-eslint/parser ^5.5.0 development
- @wojtekmaj/enzyme-adapter-react-17 ^0.6.3 development
- babel-eslint 10.1.0 development
- cross-env ^7.0.3 development
- cypress 9.5.1 development
- cypress-failed-log ^2.9.1 development
- enzyme ^3.10.0 development
- enzyme-to-json ^3.6.1 development
- eslint ^8.9.0 development
- eslint-config-react-app ^7.0.0 development
- express ^4.17.1 development
- lint-staged ^10.5.4 development
- serve ^13.0.2 development
- start-server-and-test ^1.14.0 development
- @craco/craco ^6.4.3
- @date-io/date-fns ^1.3.13
- @emotion/react ^11.8.1
- @emotion/styled ^11.8.1
- @mui/icons-material ^5.5.0
- @mui/lab ^5.0.0-alpha.72
- @mui/material ^5.5.0
- @types/history ^4.7.11
- @types/jest ^27.4.0
- @types/jsrsasign ^9.0.3
- @types/node ^17.0.17
- @types/react ^17.0.29
- @types/react-dom ^17.0.9
- @types/react-router-dom ^5.3.3
- @types/react-virtualized ^9.21.10
- @types/redux-logger ^3.0.8
- axios ^0.26.0
- connected-react-router ^6.9.1
- custom-event-polyfill ^1.0.7
- datagateway-common ^1.1.0
- date-fns ^2.28.0
- eslint-config-prettier ^8.3.0
- eslint-plugin-cypress ^2.12.1
- eslint-plugin-prettier ^3.3.1
- history ^4.10.1
- i18next ^21.6.13
- i18next-browser-languagedetector ^6.1.2
- i18next-http-backend ^1.3.2
- jsrsasign ^10.5.25
- loglevel ^1.8.0
- prettier ^2.2.1
- react 17.0.2
- react-app-polyfill ^3.0.0
- react-dom 17.0.2
- react-i18next ^11.15.4
- react-query ^3.18.1
- react-redux ^7.2.5
- react-router-dom ^5.3.0
- react-scripts 5.0.0
- react-virtualized ^9.22.3
- redux ^4.1.2
- redux-logger ^3.0.6
- redux-mock-store ^1.5.4
- redux-thunk ^2.4.1
- resize-observer-polyfill ^1.5.1
- single-spa-react ^4.3.1
- tslib ^2.3.0
- typescript 4.5.3
- url-search-params-polyfill ^8.1.1
- 2043 dependencies
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-java v3 composite
- actions/setup-node v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- codecov/codecov-action v3 composite
- actions/checkout v3 composite
- actions/setup-node v3 composite
- johnwbyrd/update-release v1.0.0 composite
- richardsimko/update-tag v1 composite