Network Canvas Architect is a survey design tool for the Network Canvas suite of applications. It is built on Electron and React.
This tool is in maintainance mode. We are not actively developing new features, but will continue to fix bugs and accept pull requests. Community contributions are very welcome!
See the Network Canvas website for more information.
For questions and support, please visit the Network Canvas User Community.
git clone https://github.com/complexdatacollective/Architect.git
git submodule update --init --recursive -f
npm install
Note: for Apple Silicon users, you need to install the electron
package manually:
npm install electron --arch=x86
npm run <script> |
Description |
---|---|
start:architect:electron |
Serves your app for consumption by electron. |
start:network-canvas:electron |
Serves network canvas for consumption by previewer. |
preelectron:dev |
Copies the electron source to ./electron-dev (must be run only when setting up the repo for the first time, or bumping the version number) |
dev:electron |
Runs electron window with contents of start:architect:electron and start:network-canvas:electron (must be run concurrently) |
build |
Compiles assets and prepares app for production in the /build directory. |
lint |
Lints js/scss |
test |
Runs testing suite |
preflight |
Runs linting & testing. Useful as a prepush/build hook |
dist:mac |
Build and publish OS X verison |
dist:linux |
Build and publish Linux version |
dist:win |
Build and publish Windows version |
dist:all |
Build and publish all platforms |
update-submodules |
Update git submodules |
Supply a version mask with x for unchanged values:
npm run [x.x.1] [codename]
e.g.
npm run x.1.0 NameOfVersion
There are two additional tasks to enable development within an electron app natively:
npm run start:architect:electron
: to start the webpack dev servernpm run start:network-canvas:electron
: to start the webpack dev servernpm run preelectron:dev
Copies the electron source to ./electron-dev
(in another terminal session)npm run dev:electron
Runs the electron app from there.
├── build # Prod assets
├── 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
│ ├── reducers # Reducers for data stores
│ ├── ducks # Middleware, modules (ducks-style with actions, reducers, and action creators), and store
│ └── utils # Helpers and utils