interviewer
Simplifying complex network data collection.
Science Score: 54.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
-
✓Committers with academic emails
3 of 17 committers (17.6%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.3%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Simplifying complex network data collection.
Basic Info
- Host: GitHub
- Owner: complexdatacollective
- License: gpl-3.0
- Language: JavaScript
- Default Branch: master
- Homepage: https://networkcanvas.com
- Size: 749 MB
Statistics
- Stars: 45
- Watchers: 7
- Forks: 19
- Open Issues: 22
- Releases: 41
Topics
Metadata Files
README.md
Network Canvas Interviewer

Technologies used: ES6 (via Babel) React Redux Electron Cordova SCSS Jest (Testing suite) React Scripts
Operation
Node/NPM Version
This project currently requires version 14.21.3 of node, and version 8.3.2 of npm. These are the only supported versions for this project.
As a convenience, the repository contains a .node-version file that enables convinient use of a node environment manager.
Windows Environment
There are some additional requirements for the MDNS native dependency.
Before running npm install
- Run powershell as admin (right-click option) and then run:
npm --add-python-to-path install --global windows-build-tools - Install Bonjour SDK for Windows
(requires an apple id associated with a paid team account). Select "Bonjour SDK for Windows v.3.0".
BONJOUR_SDK_HOMEshould be set for you after installation completes. - Restart powershell and continue with project installation.
After running npm install
Once you've completed npm install, you will need to rebuild MDNS with the Electron headers:
cd node_modules\mdns
npx node-gyp rebuild --target=9.0.0 --arch=x64 --dist-url=https://electronjs.org/headers
target must match the electron version installed by npm
Linux MDNS
On Debian like systems, you may need to enable ipv6 dns resolution. Do this by ensuring:
hosts: files mdns4_minimal mdns6_minimal [NOTFOUND=return] dns
Is added to to /etc/msswitch.conf.
Troubleshooting
- Native dependencies won't compile
windows-build-toolsshould have installed the required compilers- MS notes on config for native modules
- ...You could install python and VS Build Tools manually; you should not need all of Visual Studio
- Runtime error related to DLL initialization
- Make sure the "rebuild" step above works
- More Info
- MDNS doesn't work on linux (getaddr
- Try adding
hosts: files mdns4_minimal mdns6_minimal [NOTFOUND=return] dnsto/etc/msswitch.conf
- Try adding
Installation
- Install the correct node and npm versions.
- Clone this repository.
- Fetch submodules by typing
git submodule update --init --recursive -f. - Enter the directory where the repository is cloned, and install the project dependencies by typing
npm install. - Refer to the development tasks section below to learn how to test and build the app.
Note: for Apple Silicon users, you need to install the electron package manually:
sh
npm install electron --arch=x64
Development Tasks
|npm run <script>|Description|
|------------------|-----------|
|start:[platform]|Serves your app at localhost:3000 targeted at the platform you specify.|
|dev:[platform]|Run a live-reloading build of the app, targeted at the platform you specify. Requires the live server to be running (see start task).|
|build:[platform]|Compiles assets and prepares app for production on the given platform.|
|test|Runs testing suite.|
|generate-icons|Uses icon-gen package to generate iconsets and icon files for OSX and Windows.|
|dist:[platform]|Uses electron-packager or cordova to package a release for the specified platform.|
|lint|Lints the project according to our eslint configuration|
|sass-lint|Lints the project's SASS files only, according to our sass-lint configuration.|
Quick development reference
- In-browser development:
npm start - Platform-specific development:
npm run start:[platform]andnpm run dev:[platform], whereplatformis one ofandroid,electron, orios.- Currently, you can only run one platform at a time
See below for installation, options, and information on platform specifics.
Cordova Builds
- Install cordova on your system:
npm install -g cordova - If you haven't already, build the project:
npm run build- Without the
www/directory, cordova commands won't recognize this as a valid project.
- Without the
- Install platforms and plugins for the project:
cordova prepare
See Cordova's iOS docs and Android docs for requirements, configuration, and deploy instructions.
Local Development & Testing
Starting the web app: If you have a running webpack dev server (started with npm start), you can run dev cordova builds on devices & emulators with live reloading.
Starting a device or simulator: Run npm run dev:[android|ios]. This is a thin wrapper around cordova run [android|ios]; you can pass arguments to the cordova script with an extra pair of dashes. For example: npm run dev:android -- --emulator, or npm run dev:ios -- --target="iPad-Pro, 11.4". Changes will be picked up from the dev server.
This assumes you have the relevant platform development tools installed. For a list of Apple simulator types ("iPad-Pro") and runtimes ("11.4"), try xcrun simctl list.
Known issue & caveat: this requires temporarily changing config.xml contents to build a development app; if everything goes well, the changes are cleaned up upon completion. However, a Cordova build error (for example) can leave config.xml in this 'development' state.
Full Cordova support
To get full Cordova support, with native integration & plugins:
- (one time)
cordova build [android|ios]to install cordova deps, plugins, and static (public) app resources npm run start:[android|ios]to start the dev server (React app)npm run dev:[android|ios]as above
However, this comes with some limitations:
- You can only to run dev server content from a device or simulator on that platform. (Running simultaneous android clients is fine; running electron concurrently requires starting another server in another directory.)
- All 'public' files, including protocols, are statically bundled with the app. These are sourced from the www directory in the cordova build step, so changes to any file in public requires a full npm build and then restarting the dev device as above.
Electron development
npm run start:electronstarts the dev server (React app)npm run dev:electronstart Electron, pointed at the dev server
Troubleshooting:
- If a dev cordova build is interrupted, you may find that
config.xmlhas changes, and that there's aconfig.xml.originalfile (ignored by git). You may restore the contents ofconfig.xmlfrom git or the original, and delete the '.original' file. - The webpack dev server writes a
.devserverfile on startup, which is removed when it exits. The file is used by the cordova dev build; it should contain the LAN URL of the running dev server. - Apple sillicon users may encounter a node-sass runtime error:
(mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), you can fix this by rebuilding node-sass for your platform:
npm rebuild node-sass
Dev tools
Electron supports extensions to Chrome devtools such as Redux DevTools.
In the development environment, these will be loaded if you provide one or more paths to your extensions (semicolon-separated) in the NC_DEVTOOLS_EXTENSION_PATH environment variable. The electron docs describe how to find the filepath for an extension once installed.
Example: enabling Redux Devtools on macOS:
bash
NC_DEVTOOLS_EXTENSION_PATH=~/Library/Application\ Support/Google/Chrome/Default/Extensions/lmhkpmbekcpmknklioeibfkpmmfibljd/2.15.2_0 npm run electron:dev
Application Structure
.
├── config # Project and build configurations (webpack, env config)
├── public # Static public assets
│ └── index.html # Static entry point
├── src # Application source code
│ ├── index.js # Application bootstrap and rendering
│ ├── routes.js # App Route Definitions
│ ├── components # Contains directories for components
│ ├── containers # Contains directories for containers for native and base classes
│ ├── ducks # Middleware, modules (ducks-style with actions, reducers, and action creators), and store
│ └── utils # Helpers and utils
├── www # Build output from webpack
Owner
- Name: Complex Data Collective
- Login: complexdatacollective
- Kind: organization
- Email: developers@coda.co
- Location: Chicago, IL
- Website: http://coda.co
- Repositories: 16
- Profile: https://github.com/complexdatacollective
We design, develop, and promote tools that let researchers explore complex structural data.
Citation (CITATION.cff)
cff-version: 1.2.0
title: 'Network Canvas: Interviewer'
message: Please cite this software using these metadata.
type: software
authors:
- given-names: Complex Data Collective
orcid: 'https://orcid.org/0000-0003-4329-8540'
identifiers:
- type: doi
value: 10.5281/zenodo.6026548
repository-code: >-
https://github.com/complexdatacollective/Interviewer
url: 'https://networkcanvas.com'
GitHub Events
Total
- Delete event: 7
- Issue comment event: 5
- Push event: 8
- Pull request event: 13
- Create event: 6
Last Year
- Delete event: 7
- Issue comment event: 5
- Push event: 8
- Pull request event: 13
- Create event: 6
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Joshua Melville | j****e@n****u | 1,947 |
| Steve Mckellar | s****e@w****k | 1,322 |
| Bryan Fox | g****t@b****m | 464 |
| Rebecca Madsen | s****w@o****m | 313 |
| Rebecca Madsen | r****n@h****t | 162 |
| Joshua Melville | j****e@o****k | 89 |
| Jamie Chung | j****g@a****m | 61 |
| Stephen Mckellar | s****n@t****k | 57 |
| Caden Buckhalt | h****b@g****m | 23 |
| berniehogan | b****n@o****k | 14 |
| Jamie Chung | j****c@d****m | 13 |
| Sunjay | l****n@g****m | 10 |
| berniehogan | c****y@M****l | 7 |
| dependabot[bot] | 4****] | 6 |
| pfsj | j****p@g****m | 6 |
| Matt Meshulam | m****t@m****m | 4 |
| Jabulni Mpofu | j****s@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 0
- Total pull requests: 119
- Average time to close issues: N/A
- Average time to close pull requests: 26 days
- Total issue authors: 0
- Total pull request authors: 5
- Average comments per issue: 0
- Average comments per pull request: 0.47
- Merged pull requests: 70
- Bot issues: 0
- Bot pull requests: 32
Past Year
- Issues: 0
- Pull requests: 16
- Average time to close issues: N/A
- Average time to close pull requests: about 1 month
- Issue authors: 0
- Pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.5
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 14
Top Authors
Issue Authors
Pull Request Authors
- jthrilly (57)
- dependabot[bot] (50)
- wwqrd (13)
- buckhalt (12)
- rebeccamadsen (6)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v2 composite
- github/codeql-action/analyze v1 composite
- github/codeql-action/autobuild v1 composite
- github/codeql-action/init v1 composite
- actions/cache v2 composite
- actions/checkout v3 composite
- actions/setup-node v2 composite
- actions/setup-python v4 composite
- actions/cache v2 composite
- actions/checkout v3 composite
- actions/setup-node v2 composite
- actions/setup-python v4 composite
- base latest build
- environment latest build
- ubuntu 16.04 build
- 2159 dependencies
- @babel/core 7.11.1 development
- @babel/eslint-parser ~7.13.10 development
- @babel/plugin-proposal-class-properties 7.7.4 development
- @babel/plugin-proposal-json-strings 7.7.4 development
- @babel/plugin-syntax-dynamic-import 7.7.4 development
- @babel/plugin-syntax-import-meta 7.7.4 development
- @babel/preset-env 7.10.4 development
- @babel/preset-react 7.10.1 development
- @codaco/eslint-plugin-spellcheck 0.0.14 development
- @codaco/ui ~5.7.7 development
- @faker-js/faker ~6.0.0-alpha.5 development
- @zippytech/sorty ^2.0.0 development
- ajv ^6.5.4 development
- animejs ^2.2.0 development
- async ^3.2.0 development
- autoprefixer ^9.8.5 development
- axios ^0.21.2 development
- babel-jest 25.1.0 development
- babel-loader 8.0.6 development
- buffer ^5.2.1 development
- case-sensitive-paths-webpack-plugin 2.1.1 development
- chalk 1.1.3 development
- change-case ^3.0.1 development
- classnames ^2.2.6 development
- color ^2.0.0 development
- compare-versions ^3.6.0 development
- concaveman ^1.2.0 development
- connect-history-api-fallback 1.3.0 development
- connected-react-router ^6.8.0 development
- cordova-plugin-network-canvas-client github:complexdatacollective/cordova-plugin-network-canvas-client development
- cross-env ^5.2.0 development
- css-loader ^3.4.2 development
- csvtojson ^2.0.8 development
- detect-port 1.1.0 development
- dotenv 4.0.0 development
- electron 9.4.4 development
- electron-builder ~22.7.0 development
- electron-log ^4.2.2 development
- electron-notarize ^1.0.0 development
- electron-winstaller ^4.0.0 development
- emoji-dictionary ^1.0.9 development
- enzyme ^3.11.0 development
- enzyme-adapter-react-16 ^1.6.0 development
- enzyme-to-json ^3.4.3 development
- es6-promise-plugin ^4.2.2 development
- eslint ^7.0.0 development
- eslint-config-airbnb ^18.2.1 development
- eslint-config-react-app ^6.0.0 development
- eslint-loader ^4.0.2 development
- eslint-plugin-flowtype ^5.2.0 development
- eslint-plugin-import 2.22.1 development
- eslint-plugin-jsx-a11y 6.4.1 development
- eslint-plugin-react ^7.11.1 development
- eventemitter3 ^3.1.0 development
- file-loader 1.1.11 development
- framer-motion ^2.9.1 development
- fs-extra 3.0.1 development
- fuse.js ~6.4.6 development
- fuse.js-legacy npm:fuse.js@~3.4.5 development
- history ^4.7.2 development
- html-webpack-plugin ^4.0.0-beta.4 development
- http-proxy-middleware 0.17.3 development
- i ^0.3.7 development
- icon-gen ^1.2.3 development
- imgbb-uploader ^1.0.3 development
- jest ^26.0.1 development
- jest-image-snapshot ^4.0.2 development
- json-loader 0.5.4 development
- jssha ^3.1.0 development
- jszip ^3.5.0 development
- lodash ^4.17.11 development
- mdns ~2.7.2 development
- mini-css-extract-plugin ^0.8.0 development
- node-sass ^4.12.0 development
- object-assign 4.1.1 development
- object-hash ^1.3.0 development
- postcss-flexbugs-fixes ~4.2.1 development
- postcss-loader ~2.0.6 development
- promise 7.1.1 development
- prop-types ^15.6.2 development
- react ^16.13.1 development
- react-dev-utils ^6.1.1 development
- react-dom ^16.13.1 development
- react-flip-toolkit ^5.0.5 development
- react-id-swiper ^2.4.0 development
- react-redux ^7.2.1 development
- react-router-dom ^5.2.0 development
- react-transform-hmr ^1.0.4 development
- react-transition-group ^2.5.0 development
- react-virtualized ~9.22.3 development
- react-virtualized-auto-sizer ~1.0.5 development
- react-window ~1.8.6 development
- recompose ^0.26.0 development
- redux ^4.0.5 development
- redux-form ^8.3.6 development
- redux-logger ^2.7.4 development
- redux-mock-store ^1.5.3 development
- redux-persist ^6.0.0 development
- redux-thunk ^2.3.0 development
- regenerator-runtime ^0.13.3 development
- request ^2.88.0 development
- request-promise-native ^1.0.5 development
- reselect ^3.0.0 development
- rxjs ^5.5.12 development
- sanitize-filename ^1.6.3 development
- sass-lint ^1.12.1 development
- sass-loader ^6.0.6 development
- sass-svg ^1.0.1 development
- secure-comms-api git+https://github.com/complexdatacollective/secure-comms-api.git#npm7 development
- sockjs-client ^1.3.0 development
- style-loader 0.18.2 development
- svg2png ^4.1.1 development
- swiper 5.2.1 development
- thread-loader ^1.2.0 development
- upgrade ^1.1.0 development
- url-loader ^1.1.1 development
- uuid ^3.4.0 development
- webpack ^4.39.2 development
- webpack-dev-server ^3.8.0 development
- webpack-manifest-plugin ^2.0.4 development
- whatwg-fetch 2.0.3 development
- worker-loader ^2.0.0 development
- xml2js ~0.4.23 development
- xss ^0.3.4 development
- @babel/runtime 7.10.1
- archiver ^4.0.1
- cordova 8.1.2
- cordova-android ~8.1.0
- cordova-ios ~5.1.1
- cordova-plugin-add-swift-support ^2.0.2
- cordova-plugin-app-version ^0.1.9
- cordova-plugin-chooser ^1.3.2
- cordova-plugin-device ^2.0.2
- cordova-plugin-file ^5.0.0
- cordova-plugin-file-transfer ^1.7.1
- cordova-plugin-inappbrowser ~4.0.0
- cordova-plugin-keyboard ^1.2.0
- cordova-plugin-network-information ~2.0.2
- cordova-plugin-whitelist ^1.3.3
- cordova-plugin-wkwebview-engine ^1.2.1
- cordova-plugin-x-socialsharing ^5.6.4
- cordova-plugin-zeroconf ^1.4.1
- cordova-sqlite-storage 6.0.0
- d3-force ~3.0.0
- electron-devtools-installer ^3.0.0
- zeroconf ^0.1.4
- archiver ^4.0.1
- electron-devtools-installer ^3.0.0
- electron-log ^3.0.7
- mdns ^2.5.1
- secure-comms-api github:complexdatacollective/secure-comms-api#npm7