{"id":37593909,"url":"https://github.com/stan-smith/fossflow","last_synced_at":"2026-03-01T13:01:00.233Z","repository":{"id":302273392,"uuid":"1011253718","full_name":"stan-smith/FossFLOW","owner":"stan-smith","description":"Make beautiful isometric infrastructure diagrams","archived":false,"fork":false,"pushed_at":"2026-02-24T05:24:37.000Z","size":3362,"stargazers_count":18675,"open_issues_count":15,"forks_count":1206,"subscribers_count":91,"default_branch":"master","last_synced_at":"2026-02-24T11:59:44.841Z","etag":null,"topics":["devops","infra","infrastructure"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stan-smith.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"st_nsmith","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"stan.smith","thanks_dev":null,"custom":null}},"created_at":"2025-06-30T14:31:21.000Z","updated_at":"2026-02-24T11:37:18.000Z","dependencies_parsed_at":"2025-09-06T13:13:36.878Z","dependency_job_id":"9963737c-722b-41a9-acbf-08acb70aa027","html_url":"https://github.com/stan-smith/FossFLOW","commit_stats":null,"previous_names":["stan-smith/openflow","stan-smith/fossflow"],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/stan-smith/FossFLOW","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stan-smith%2FFossFLOW","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stan-smith%2FFossFLOW/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stan-smith%2FFossFLOW/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stan-smith%2FFossFLOW/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stan-smith","download_url":"https://codeload.github.com/stan-smith/FossFLOW/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stan-smith%2FFossFLOW/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29969700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T12:56:10.327Z","status":"ssl_error","status_checked_at":"2026-03-01T12:55:24.744Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["devops","infra","infrastructure"],"created_at":"2026-01-16T09:54:16.051Z","updated_at":"2026-03-01T13:01:00.216Z","avatar_url":"https://github.com/stan-smith.png","language":"TypeScript","funding_links":["https://ko-fi.com/st_nsmith","https://buymeacoffee.com/stan.smith","https://ko-fi.com/P5P61KBXA3","https://www.buymeacoffee.com/stan.smith"],"categories":[],"sub_categories":[],"readme":"# FossFLOW - Isometric Diagramming Tool \u003cimg width=\"30\" height=\"30\" alt=\"fossflow\" src=\"https://github.com/user-attachments/assets/56d78887-601c-4336-ab87-76f8ee4cde96\" /\u003e\n\n\u003cp align=\"center\"\u003e\n \u003ca href=\"README.md\"\u003eEnglish\u003c/a\u003e | \u003ca href=\"docs/README.cn.md\"\u003e简体中文\u003c/a\u003e | \u003ca href=\"docs/README.es.md\"\u003eEspañol\u003c/a\u003e | \u003ca href=\"docs/README.pt.md\"\u003ePortuguês\u003c/a\u003e | \u003ca href=\"docs/README.fr.md\"\u003eFrançais\u003c/a\u003e | \u003ca href=\"docs/README.hi.md\"\u003eहिन्दी\u003c/a\u003e | \u003ca href=\"docs/README.bn.md\"\u003eবাংলা\u003c/a\u003e | \u003ca href=\"docs/README.ru.md\"\u003eРусский\u003c/a\u003e | \u003ca href=\"docs/README.id.md\"\u003eBahasa Indonesia\u003c/a\u003e | \u003ca href=\"docs/README.de.md\"\u003eDeutsch\u003c/a\u003e\n\u003c/p\u003e\n\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://trendshift.io/repositories/15118\" target=\"_blank\"\u003e\u003cimg src=\"https://trendshift.io/api/badge/repositories/15118\" alt=\"stan-smith%2FFossFLOW | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cb\u003eHey!\u003c/b\u003e Stan here, if you've used FossFLOW and it's helped you, \u003cb\u003eI'd really appreciate if you could donate something small :)\u003c/b\u003e I work full time, and finding the time to work on this project is challenging enough.\nIf you've had a feature that I've implemented for you, or fixed a bug it'd be great if you could :) if not, that's not a problem, this software will always remain free!\n\n\n\u003cb\u003eAlso!\u003c/b\u003e If you haven't yet, please check out the underlying library this is built on by \u003ca href=\"https://github.com/markmanx/isoflow\"\u003e@markmanx\u003c/a\u003e I truly stand on the shoulders of a giant here 🫡\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/P5P61KBXA3)\n\n\u003ca href=\"https://www.buymeacoffee.com/stan.smith\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-orange.png\" alt=\"Buy Me A Coffee\" height=\"41\" width=\"174\"\u003e\u003c/a\u003e\n\nThanks,\n\n-Stan\n\n## Try it online\n\u003cp align=\"center\"\u003e\nGo to  \u003cb\u003e --\u003e https://stan-smith.github.io/FossFLOW/ \u003c-- \u003c/b\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\n \u003ca href=\"https://github.com/stan-smith/SlingShot\"\u003e\n  Check out my latest project: \u003cb\u003eSlingShot\u003c/b\u003e - Dead easy video streaming over QUIC\n \u003c/a\u003e\n\u003c/p\u003e\n\n------------------------------------------------------------------------------------------------------------------------------\nFossFLOW is a powerful, open-source Progressive Web App (PWA) for creating beautiful isometric diagrams. Built with React and the \u003ca href=\"https://github.com/markmanx/isoflow\"\u003eIsoflow\u003c/a\u003e (Now forked and published to NPM as fossflow) library, it runs entirely in your browser with offline support.\n\n![Screenshot_20250630_160954](https://github.com/user-attachments/assets/e7f254ad-625f-4b8a-8efc-5293b5be9d55)\n\n- **🤝 [CONTRIBUTING.md](https://github.com/stan-smith/FossFLOW/blob/master/CONTRIBUTING.md)** - How to contribute to the project.\n\n## 🐳 Quick Deploy with Docker\n\n```bash\n# Using Docker Compose (recommended - includes persistent storage)\ndocker compose up\n\n# Or run directly from Docker Hub with persistent storage\ndocker run -p 80:80 -v $(pwd)/diagrams:/data/diagrams stnsmith/fossflow:latest\n```\n\nServer storage is enabled by default in Docker. Your diagrams will be saved to `./diagrams` on the host.\n\nTo disable server storage, set `ENABLE_SERVER_STORAGE=false`:\n```bash\ndocker run -p 80:80 -e ENABLE_SERVER_STORAGE=false stnsmith/fossflow:latest\n```\n\n## Quick Start (Local Development)\n\n```bash\n# Clone the repository\ngit clone https://github.com/stan-smith/FossFLOW\ncd FossFLOW\n\n# Install dependencies\nnpm install\n\n# Build the library (required first time)\nnpm run build:lib\n\n# Start development server\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) in your browser.\n\n## Monorepo Structure\n\nThis is a monorepo containing two packages:\n\n- `packages/fossflow-lib` - React component library for drawing network diagrams (built with Webpack)\n- `packages/fossflow-app` - Progressive Web App which wraps the lib and presents it (built with RSBuild)\n\n### Development Commands\n\n```bash\n# Development\nnpm run dev          # Start app development server\nnpm run dev:lib      # Watch mode for library development\n\n# Building\nnpm run build        # Build both library and app\nnpm run build:lib    # Build library only\nnpm run build:app    # Build app only\n\n# Testing \u0026 Linting\nnpm test             # Run unit tests\nnpm run lint         # Check for linting errors\n\n# E2E Tests (Selenium)\ncd e2e-tests\n./run-tests.sh       # Run end-to-end tests (requires Docker \u0026 Python)\n\n# Publishing\nnpm run publish:lib  # Publish library to npm\n```\n\n## How to Use\n\n### Creating Diagrams\n\n1. **Add Items**:\n   - Press the \"+\" button on the top right menu, the library of components will appear on the left\n   - Drag and drop components from the library onto the canvas\n   - Or right-click on the grid and select \"Add node\"\n\n2. **Connect Items**: \n   - Select the Connector tool (press 'C' or click connector icon)\n   - **Click mode** (default): Click first node, then click second node\n   - **Drag mode** (optional): Click and drag from first to second node\n   - Switch modes in Settings → Connectors tab\n\n3. **Save Your Work**:\n   - **Quick Save** - Saves to browser session\n   - **Export** - Download as JSON file\n   - **Import** - Load from JSON file\n\n### Storage Options\n\n- **Session Storage**: Temporary saves cleared when browser closes\n- **Export/Import**: Permanent storage as JSON files\n- **Auto-Save**: Automatically saves changes every 5 seconds to session\n\n## Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## Documentation\n\n- [FOSSFLOW_ENCYCLOPEDIA.md](FOSSFLOW_ENCYCLOPEDIA.md) - Comprehensive guide to the codebase\n- [CONTRIBUTING.md](CONTRIBUTING.md) - Contributing guidelines\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstan-smith%2Ffossflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstan-smith%2Ffossflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstan-smith%2Ffossflow/lists"}