No description
Find a file
2023-08-24 13:34:39 +01:00
.circleci fix: forces case sensitive dir names through Git 2023-07-25 16:31:06 +01:00
.codesandbox feat: adds codesandbox config 2023-07-29 10:04:13 +01:00
.vscode refactor: integrates the renderer with react 2023-07-20 16:45:54 +01:00
docs chore: moves location of docs 2023-08-24 13:34:39 +01:00
src chore: moves location of docs 2023-08-24 13:34:39 +01:00
webpack chore: builds isopacks separately 2023-08-21 13:47:26 +01:00
.eslintrc refactor: connector functionality 2023-08-15 16:24:39 +01:00
.gitignore chore: configures CI 2023-03-16 21:27:09 +00:00
.nvmrc chore: adds an nvmrc file to ensure consistent node version 2023-08-05 09:54:31 +01:00
.prettierrc refactor: integrates the renderer with react 2023-07-20 16:45:54 +01:00
jest.config.js feat: implements group rendering (UI not implemented yet) 2023-07-26 13:04:27 +01:00
LICENSE Adds license 2023-03-08 20:35:02 +00:00
package-lock.json 0.3.49 2023-08-21 16:33:37 +01:00
package.json 0.3.49 2023-08-21 16:33:37 +01:00
README.md chore: updates README 2023-08-24 13:18:00 +01:00
tsconfig.json chore: excludes node_modules in tsconfig 2023-08-17 16:14:40 +01:00

readme-header

Isoflow Editor | Github | Discord

An open-source network diagram editor for React.

License: MIT CircleCI

Key Features

  • Annotation tools: Annotate your architecture with isometric icons, labels, regions and connectors.
  • Customizable: Use your own isometric icon packs, or the standard free set of networking icons (also under MIT).
  • Export options: Export diagrams as images, JSON or YAML.

Roadmap

Beta release progress: ███████░░

  • Basic view controls (pan & zoom)
  • Create / delete nodes
  • Create / delete rectangle areas
  • Create / delete connectors
  • onSceneUpdate callback
  • Drag items
  • Iconpacks
  • Export options

Quick start

Install the Isoflow npm package:

npm install isoflow

Render a diagram:

import Isoflow from 'isoflow';

const scene = {
  icons: [
    {
      id: "block",
      name: "Block",
      url: "https://isoflow.io/static/assets/icons/networking/primitive.svg"
    },
  ],
  nodes: [
    {
      id: "node1",
      icon: "block",
      position: {
        x: 0,
        y: 0,
      },
    },
  ],
  connectors: [],
  rectangles: []
}

const App = () => (
  <Isoflow
    height={500}
    initialScene={scene}
  >
)

If using Next.js, make sure you only import Isoflow in the browser:

const Isoflow = dynamic(() => import("isoflow"), {
  ssr: false,
});

Codesandbox

You can preview the latest version of Isoflow on Codesandbox here. The sandbox is always synced with the Github repo.

Contributing

For contributors

Deploying to NPM

CI is sensitive to any tag pushed to main branch. It will build and deploy the app to NPM. To deploy:

  1. Bump the version using npm version patch or similar
  2. git push && git push --tags

Branching Strategy:

Branches are named using the following convention:

  • feature/ for new feature implementations
  • fix/ for broken code / build / bug fixes
  • chore/ non-breaking & non-fixing code changes such as linting, formatting, etc.

Commit / PR Strategy:

  • Commits are to be squashed prior to merge
  • PRs are to target a singular issue in order to keep the commit history clean and easy to follow

License

Isoflow is MIT licensed (see ./LICENSE).