feat: Lots of language support!

This commit is contained in:
stan-smith
2025-10-17 18:07:19 +01:00
parent 2f4837bd67
commit 956a2af52f
7 changed files with 1237 additions and 3 deletions

View File

@@ -1,7 +1,7 @@
# FossFLOW - Isometric Diagramming Tool <img width="30" height="30" alt="fossflow" src="https://github.com/user-attachments/assets/56d78887-601c-4336-ab87-76f8ee4cde96" />
<p align="center">
<a href="README.md">English</a> | <a href="docs/README.cn.md">简体中文</a>
<a href="README.md">English</a> | <a href="docs/README.cn.md">简体中文</a> | <a href="docs/README.es.md">Español</a> | <a href="docs/README.pt.md">Português</a> | <a href="docs/README.fr.md">Français</a> | <a href="docs/README.hi.md">हिन्दी</a> | <a href="docs/README.bn.md">বাংলা</a> | <a href="docs/README.ru.md">Русский</a>
</p>
<b>Hey!</b> Stan here, if you've used FossFLOW and it's helped you, <b>I'd really appreciate if you could donate something small :)</b> I work full time, and finding the time to work on this project is challenging enough.
@@ -34,8 +34,11 @@ FossFLOW is a powerful, open-source Progressive Web App (PWA) for creating beaut
## Recent Updates (October 2025)
### Spanish Support:
- Added support for Spanish
### Multilingual Support
- **8 Languages Supported** - Full interface translation in English, Chinese (Simplified), Spanish, Portuguese (Brazilian), French, Hindi, Bengali, and Russian
- **Language Selector** - Easy-to-use language switcher in the app header
- **Complete Translation** - All menus, dialogs, settings, tooltips, and help content translated
- **Locale-Aware** - Automatically detects and remembers your language preference
### Improved Connector Tool
- **Click-based Creation** - New default mode: click first node, then second node to connect
@@ -91,6 +94,7 @@ FossFLOW is a powerful, open-source Progressive Web App (PWA) for creating beaut
- 🎯 **Session Storage** - Quick save without dialogs
- 🌐 **Offline Support** - Work without internet connection
- 🗄️ **Server Storage** - Optional persistent storage when using Docker (enabled by default)
- 🌍 **Multilingual** - Full support for 8 languages: English, 简体中文, Español, Português, Français, हिन्दी, বাংলা, Русский
## 🐳 Quick Deploy with Docker

205
docs/README.bn.md Normal file
View File

@@ -0,0 +1,205 @@
# FossFLOW - আইসোমেট্রিক ডায়াগ্রাম টুল <img width="30" height="30" alt="fossflow" src="https://github.com/user-attachments/assets/56d78887-601c-4336-ab87-76f8ee4cde96" />
<p align="center">
<a href="../README.md">English</a> | <a href="README.cn.md">简体中文</a> | <a href="README.es.md">Español</a> | <a href="README.pt.md">Português</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.bn.md">বাংলা</a> | <a href="README.ru.md">Русский</a>
</p>
<b>হ্যালো!</b> আমি Stan, যদি আপনি FossFLOW ব্যবহার করে থাকেন এবং এটি আপনাকে সাহায্য করেছে, <b>আমি সত্যিই প্রশংসা করব যদি আপনি কিছু ছোট দান করতে পারেন :)</b> আমি পূর্ণকালীন কাজ করি, এবং এই প্রকল্পে কাজ করার সময় খুঁজে পাওয়াটা যথেষ্ট চ্যালেঞ্জিং।
যদি আমি আপনার জন্য একটি ফিচার বাস্তবায়ন করেছি বা একটি বাগ ঠিক করেছি তবে এটি দুর্দান্ত হবে যদি আপনি পারেন :) যদি না হয়, তাতে কোনো সমস্যা নেই, এই সফটওয়্যারটি সর্বদা বিনামূল্যে থাকবে!
<b>এছাড়াও!</b> যদি আপনি এখনও না করে থাকেন, তবে <a href="https://github.com/markmanx/isoflow">@markmanx</a> দ্বারা নির্মিত অন্তর্নিহিত লাইব্রেরিটি দেখুন যার উপর এটি তৈরি। আমি সত্যিই এখানে একজন দৈত্যের কাঁধে দাঁড়িয়ে আছি 🫡
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/P5P61KBXA3)
<img width="30" height="30" alt="image" src="https://github.com/user-attachments/assets/dc6ec9ca-48d7-4047-94cf-5c4f7ed63b84" /> <b> https://buymeacoffee.com/stan.smith </b>
ধন্যবাদ,
-Stan
## এটি অনলাইনে চেষ্টা করুন
যান <b> --> https://stan-smith.github.io/FossFLOW/ <-- </b>
------------------------------------------------------------------------------------------------------------------------------
FossFLOW হল সুন্দর আইসোমেট্রিক ডায়াগ্রাম তৈরি করার জন্য একটি শক্তিশালী, ওপেন-সোর্স প্রগ্রেসিভ ওয়েব অ্যাপ (PWA)। React এবং <a href="https://github.com/markmanx/isoflow">Isoflow</a> লাইব্রেরি দিয়ে তৈরি (এখন ফর্ক করা এবং NPM-এ fossflow হিসেবে প্রকাশিত), এটি অফলাইন সাপোর্ট সহ সম্পূর্ণরূপে আপনার ব্রাউজারে চলে।
![Screenshot_20250630_160954](https://github.com/user-attachments/assets/e7f254ad-625f-4b8a-8efc-5293b5be9d55)
- **📝 [FOSSFLOW_TODO.md](https://github.com/stan-smith/FossFLOW/blob/master/FOSSFLOW_TODO.md)** - কোডবেস ম্যাপিং সহ বর্তমান সমস্যা এবং রোডম্যাপ, বেশিরভাগ অভিযোগ isoflow লাইব্রেরি সম্পর্কে।
- **🤝 [CONTRIBUTORS.md](https://github.com/stan-smith/FossFLOW/blob/master/CONTRIBUTORS.md)** - প্রকল্পে কীভাবে অবদান রাখবেন।
## সাম্প্রতিক আপডেট (অক্টোবর 2025)
### বহুভাষিক সমর্থন
- **8টি ভাষা সমর্থিত** - ইংরেজি, চীনা (সরলীকৃত), স্প্যানিশ, পর্তুগিজ (ব্রাজিলিয়ান), ফরাসি, হিন্দি, বাংলা এবং রাশিয়ানে সম্পূর্ণ ইন্টারফেস অনুবাদ
- **ভাষা নির্বাচক** - অ্যাপ হেডারে ব্যবহার করা সহজ ভাষা সুইচার
- **সম্পূর্ণ অনুবাদ** - সমস্ত মেনু, ডায়ালগ, সেটিংস, টুলটিপ এবং সাহায্য বিষয়বস্তু অনুবাদিত
- **লোকেল-সচেতন** - স্বয়ংক্রিয়ভাবে আপনার ভাষা পছন্দ সনাক্ত করে এবং মনে রাখে
### উন্নত সংযোজক টুল
- **ক্লিক-ভিত্তিক তৈরি** - নতুন ডিফল্ট মোড: প্রথম নোডে ক্লিক করুন, তারপর সংযোগ করতে দ্বিতীয় নোডে ক্লিক করুন
- **ড্র্যাগ মোড বিকল্প** - মূল ড্র্যাগ-এন্ড-ড্রপ এখনও সেটিংসের মাধ্যমে উপলব্ধ
- **মোড নির্বাচন** - সেটিংস → সংযোজক ট্যাবে ক্লিক এবং ড্র্যাগ মোডের মধ্যে স্যুইচ করুন
- **উন্নত নির্ভরযোগ্যতা** - ক্লিক মোড আরও পূর্বাভাসযোগ্য সংযোগ তৈরি প্রদান করে
### কাস্টম আইকন আমদানি
- **আপনার নিজস্ব আইকন আমদানি করুন** - আপনার ডায়াগ্রামে ব্যবহার করতে কাস্টম আইকন (PNG, JPG, SVG) আপলোড করুন
- **স্বয়ংক্রিয় স্কেলিং** - পেশাদার চেহারার জন্য আইকনগুলি স্বয়ংক্রিয়ভাবে সামঞ্জস্যপূর্ণ আকারে স্কেল করা হয়
- **আইসোমেট্রিক/ফ্ল্যাট টগল** - আমদানি করা আইকনগুলি 3D আইসোমেট্রিক বা ফ্ল্যাট 2D হিসাবে প্রদর্শিত হবে কিনা তা চয়ন করুন
- **স্মার্ট অধ্যবসায়** - কাস্টম আইকনগুলি ডায়াগ্রামের সাথে সংরক্ষিত এবং সমস্ত স্টোরেজ পদ্ধতিতে কাজ করে
- **আইকন সম্পদ** - বিনামূল্যে আইকন খুঁজুন:
- [Iconify Icon Sets](https://icon-sets.iconify.design/) - হাজার হাজার বিনামূল্যে SVG আইকন
- [Flaticon Isometric Icons](https://www.flaticon.com/free-icons/isometric) - উচ্চ মানের আইসোমেট্রিক আইকন প্যাক
### সার্ভার স্টোরেজ সমর্থন
- **স্থায়ী স্টোরেজ** - সার্ভার ফাইল সিস্টেমে সংরক্ষিত ডায়াগ্রাম, ব্রাউজার সেশনে টিকে থাকে
- **মাল্টি-ডিভাইস অ্যাক্সেস** - Docker ডিপ্লয়মেন্ট ব্যবহার করার সময় যেকোনো ডিভাইস থেকে আপনার ডায়াগ্রাম অ্যাক্সেস করুন
- **স্বয়ংক্রিয় সনাক্তকরণ** - উপলব্ধ হলে UI স্বয়ংক্রিয়ভাবে সার্ভার স্টোরেজ দেখায়
- **ওভাররাইট সুরক্ষা** - ডুপ্লিকেট নাম দিয়ে সংরক্ষণ করার সময় নিশ্চিতকরণ ডায়ালগ
- **Docker একীকরণ** - Docker ডিপ্লয়মেন্টে ডিফল্টভাবে সার্ভার স্টোরেজ সক্রিয়
### উন্নত ইন্টারঅ্যাকশন বৈশিষ্ট্য
- **কনফিগারযোগ্য হটকি** - ভিজ্যুয়াল সূচক সহ টুল নির্বাচনের জন্য তিনটি প্রোফাইল (QWERTY, SMNRCT, কোনোটিই নয়)
- **উন্নত প্যান কন্ট্রোল** - খালি এলাকা ড্র্যাগ, মিডল/রাইট ক্লিক, মডিফায়ার কী (Ctrl/Alt) এবং কীবোর্ড নেভিগেশন (Arrow/WASD/IJKL) সহ একাধিক প্যান পদ্ধতি
- **সংযোজক তীর টগল করুন** - পৃথক সংযোজকগুলিতে তীরগুলি দেখানো/লুকানোর বিকল্প
- **স্থায়ী টুল নির্বাচন** - সংযোগ তৈরি করার পরে সংযোজক টুল সক্রিয় থাকে
- **সেটিংস ডায়ালগ** - হটকি এবং প্যান কন্ট্রোলের জন্য কেন্দ্রীভূত কনফিগারেশন
### Docker এবং CI/CD উন্নতি
- **স্বয়ংক্রিয় Docker বিল্ড** - কমিটে স্বয়ংক্রিয় Docker Hub ডিপ্লয়মেন্টের জন্য GitHub Actions ওয়ার্কফ্লো
- **মাল্টি-আর্কিটেকচার সমর্থন** - `linux/amd64` এবং `linux/arm64` উভয়ের জন্য Docker ইমেজ
- **প্রি-বিল্ট ইমেজ** - `stnsmith/fossflow:latest`-এ উপলব্ধ
### Monorepo আর্কিটেকচার
- লাইব্রেরি এবং অ্যাপ্লিকেশন উভয়ের জন্য **একক রিপোজিটরি**
- সুসংগত নির্ভরতা ব্যবস্থাপনার জন্য **NPM Workspaces**
- রুটে `npm run build` দিয়ে **একীভূত বিল্ড প্রক্রিয়া**
### UI সংশোধন
- Quill সম্পাদক টুলবার আইকন প্রদর্শন সমস্যা সংশোধন করা হয়েছে
- প্রসঙ্গ মেনুতে React কী সতর্কতা সমাধান করা হয়েছে
- markdown সম্পাদক স্টাইলিং উন্নত করা হয়েছে
## বৈশিষ্ট্য
- 🎨 **আইসোমেট্রিক ডায়াগ্রামিং** - চমৎকার 3D-স্টাইল প্রযুক্তিগত ডায়াগ্রাম তৈরি করুন
- 💾 **অটো-সেভ** - আপনার কাজ প্রতি 5 সেকেন্ডে স্বয়ংক্রিয়ভাবে সংরক্ষিত হয়
- 📱 **PWA সমর্থন** - Mac এবং Linux-এ নেটিভ অ্যাপ হিসাবে ইনস্টল করুন
- 🔒 **গোপনীয়তা-প্রথম** - সমস্ত ডেটা আপনার ব্রাউজারে স্থানীয়ভাবে সংরক্ষিত
- 📤 **আমদানি/রপ্তানি** - JSON ফাইল হিসাবে ডায়াগ্রাম শেয়ার করুন
- 🎯 **সেশন স্টোরেজ** - ডায়ালগ ছাড়াই দ্রুত সংরক্ষণ
- 🌐 **অফলাইন সমর্থন** - ইন্টারনেট সংযোগ ছাড়াই কাজ করুন
- 🗄️ **সার্ভার স্টোরেজ** - Docker ব্যবহার করার সময় ঐচ্ছিক স্থায়ী স্টোরেজ (ডিফল্টভাবে সক্রিয়)
- 🌍 **বহুভাষিক** - 8টি ভাষার জন্য সম্পূর্ণ সমর্থন: English, 简体中文, Español, Português, Français, हिन्दी, বাংলা, Русский
## 🐳 Docker দিয়ে দ্রুত ডিপ্লয়
```bash
# Docker Compose ব্যবহার করা (প্রস্তাবিত - স্থায়ী স্টোরেজ অন্তর্ভুক্ত)
docker compose up
# অথবা স্থায়ী স্টোরেজ সহ Docker Hub থেকে সরাসরি চালান
docker run -p 80:80 -v $(pwd)/diagrams:/data/diagrams stnsmith/fossflow:latest
```
Docker-এ সার্ভার স্টোরেজ ডিফল্টভাবে সক্রিয়। আপনার ডায়াগ্রামগুলি হোস্টে `./diagrams`-এ সংরক্ষিত হবে।
সার্ভার স্টোরেজ নিষ্ক্রিয় করতে, `ENABLE_SERVER_STORAGE=false` সেট করুন:
```bash
docker run -p 80:80 -e ENABLE_SERVER_STORAGE=false stnsmith/fossflow:latest
```
## দ্রুত শুরু (স্থানীয় উন্নয়ন)
```bash
# রিপোজিটরি ক্লোন করুন
git clone https://github.com/stan-smith/FossFLOW
cd FossFLOW
# নির্ভরতা ইনস্টল করুন
npm install
# লাইব্রেরি তৈরি করুন (প্রথমবার প্রয়োজনীয়)
npm run build:lib
# উন্নয়ন সার্ভার শুরু করুন
npm run dev
```
আপনার ব্রাউজারে [http://localhost:3000](http://localhost:3000) খুলুন।
## Monorepo কাঠামো
এটি দুটি প্যাকেজ সম্বলিত একটি monorepo:
- `packages/fossflow-lib` - নেটওয়ার্ক ডায়াগ্রাম আঁকার জন্য React কম্পোনেন্ট লাইব্রেরি (Webpack দিয়ে তৈরি)
- `packages/fossflow-app` - আইসোমেট্রিক ডায়াগ্রাম তৈরির জন্য Progressive Web App (RSBuild দিয়ে তৈরি)
### উন্নয়ন কমান্ড
```bash
# উন্নয়ন
npm run dev # অ্যাপ উন্নয়ন সার্ভার শুরু করুন
npm run dev:lib # লাইব্রেরি উন্নয়নের জন্য ওয়াচ মোড
# বিল্ডিং
npm run build # লাইব্রেরি এবং অ্যাপ উভয়ই তৈরি করুন
npm run build:lib # শুধুমাত্র লাইব্রেরি তৈরি করুন
npm run build:app # শুধুমাত্র অ্যাপ তৈরি করুন
# পরীক্ষা এবং লিন্টিং
npm test # ইউনিট টেস্ট চালান
npm run lint # লিন্টিং ত্রুটি পরীক্ষা করুন
# E2E টেস্ট (Selenium)
cd e2e-tests
./run-tests.sh # এন্ড-টু-এন্ড টেস্ট চালান (Docker এবং Python প্রয়োজন)
# প্রকাশনা
npm run publish:lib # npm-এ লাইব্রেরি প্রকাশ করুন
```
## কীভাবে ব্যবহার করবেন
### ডায়াগ্রাম তৈরি করা
1. **আইটেম যোগ করুন**:
- উপরের ডানদিকের মেনুতে "+" বোতাম টিপুন, কম্পোনেন্ট লাইব্রেরি বাম দিকে প্রদর্শিত হবে
- লাইব্রেরি থেকে ক্যানভাসে কম্পোনেন্ট ড্র্যাগ এবং ড্রপ করুন
- অথবা গ্রিডে রাইট-ক্লিক করুন এবং "নোড যোগ করুন" নির্বাচন করুন
2. **আইটেম সংযুক্ত করুন**:
- সংযোজক টুল নির্বাচন করুন ('C' টিপুন বা সংযোজক আইকনে ক্লিক করুন)
- **ক্লিক মোড** (ডিফল্ট): প্রথম নোডে ক্লিক করুন, তারপর দ্বিতীয় নোডে ক্লিক করুন
- **ড্র্যাগ মোড** (ঐচ্ছিক): প্রথম নোড থেকে দ্বিতীয় নোডে ক্লিক করুন এবং ড্র্যাগ করুন
- সেটিংস → সংযোজক ট্যাবে মোড স্যুইচ করুন
3. **আপনার কাজ সংরক্ষণ করুন**:
- **দ্রুত সংরক্ষণ** - ব্রাউজার সেশনে সংরক্ষণ করে
- **রপ্তানি** - JSON ফাইল হিসাবে ডাউনলোড করুন
- **আমদানি** - JSON ফাইল থেকে লোড করুন
### স্টোরেজ বিকল্প
- **সেশন স্টোরেজ**: ব্রাউজার বন্ধ হলে অস্থায়ী সংরক্ষণগুলি মুছে যায়
- **রপ্তানি/আমদানি**: JSON ফাইল হিসাবে স্থায়ী স্টোরেজ
- **অটো-সেভ**: সেশনে প্রতি 5 সেকেন্ডে পরিবর্তনগুলি স্বয়ংক্রিয়ভাবে সংরক্ষণ করে
## অবদান রাখা
আমরা অবদানকে স্বাগত জানাই! দয়া করে নির্দেশিকার জন্য [CONTRIBUTORS.md](../CONTRIBUTORS.md) দেখুন।
## ডকুমেন্টেশন
- [FOSSFLOW_ENCYCLOPEDIA.md](../FOSSFLOW_ENCYCLOPEDIA.md) - কোডবেসের জন্য ব্যাপক গাইড
- [FOSSFLOW_TODO.md](../FOSSFLOW_TODO.md) - বর্তমান সমস্যা এবং রোডম্যাপ
- [CONTRIBUTORS.md](../CONTRIBUTORS.md) - অবদানের নির্দেশিকা
## লাইসেন্স
MIT

205
docs/README.es.md Normal file
View File

@@ -0,0 +1,205 @@
# FossFLOW - Herramienta de Diagramas Isométricos <img width="30" height="30" alt="fossflow" src="https://github.com/user-attachments/assets/56d78887-601c-4336-ab87-76f8ee4cde96" />
<p align="center">
<a href="../README.md">English</a> | <a href="README.cn.md">简体中文</a> | <a href="README.es.md">Español</a> | <a href="README.pt.md">Português</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.bn.md">বাংলা</a> | <a href="README.ru.md">Русский</a>
</p>
<b>¡Hola!</b> Soy Stan, si has usado FossFLOW y te ha ayudado, <b>¡realmente agradecería si pudieras donar algo pequeño :)</b> Trabajo a tiempo completo, y encontrar tiempo para trabajar en este proyecto ya es bastante desafiante.
Si he implementado una función para ti o arreglado un error, sería genial si pudieras :) si no, no hay problema, ¡este software siempre será gratuito!
<b>¡También!</b> Si aún no lo has hecho, por favor echa un vistazo a la biblioteca subyacente en la que esto está construido por <a href="https://github.com/markmanx/isoflow">@markmanx</a> Realmente estoy sobre los hombros de un gigante aquí 🫡
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/P5P61KBXA3)
<img width="30" height="30" alt="image" src="https://github.com/user-attachments/assets/dc6ec9ca-48d7-4047-94cf-5c4f7ed63b84" /> <b> https://buymeacoffee.com/stan.smith </b>
Gracias,
-Stan
## Pruébalo en línea
Ve a <b> --> https://stan-smith.github.io/FossFLOW/ <-- </b>
------------------------------------------------------------------------------------------------------------------------------
FossFLOW es una potente aplicación web progresiva (PWA) de código abierto para crear hermosos diagramas isométricos. Construido con React y la biblioteca <a href="https://github.com/markmanx/isoflow">Isoflow</a> (Ahora bifurcada y publicada en NPM como fossflow), se ejecuta completamente en tu navegador con soporte sin conexión.
![Screenshot_20250630_160954](https://github.com/user-attachments/assets/e7f254ad-625f-4b8a-8efc-5293b5be9d55)
- **📝 [FOSSFLOW_TODO.md](https://github.com/stan-smith/FossFLOW/blob/master/FOSSFLOW_TODO.md)** - Problemas actuales y hoja de ruta con mapeos de código base, la mayoría de las quejas son con la biblioteca isoflow en sí.
- **🤝 [CONTRIBUTORS.md](https://github.com/stan-smith/FossFLOW/blob/master/CONTRIBUTORS.md)** - Cómo contribuir al proyecto.
## Actualizaciones Recientes (Octubre 2025)
### Soporte Multilingüe
- **8 Idiomas Soportados** - Traducción completa de la interfaz en inglés, chino (simplificado), español, portugués (brasileño), francés, hindi, bengalí y ruso
- **Selector de Idioma** - Selector de idioma fácil de usar en el encabezado de la aplicación
- **Traducción Completa** - Todos los menús, diálogos, configuraciones, información sobre herramientas y contenido de ayuda traducidos
- **Consciente de la Localización** - Detecta y recuerda automáticamente tu preferencia de idioma
### Herramienta de Conector Mejorada
- **Creación Basada en Clics** - Nuevo modo predeterminado: haz clic en el primer nodo, luego en el segundo nodo para conectar
- **Opción de Modo de Arrastre** - El arrastre y colocación original sigue disponible a través de configuración
- **Selección de Modo** - Cambia entre los modos de clic y arrastre en Configuración → pestaña Conectores
- **Mejor Fiabilidad** - El modo de clic proporciona una creación de conexión más predecible
### Importación de Iconos Personalizados
- **Importa Tus Propios Iconos** - Sube iconos personalizados (PNG, JPG, SVG) para usar en tus diagramas
- **Escalado Automático** - Los iconos se escalan automáticamente a tamaños consistentes para una apariencia profesional
- **Alternar Isométrico/Plano** - Elige si los iconos importados aparecen como 3D isométrico o 2D plano
- **Persistencia Inteligente** - Los iconos personalizados se guardan con los diagramas y funcionan en todos los métodos de almacenamiento
- **Recursos de Iconos** - Encuentra iconos gratuitos en:
- [Iconify Icon Sets](https://icon-sets.iconify.design/) - Miles de iconos SVG gratuitos
- [Flaticon Isometric Icons](https://www.flaticon.com/free-icons/isometric) - Paquetes de iconos isométricos de alta calidad
### Soporte de Almacenamiento en Servidor
- **Almacenamiento Persistente** - Diagramas guardados en el sistema de archivos del servidor, persisten entre sesiones del navegador
- **Acceso Multi-dispositivo** - Accede a tus diagramas desde cualquier dispositivo cuando uses implementación Docker
- **Detección Automática** - La interfaz de usuario muestra automáticamente el almacenamiento del servidor cuando está disponible
- **Protección contra Sobrescritura** - Diálogo de confirmación al guardar con nombres duplicados
- **Integración Docker** - Almacenamiento en servidor habilitado por defecto en implementaciones Docker
### Funciones de Interacción Mejoradas
- **Teclas de Acceso Rápido Configurables** - Tres perfiles (QWERTY, SMNRCT, Ninguno) para selección de herramientas con indicadores visuales
- **Controles de Panorámica Avanzados** - Múltiples métodos de panorámica incluyendo arrastre de área vacía, clic medio/derecho, teclas modificadoras (Ctrl/Alt) y navegación por teclado (Flechas/WASD/IJKL)
- **Alternar Flechas de Conector** - Opción para mostrar/ocultar flechas en conectores individuales
- **Selección de Herramienta Persistente** - La herramienta de conector permanece activa después de crear conexiones
- **Diálogo de Configuración** - Configuración centralizada para teclas de acceso rápido y controles de panorámica
### Mejoras de Docker y CI/CD
- **Compilaciones Docker Automatizadas** - Flujo de trabajo de GitHub Actions para implementación automática de Docker Hub en commits
- **Soporte Multi-arquitectura** - Imágenes Docker para `linux/amd64` y `linux/arm64`
- **Imágenes Pre-construidas** - Disponibles en `stnsmith/fossflow:latest`
### Arquitectura Monorepo
- **Repositorio único** para biblioteca y aplicación
- **NPM Workspaces** para gestión de dependencias optimizada
- **Proceso de compilación unificado** con `npm run build` en la raíz
### Correcciones de Interfaz
- Se corrigió el problema de visualización de iconos de la barra de herramientas del editor Quill
- Se resolvieron advertencias de clave React en menús contextuales
- Se mejoró el estilo del editor de markdown
## Características
- 🎨 **Diagramación Isométrica** - Crea impresionantes diagramas técnicos en estilo 3D
- 💾 **Autoguardado** - Tu trabajo se guarda automáticamente cada 5 segundos
- 📱 **Soporte PWA** - Instala como una aplicación nativa en Mac y Linux
- 🔒 **Privacidad Primero** - Todos los datos se almacenan localmente en tu navegador
- 📤 **Importar/Exportar** - Comparte diagramas como archivos JSON
- 🎯 **Almacenamiento de Sesión** - Guardado rápido sin diálogos
- 🌐 **Soporte Sin Conexión** - Trabaja sin conexión a internet
- 🗄️ **Almacenamiento en Servidor** - Almacenamiento persistente opcional cuando se usa Docker (habilitado por defecto)
- 🌍 **Multilingüe** - Soporte completo para 8 idiomas: English, 简体中文, Español, Português, Français, हिन्दी, বাংলা, Русский
## 🐳 Implementación Rápida con Docker
```bash
# Usando Docker Compose (recomendado - incluye almacenamiento persistente)
docker compose up
# O ejecutar directamente desde Docker Hub con almacenamiento persistente
docker run -p 80:80 -v $(pwd)/diagrams:/data/diagrams stnsmith/fossflow:latest
```
El almacenamiento en servidor está habilitado por defecto en Docker. Tus diagramas se guardarán en `./diagrams` en el host.
Para deshabilitar el almacenamiento en servidor, establece `ENABLE_SERVER_STORAGE=false`:
```bash
docker run -p 80:80 -e ENABLE_SERVER_STORAGE=false stnsmith/fossflow:latest
```
## Inicio Rápido (Desarrollo Local)
```bash
# Clonar el repositorio
git clone https://github.com/stan-smith/FossFLOW
cd FossFLOW
# Instalar dependencias
npm install
# Compilar la biblioteca (requerido la primera vez)
npm run build:lib
# Iniciar servidor de desarrollo
npm run dev
```
Abre [http://localhost:3000](http://localhost:3000) en tu navegador.
## Estructura del Monorepo
Este es un monorepo que contiene dos paquetes:
- `packages/fossflow-lib` - Biblioteca de componentes React para dibujar diagramas de red (construida con Webpack)
- `packages/fossflow-app` - Aplicación Web Progresiva para crear diagramas isométricos (construida con RSBuild)
### Comandos de Desarrollo
```bash
# Desarrollo
npm run dev # Iniciar servidor de desarrollo de la aplicación
npm run dev:lib # Modo watch para desarrollo de biblioteca
# Compilación
npm run build # Compilar biblioteca y aplicación
npm run build:lib # Compilar solo biblioteca
npm run build:app # Compilar solo aplicación
# Pruebas y Linting
npm test # Ejecutar pruebas unitarias
npm run lint # Verificar errores de linting
# Pruebas E2E (Selenium)
cd e2e-tests
./run-tests.sh # Ejecutar pruebas end-to-end (requiere Docker y Python)
# Publicación
npm run publish:lib # Publicar biblioteca en npm
```
## Cómo Usar
### Crear Diagramas
1. **Agregar Elementos**:
- Presiona el botón "+" en el menú superior derecho, la biblioteca de componentes aparecerá a la izquierda
- Arrastra y suelta componentes de la biblioteca al lienzo
- O haz clic derecho en la cuadrícula y selecciona "Agregar nodo"
2. **Conectar Elementos**:
- Selecciona la herramienta Conector (presiona 'C' o haz clic en el icono del conector)
- **Modo de clic** (predeterminado): Haz clic en el primer nodo, luego haz clic en el segundo nodo
- **Modo de arrastre** (opcional): Haz clic y arrastra desde el primer nodo al segundo
- Cambia de modo en Configuración → pestaña Conectores
3. **Guardar Tu Trabajo**:
- **Guardado Rápido** - Guarda en la sesión del navegador
- **Exportar** - Descargar como archivo JSON
- **Importar** - Cargar desde archivo JSON
### Opciones de Almacenamiento
- **Almacenamiento de Sesión**: Guardados temporales eliminados cuando se cierra el navegador
- **Exportar/Importar**: Almacenamiento permanente como archivos JSON
- **Autoguardado**: Guarda automáticamente los cambios cada 5 segundos en la sesión
## Contribuir
¡Damos la bienvenida a las contribuciones! Por favor consulta [CONTRIBUTORS.md](../CONTRIBUTORS.md) para las pautas.
## Documentación
- [FOSSFLOW_ENCYCLOPEDIA.md](../FOSSFLOW_ENCYCLOPEDIA.md) - Guía completa del código base
- [FOSSFLOW_TODO.md](../FOSSFLOW_TODO.md) - Problemas actuales y hoja de ruta
- [CONTRIBUTORS.md](../CONTRIBUTORS.md) - Pautas de contribución
## Licencia
MIT

205
docs/README.fr.md Normal file
View File

@@ -0,0 +1,205 @@
# FossFLOW - Outil de Diagrammes Isométriques <img width="30" height="30" alt="fossflow" src="https://github.com/user-attachments/assets/56d78887-601c-4336-ab87-76f8ee4cde96" />
<p align="center">
<a href="../README.md">English</a> | <a href="README.cn.md">简体中文</a> | <a href="README.es.md">Español</a> | <a href="README.pt.md">Português</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.bn.md">বাংলা</a> | <a href="README.ru.md">Русский</a>
</p>
<b>Salut !</b> C'est Stan, si vous avez utilisé FossFLOW et qu'il vous a aidé, <b>j'apprécierais vraiment si vous pouviez faire un petit don :)</b> Je travaille à temps plein, et trouver le temps de travailler sur ce projet est déjà assez difficile.
Si j'ai implémenté une fonctionnalité pour vous ou corrigé un bug, ce serait génial si vous pouviez :) sinon, ce n'est pas un problème, ce logiciel restera toujours gratuit !
<b>Aussi !</b> Si vous ne l'avez pas encore fait, veuillez consulter la bibliothèque sous-jacente sur laquelle ceci est construit par <a href="https://github.com/markmanx/isoflow">@markmanx</a> Je me tiens vraiment sur les épaules d'un géant ici 🫡
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/P5P61KBXA3)
<img width="30" height="30" alt="image" src="https://github.com/user-attachments/assets/dc6ec9ca-48d7-4047-94cf-5c4f7ed63b84" /> <b> https://buymeacoffee.com/stan.smith </b>
Merci,
-Stan
## Essayez-le en ligne
Allez sur <b> --> https://stan-smith.github.io/FossFLOW/ <-- </b>
------------------------------------------------------------------------------------------------------------------------------
FossFLOW est une puissante Progressive Web App (PWA) open-source pour créer de beaux diagrammes isométriques. Construit avec React et la bibliothèque <a href="https://github.com/markmanx/isoflow">Isoflow</a> (Maintenant forkée et publiée sur NPM comme fossflow), il fonctionne entièrement dans votre navigateur avec support hors ligne.
![Screenshot_20250630_160954](https://github.com/user-attachments/assets/e7f254ad-625f-4b8a-8efc-5293b5be9d55)
- **📝 [FOSSFLOW_TODO.md](https://github.com/stan-smith/FossFLOW/blob/master/FOSSFLOW_TODO.md)** - Problèmes actuels et feuille de route avec mappages de code base, la plupart des plaintes concernent la bibliothèque isoflow elle-même.
- **🤝 [CONTRIBUTORS.md](https://github.com/stan-smith/FossFLOW/blob/master/CONTRIBUTORS.md)** - Comment contribuer au projet.
## Mises à Jour Récentes (Octobre 2025)
### Support Multilingue
- **8 Langues Supportées** - Traduction complète de l'interface en anglais, chinois (simplifié), espagnol, portugais (brésilien), français, hindi, bengali et russe
- **Sélecteur de Langue** - Sélecteur de langue facile à utiliser dans l'en-tête de l'application
- **Traduction Complète** - Tous les menus, dialogues, paramètres, info-bulles et contenu d'aide traduits
- **Sensible aux Paramètres Régionaux** - Détecte et mémorise automatiquement votre préférence de langue
### Outil de Connecteur Amélioré
- **Création par Clics** - Nouveau mode par défaut : cliquez sur le premier nœud, puis sur le second pour connecter
- **Option Mode Glisser** - Le glisser-déposer original reste disponible via les paramètres
- **Sélection de Mode** - Basculez entre les modes clic et glisser dans Paramètres → onglet Connecteurs
- **Meilleure Fiabilité** - Le mode clic offre une création de connexion plus prévisible
### Importation d'Icônes Personnalisées
- **Importez Vos Propres Icônes** - Téléchargez des icônes personnalisées (PNG, JPG, SVG) à utiliser dans vos diagrammes
- **Mise à l'Échelle Automatique** - Les icônes sont automatiquement mises à l'échelle à des tailles cohérentes pour une apparence professionnelle
- **Bascule Isométrique/Plat** - Choisissez si les icônes importées apparaissent en 3D isométrique ou 2D plat
- **Persistance Intelligente** - Les icônes personnalisées sont enregistrées avec les diagrammes et fonctionnent avec toutes les méthodes de stockage
- **Ressources d'Icônes** - Trouvez des icônes gratuites sur :
- [Iconify Icon Sets](https://icon-sets.iconify.design/) - Des milliers d'icônes SVG gratuites
- [Flaticon Isometric Icons](https://www.flaticon.com/free-icons/isometric) - Packs d'icônes isométriques de haute qualité
### Support de Stockage Serveur
- **Stockage Persistant** - Diagrammes enregistrés sur le système de fichiers du serveur, persistent entre les sessions du navigateur
- **Accès Multi-appareils** - Accédez à vos diagrammes depuis n'importe quel appareil lors de l'utilisation du déploiement Docker
- **Détection Automatique** - L'interface utilisateur affiche automatiquement le stockage serveur lorsqu'il est disponible
- **Protection contre l'Écrasement** - Dialogue de confirmation lors de l'enregistrement avec des noms en double
- **Intégration Docker** - Stockage serveur activé par défaut dans les déploiements Docker
### Fonctionnalités d'Interaction Améliorées
- **Raccourcis Clavier Configurables** - Trois profils (QWERTY, SMNRCT, Aucun) pour la sélection d'outils avec indicateurs visuels
- **Contrôles de Panoramique Avancés** - Plusieurs méthodes de panoramique incluant glisser sur zone vide, clic milieu/droit, touches modificatrices (Ctrl/Alt) et navigation au clavier (Flèches/WASD/IJKL)
- **Basculer les Flèches du Connecteur** - Option pour afficher/masquer les flèches sur les connecteurs individuels
- **Sélection d'Outil Persistante** - L'outil connecteur reste actif après la création de connexions
- **Dialogue de Paramètres** - Configuration centralisée pour les raccourcis clavier et les contrôles de panoramique
### Améliorations Docker et CI/CD
- **Builds Docker Automatisées** - Workflow GitHub Actions pour le déploiement automatique sur Docker Hub lors des commits
- **Support Multi-architecture** - Images Docker pour `linux/amd64` et `linux/arm64`
- **Images Pré-construites** - Disponibles sur `stnsmith/fossflow:latest`
### Architecture Monorepo
- **Référentiel unique** pour la bibliothèque et l'application
- **NPM Workspaces** pour une gestion rationalisée des dépendances
- **Processus de build unifié** avec `npm run build` à la racine
### Corrections d'Interface
- Problème d'affichage des icônes de la barre d'outils de l'éditeur Quill corrigé
- Avertissements de clé React résolus dans les menus contextuels
- Style de l'éditeur markdown amélioré
## Fonctionnalités
- 🎨 **Diagrammes Isométriques** - Créez de superbes diagrammes techniques en style 3D
- 💾 **Sauvegarde Automatique** - Votre travail est automatiquement sauvegardé toutes les 5 secondes
- 📱 **Support PWA** - Installez comme une application native sur Mac et Linux
- 🔒 **Confidentialité d'Abord** - Toutes les données stockées localement dans votre navigateur
- 📤 **Importer/Exporter** - Partagez des diagrammes sous forme de fichiers JSON
- 🎯 **Stockage de Session** - Sauvegarde rapide sans dialogues
- 🌐 **Support Hors Ligne** - Travaillez sans connexion internet
- 🗄️ **Stockage Serveur** - Stockage persistant optionnel lors de l'utilisation de Docker (activé par défaut)
- 🌍 **Multilingue** - Support complet pour 8 langues : English, 简体中文, Español, Português, Français, हिन्दी, বাংলা, Русский
## 🐳 Déploiement Rapide avec Docker
```bash
# Utilisation de Docker Compose (recommandé - inclut le stockage persistant)
docker compose up
# Ou exécuter directement depuis Docker Hub avec stockage persistant
docker run -p 80:80 -v $(pwd)/diagrams:/data/diagrams stnsmith/fossflow:latest
```
Le stockage serveur est activé par défaut dans Docker. Vos diagrammes seront enregistrés dans `./diagrams` sur l'hôte.
Pour désactiver le stockage serveur, définissez `ENABLE_SERVER_STORAGE=false` :
```bash
docker run -p 80:80 -e ENABLE_SERVER_STORAGE=false stnsmith/fossflow:latest
```
## Démarrage Rapide (Développement Local)
```bash
# Cloner le référentiel
git clone https://github.com/stan-smith/FossFLOW
cd FossFLOW
# Installer les dépendances
npm install
# Compiler la bibliothèque (requis la première fois)
npm run build:lib
# Démarrer le serveur de développement
npm run dev
```
Ouvrez [http://localhost:3000](http://localhost:3000) dans votre navigateur.
## Structure du Monorepo
Ceci est un monorepo contenant deux packages :
- `packages/fossflow-lib` - Bibliothèque de composants React pour dessiner des diagrammes de réseau (construit avec Webpack)
- `packages/fossflow-app` - Progressive Web App pour créer des diagrammes isométriques (construit avec RSBuild)
### Commandes de Développement
```bash
# Développement
npm run dev # Démarrer le serveur de développement de l'application
npm run dev:lib # Mode watch pour le développement de la bibliothèque
# Build
npm run build # Compiler la bibliothèque et l'application
npm run build:lib # Compiler uniquement la bibliothèque
npm run build:app # Compiler uniquement l'application
# Tests et Linting
npm test # Exécuter les tests unitaires
npm run lint # Vérifier les erreurs de linting
# Tests E2E (Selenium)
cd e2e-tests
./run-tests.sh # Exécuter les tests end-to-end (nécessite Docker et Python)
# Publication
npm run publish:lib # Publier la bibliothèque sur npm
```
## Comment Utiliser
### Créer des Diagrammes
1. **Ajouter des Éléments** :
- Appuyez sur le bouton "+" dans le menu en haut à droite, la bibliothèque de composants apparaîtra à gauche
- Glissez et déposez les composants de la bibliothèque sur le canevas
- Ou cliquez avec le bouton droit sur la grille et sélectionnez "Ajouter un nœud"
2. **Connecter des Éléments** :
- Sélectionnez l'outil Connecteur (appuyez sur 'C' ou cliquez sur l'icône du connecteur)
- **Mode clic** (par défaut) : Cliquez sur le premier nœud, puis cliquez sur le second nœud
- **Mode glisser** (optionnel) : Cliquez et glissez du premier au second nœud
- Basculez entre les modes dans Paramètres → onglet Connecteurs
3. **Sauvegarder Votre Travail** :
- **Sauvegarde Rapide** - Enregistre dans la session du navigateur
- **Exporter** - Télécharger comme fichier JSON
- **Importer** - Charger depuis un fichier JSON
### Options de Stockage
- **Stockage de Session** : Sauvegardes temporaires effacées à la fermeture du navigateur
- **Exporter/Importer** : Stockage permanent sous forme de fichiers JSON
- **Sauvegarde Automatique** : Enregistre automatiquement les modifications toutes les 5 secondes dans la session
## Contribuer
Nous accueillons les contributions ! Veuillez consulter [CONTRIBUTORS.md](../CONTRIBUTORS.md) pour les directives.
## Documentation
- [FOSSFLOW_ENCYCLOPEDIA.md](../FOSSFLOW_ENCYCLOPEDIA.md) - Guide complet de la base de code
- [FOSSFLOW_TODO.md](../FOSSFLOW_TODO.md) - Problèmes actuels et feuille de route
- [CONTRIBUTORS.md](../CONTRIBUTORS.md) - Directives de contribution
## Licence
MIT

205
docs/README.hi.md Normal file
View File

@@ -0,0 +1,205 @@
# FossFLOW - आइसोमेट्रिक आरेख उपकरण <img width="30" height="30" alt="fossflow" src="https://github.com/user-attachments/assets/56d78887-601c-4336-ab87-76f8ee4cde96" />
<p align="center">
<a href="../README.md">English</a> | <a href="README.cn.md">简体中文</a> | <a href="README.es.md">Español</a> | <a href="README.pt.md">Português</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.bn.md">বাংলা</a> | <a href="README.ru.md">Русский</a>
</p>
<b>नमस्ते!</b> मैं Stan हूं, यदि आपने FossFLOW का उपयोग किया है और इसने आपकी मदद की है, <b>तो मैं वास्तव में सराहना करूंगा यदि आप कुछ छोटा दान कर सकें :)</b> मैं पूर्णकालिक काम करता हूं, और इस परियोजना पर काम करने के लिए समय निकालना पर्याप्त चुनौतीपूर्ण है।
यदि मैंने आपके लिए कोई सुविधा लागू की है या कोई बग ठीक किया है, तो यह बहुत अच्छा होगा यदि आप कर सकें :) यदि नहीं, तो कोई समस्या नहीं है, यह सॉफ्टवेयर हमेशा मुफ्त रहेगा!
<b>साथ ही!</b> यदि आपने अभी तक नहीं किया है, तो कृपया <a href="https://github.com/markmanx/isoflow">@markmanx</a> द्वारा बनाई गई अंतर्निहित लाइब्रेरी देखें, जिस पर यह बना है। मैं वास्तव में यहां एक दिग्गज के कंधों पर खड़ा हूं 🫡
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/P5P61KBXA3)
<img width="30" height="30" alt="image" src="https://github.com/user-attachments/assets/dc6ec9ca-48d7-4047-94cf-5c4f7ed63b84" /> <b> https://buymeacoffee.com/stan.smith </b>
धन्यवाद,
-Stan
## इसे ऑनलाइन आज़माएं
यहां जाएं <b> --> https://stan-smith.github.io/FossFLOW/ <-- </b>
------------------------------------------------------------------------------------------------------------------------------
FossFLOW सुंदर आइसोमेट्रिक आरेख बनाने के लिए एक शक्तिशाली, ओपन-सोर्स प्रोग्रेसिव वेब ऐप (PWA) है। React और <a href="https://github.com/markmanx/isoflow">Isoflow</a> लाइब्रेरी (अब फोर्क किया गया और NPM पर fossflow के रूप में प्रकाशित) के साथ बनाया गया, यह ऑफ़लाइन समर्थन के साथ पूरी तरह से आपके ब्राउज़र में चलता है।
![Screenshot_20250630_160954](https://github.com/user-attachments/assets/e7f254ad-625f-4b8a-8efc-5293b5be9d55)
- **📝 [FOSSFLOW_TODO.md](https://github.com/stan-smith/FossFLOW/blob/master/FOSSFLOW_TODO.md)** - कोडबेस मैपिंग के साथ वर्तमान समस्याएं और रोडमैप, अधिकांश शिकायतें isoflow लाइब्रेरी के बारे में हैं।
- **🤝 [CONTRIBUTORS.md](https://github.com/stan-smith/FossFLOW/blob/master/CONTRIBUTORS.md)** - परियोजना में योगदान कैसे करें।
## हाल के अपडेट (अक्टूबर 2025)
### बहुभाषी समर्थन
- **8 भाषाएं समर्थित** - अंग्रेजी, चीनी (सरलीकृत), स्पेनिश, पुर्तगाली (ब्राज़ीलियाई), फ्रेंच, हिंदी, बंगाली और रूसी में पूर्ण इंटरफ़ेस अनुवाद
- **भाषा चयनकर्ता** - ऐप हेडर में उपयोग में आसान भाषा स्विचर
- **पूर्ण अनुवाद** - सभी मेनू, संवाद, सेटिंग्स, टूलटिप्स और सहायता सामग्री अनुवादित
- **लोकेल-जागरूक** - स्वचालित रूप से आपकी भाषा प्राथमिकता का पता लगाता है और याद रखता है
### बेहतर कनेक्टर उपकरण
- **क्लिक-आधारित निर्माण** - नया डिफ़ॉल्ट मोड: पहले नोड पर क्लिक करें, फिर कनेक्ट करने के लिए दूसरे नोड पर क्लिक करें
- **ड्रैग मोड विकल्प** - मूल ड्रैग-एंड-ड्रॉप अभी भी सेटिंग्स के माध्यम से उपलब्ध है
- **मोड चयन** - सेटिंग्स → कनेक्टर टैब में क्लिक और ड्रैग मोड के बीच स्विच करें
- **बेहतर विश्वसनीयता** - क्लिक मोड अधिक अनुमानित कनेक्शन निर्माण प्रदान करता है
### कस्टम आइकन आयात
- **अपने स्वयं के आइकन आयात करें** - अपने आरेखों में उपयोग करने के लिए कस्टम आइकन (PNG, JPG, SVG) अपलोड करें
- **स्वचालित स्केलिंग** - पेशेवर उपस्थिति के लिए आइकन स्वचालित रूप से सुसंगत आकारों में स्केल किए जाते हैं
- **आइसोमेट्रिक/फ्लैट टॉगल** - चुनें कि आयातित आइकन 3D आइसोमेट्रिक या फ्लैट 2D के रूप में दिखाई दें
- **स्मार्ट दृढ़ता** - कस्टम आइकन आरेखों के साथ सहेजे जाते हैं और सभी भंडारण विधियों में काम करते हैं
- **आइकन संसाधन** - मुफ्त आइकन यहां खोजें:
- [Iconify Icon Sets](https://icon-sets.iconify.design/) - हजारों मुफ्त SVG आइकन
- [Flaticon Isometric Icons](https://www.flaticon.com/free-icons/isometric) - उच्च गुणवत्ता वाले आइसोमेट्रिक आइकन पैक
### सर्वर स्टोरेज समर्थन
- **स्थायी भंडारण** - सर्वर फ़ाइल सिस्टम में सहेजे गए आरेख, ब्राउज़र सत्रों में बने रहते हैं
- **बहु-डिवाइस पहुंच** - Docker डिप्लॉयमेंट का उपयोग करते समय किसी भी डिवाइस से अपने आरेखों तक पहुंचें
- **स्वचालित पहचान** - उपलब्ध होने पर UI स्वचालित रूप से सर्वर स्टोरेज दिखाता है
- **अधिलेखन सुरक्षा** - डुप्लिकेट नामों से सहेजते समय पुष्टिकरण संवाद
- **Docker एकीकरण** - Docker डिप्लॉयमेंट में डिफ़ॉल्ट रूप से सर्वर स्टोरेज सक्षम
### बेहतर इंटरैक्शन सुविधाएं
- **कॉन्फ़िगर करने योग्य हॉटकी** - विजुअल संकेतकों के साथ उपकरण चयन के लिए तीन प्रोफाइल (QWERTY, SMNRCT, कोई नहीं)
- **उन्नत पैन नियंत्रण** - रिक्त क्षेत्र ड्रैग, मध्य/दाएं क्लिक, संशोधक कुंजी (Ctrl/Alt) और कीबोर्ड नेविगेशन (Arrow/WASD/IJKL) सहित कई पैन विधियां
- **कनेक्टर तीर टॉगल करें** - व्यक्तिगत कनेक्टरों पर तीर दिखाने/छिपाने का विकल्प
- **स्थायी उपकरण चयन** - कनेक्शन बनाने के बाद कनेक्टर उपकरण सक्रिय रहता है
- **सेटिंग्स संवाद** - हॉटकी और पैन नियंत्रण के लिए केंद्रीकृत कॉन्फ़िगरेशन
### Docker और CI/CD सुधार
- **स्वचालित Docker बिल्ड** - कमिट्स पर स्वचालित Docker Hub डिप्लॉयमेंट के लिए GitHub Actions वर्कफ़्लो
- **बहु-आर्किटेक्चर समर्थन** - `linux/amd64` और `linux/arm64` दोनों के लिए Docker छवियां
- **पूर्व-निर्मित छवियां** - `stnsmith/fossflow:latest` पर उपलब्ध
### Monorepo आर्किटेक्चर
- लाइब्रेरी और एप्लिकेशन दोनों के लिए **एकल रिपॉजिटरी**
- सुव्यवस्थित निर्भरता प्रबंधन के लिए **NPM Workspaces**
- रूट पर `npm run build` के साथ **एकीकृत बिल्ड प्रक्रिया**
### UI सुधार
- Quill संपादक टूलबार आइकन प्रदर्शन समस्या ठीक की गई
- संदर्भ मेनू में React कुंजी चेतावनियां हल की गईं
- markdown संपादक स्टाइलिंग में सुधार किया गया
## विशेषताएं
- 🎨 **आइसोमेट्रिक आरेख** - आश्चर्यजनक 3D-शैली तकनीकी आरेख बनाएं
- 💾 **ऑटो-सेव** - आपका काम हर 5 सेकंड में स्वचालित रूप से सहेजा जाता है
- 📱 **PWA समर्थन** - Mac और Linux पर मूल ऐप के रूप में इंस्टॉल करें
- 🔒 **गोपनीयता-प्रथम** - सभी डेटा आपके ब्राउज़र में स्थानीय रूप से संग्रहीत
- 📤 **आयात/निर्यात** - JSON फ़ाइलों के रूप में आरेख साझा करें
- 🎯 **सत्र भंडारण** - संवाद के बिना त्वरित सहेजें
- 🌐 **ऑफ़लाइन समर्थन** - इंटरनेट कनेक्शन के बिना काम करें
- 🗄️ **सर्वर स्टोरेज** - Docker उपयोग करते समय वैकल्पिक स्थायी भंडारण (डिफ़ॉल्ट रूप से सक्षम)
- 🌍 **बहुभाषी** - 8 भाषाओं के लिए पूर्ण समर्थन: English, 简体中文, Español, Português, Français, हिन्दी, বাংলা, Русский
## 🐳 Docker के साथ त्वरित डिप्लॉय
```bash
# Docker Compose का उपयोग करना (अनुशंसित - स्थायी भंडारण शामिल)
docker compose up
# या स्थायी भंडारण के साथ Docker Hub से सीधे चलाएं
docker run -p 80:80 -v $(pwd)/diagrams:/data/diagrams stnsmith/fossflow:latest
```
Docker में सर्वर स्टोरेज डिफ़ॉल्ट रूप से सक्षम है। आपके आरेख होस्ट पर `./diagrams` में सहेजे जाएंगे।
सर्वर स्टोरेज अक्षम करने के लिए, `ENABLE_SERVER_STORAGE=false` सेट करें:
```bash
docker run -p 80:80 -e ENABLE_SERVER_STORAGE=false stnsmith/fossflow:latest
```
## त्वरित प्रारंभ (स्थानीय विकास)
```bash
# रिपॉजिटरी क्लोन करें
git clone https://github.com/stan-smith/FossFLOW
cd FossFLOW
# निर्भरताएं इंस्टॉल करें
npm install
# लाइब्रेरी बनाएं (पहली बार आवश्यक)
npm run build:lib
# विकास सर्वर प्रारंभ करें
npm run dev
```
अपने ब्राउज़र में [http://localhost:3000](http://localhost:3000) खोलें।
## Monorepo संरचना
यह दो पैकेज वाला एक monorepo है:
- `packages/fossflow-lib` - नेटवर्क आरेख बनाने के लिए React घटक लाइब्रेरी (Webpack के साथ निर्मित)
- `packages/fossflow-app` - आइसोमेट्रिक आरेख बनाने के लिए Progressive Web App (RSBuild के साथ निर्मित)
### विकास आदेश
```bash
# विकास
npm run dev # ऐप विकास सर्वर शुरू करें
npm run dev:lib # लाइब्रेरी विकास के लिए वॉच मोड
# बिल्डिंग
npm run build # लाइब्रेरी और ऐप दोनों बनाएं
npm run build:lib # केवल लाइब्रेरी बनाएं
npm run build:app # केवल ऐप बनाएं
# परीक्षण और लिंटिंग
npm test # यूनिट टेस्ट चलाएं
npm run lint # लिंटिंग त्रुटियों की जांच करें
# E2E टेस्ट (Selenium)
cd e2e-tests
./run-tests.sh # एंड-टू-एंड टेस्ट चलाएं (Docker और Python आवश्यक)
# प्रकाशन
npm run publish:lib # npm पर लाइब्रेरी प्रकाशित करें
```
## उपयोग कैसे करें
### आरेख बनाना
1. **आइटम जोड़ें**:
- शीर्ष दाईं ओर मेनू पर "+" बटन दबाएं, घटक लाइब्रेरी बाईं ओर दिखाई देगी
- लाइब्रेरी से घटकों को कैनवास पर ड्रैग और ड्रॉप करें
- या ग्रिड पर राइट-क्लिक करें और "नोड जोड़ें" चुनें
2. **आइटम कनेक्ट करें**:
- कनेक्टर उपकरण चुनें ('C' दबाएं या कनेक्टर आइकन पर क्लिक करें)
- **क्लिक मोड** (डिफ़ॉल्ट): पहले नोड पर क्लिक करें, फिर दूसरे नोड पर क्लिक करें
- **ड्रैग मोड** (वैकल्पिक): पहले से दूसरे नोड तक क्लिक करें और ड्रैग करें
- सेटिंग्स → कनेक्टर टैब में मोड स्विच करें
3. **अपना काम सहेजें**:
- **त्वरित सहेजें** - ब्राउज़र सत्र में सहेजता है
- **निर्यात** - JSON फ़ाइल के रूप में डाउनलोड करें
- **आयात** - JSON फ़ाइल से लोड करें
### भंडारण विकल्प
- **सत्र भंडारण**: ब्राउज़र बंद होने पर अस्थायी सहेजें साफ़ हो जाते हैं
- **निर्यात/आयात**: JSON फ़ाइलों के रूप में स्थायी भंडारण
- **ऑटो-सेव**: सत्र में हर 5 सेकंड में परिवर्तन स्वचालित रूप से सहेजता है
## योगदान देना
हम योगदान का स्वागत करते हैं! कृपया दिशानिर्देशों के लिए [CONTRIBUTORS.md](../CONTRIBUTORS.md) देखें।
## प्रलेखन
- [FOSSFLOW_ENCYCLOPEDIA.md](../FOSSFLOW_ENCYCLOPEDIA.md) - कोडबेस के लिए व्यापक गाइड
- [FOSSFLOW_TODO.md](../FOSSFLOW_TODO.md) - वर्तमान समस्याएं और रोडमैप
- [CONTRIBUTORS.md](../CONTRIBUTORS.md) - योगदान दिशानिर्देश
## लाइसेंस
MIT

205
docs/README.pt.md Normal file
View File

@@ -0,0 +1,205 @@
# FossFLOW - Ferramenta de Diagramas Isométricos <img width="30" height="30" alt="fossflow" src="https://github.com/user-attachments/assets/56d78887-601c-4336-ab87-76f8ee4cde96" />
<p align="center">
<a href="../README.md">English</a> | <a href="README.cn.md">简体中文</a> | <a href="README.es.md">Español</a> | <a href="README.pt.md">Português</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.bn.md">বাংলা</a> | <a href="README.ru.md">Русский</a>
</p>
<b>Olá!</b> Aqui é o Stan, se você usou o FossFLOW e ele te ajudou, <b>eu realmente agradeceria se você pudesse doar algo pequeno :)</b> Eu trabalho em tempo integral, e encontrar tempo para trabalhar neste projeto já é desafiador o suficiente.
Se eu implementei um recurso para você ou corrigi um bug, seria ótimo se você pudesse :) se não, não há problema, este software sempre será gratuito!
<b>Também!</b> Se você ainda não o fez, por favor confira a biblioteca subjacente na qual isso é construído por <a href="https://github.com/markmanx/isoflow">@markmanx</a> Eu realmente estou sobre os ombros de um gigante aqui 🫡
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/P5P61KBXA3)
<img width="30" height="30" alt="image" src="https://github.com/user-attachments/assets/dc6ec9ca-48d7-4047-94cf-5c4f7ed63b84" /> <b> https://buymeacoffee.com/stan.smith </b>
Obrigado,
-Stan
## Experimente online
Vá para <b> --> https://stan-smith.github.io/FossFLOW/ <-- </b>
------------------------------------------------------------------------------------------------------------------------------
FossFLOW é um poderoso Progressive Web App (PWA) de código aberto para criar belos diagramas isométricos. Construído com React e a biblioteca <a href="https://github.com/markmanx/isoflow">Isoflow</a> (Agora bifurcada e publicada no NPM como fossflow), ele roda inteiramente no seu navegador com suporte offline.
![Screenshot_20250630_160954](https://github.com/user-attachments/assets/e7f254ad-625f-4b8a-8efc-5293b5be9d55)
- **📝 [FOSSFLOW_TODO.md](https://github.com/stan-smith/FossFLOW/blob/master/FOSSFLOW_TODO.md)** - Problemas atuais e roteiro com mapeamentos de código base, a maioria das reclamações são com a própria biblioteca isoflow.
- **🤝 [CONTRIBUTORS.md](https://github.com/stan-smith/FossFLOW/blob/master/CONTRIBUTORS.md)** - Como contribuir para o projeto.
## Atualizações Recentes (Outubro 2025)
### Suporte Multilíngue
- **8 Idiomas Suportados** - Tradução completa da interface em inglês, chinês (simplificado), espanhol, português (brasileiro), francês, hindi, bengali e russo
- **Seletor de Idioma** - Seletor de idioma fácil de usar no cabeçalho do aplicativo
- **Tradução Completa** - Todos os menus, diálogos, configurações, dicas de ferramentas e conteúdo de ajuda traduzidos
- **Consciente de Localidade** - Detecta e lembra automaticamente sua preferência de idioma
### Ferramenta de Conector Aprimorada
- **Criação Baseada em Cliques** - Novo modo padrão: clique no primeiro nó, depois no segundo nó para conectar
- **Opção de Modo de Arrastar** - O arrastar e soltar original ainda está disponível através das configurações
- **Seleção de Modo** - Alterne entre os modos de clique e arrastar em Configurações → aba Conectores
- **Melhor Confiabilidade** - O modo de clique fornece criação de conexão mais previsível
### Importação de Ícones Personalizados
- **Importe Seus Próprios Ícones** - Carregue ícones personalizados (PNG, JPG, SVG) para usar em seus diagramas
- **Dimensionamento Automático** - Os ícones são dimensionados automaticamente para tamanhos consistentes para aparência profissional
- **Alternar Isométrico/Plano** - Escolha se os ícones importados aparecem como 3D isométrico ou 2D plano
- **Persistência Inteligente** - Ícones personalizados são salvos com diagramas e funcionam em todos os métodos de armazenamento
- **Recursos de Ícones** - Encontre ícones gratuitos em:
- [Iconify Icon Sets](https://icon-sets.iconify.design/) - Milhares de ícones SVG gratuitos
- [Flaticon Isometric Icons](https://www.flaticon.com/free-icons/isometric) - Pacotes de ícones isométricos de alta qualidade
### Suporte de Armazenamento no Servidor
- **Armazenamento Persistente** - Diagramas salvos no sistema de arquivos do servidor, persistem entre sessões do navegador
- **Acesso Multi-dispositivo** - Acesse seus diagramas de qualquer dispositivo ao usar implantação Docker
- **Detecção Automática** - A interface do usuário mostra automaticamente o armazenamento do servidor quando disponível
- **Proteção contra Sobrescrita** - Diálogo de confirmação ao salvar com nomes duplicados
- **Integração Docker** - Armazenamento no servidor habilitado por padrão em implantações Docker
### Recursos de Interação Aprimorados
- **Teclas de Atalho Configuráveis** - Três perfis (QWERTY, SMNRCT, Nenhum) para seleção de ferramentas com indicadores visuais
- **Controles de Panorâmica Avançados** - Múltiplos métodos de panorâmica incluindo arrastar área vazia, clique do meio/direito, teclas modificadoras (Ctrl/Alt) e navegação por teclado (Setas/WASD/IJKL)
- **Alternar Setas do Conector** - Opção para mostrar/ocultar setas em conectores individuais
- **Seleção de Ferramenta Persistente** - A ferramenta de conector permanece ativa após criar conexões
- **Diálogo de Configurações** - Configuração centralizada para teclas de atalho e controles de panorâmica
### Melhorias de Docker e CI/CD
- **Builds Docker Automatizadas** - Fluxo de trabalho do GitHub Actions para implantação automática do Docker Hub em commits
- **Suporte Multi-arquitetura** - Imagens Docker para `linux/amd64` e `linux/arm64`
- **Imagens Pré-construídas** - Disponíveis em `stnsmith/fossflow:latest`
### Arquitetura Monorepo
- **Repositório único** para biblioteca e aplicação
- **NPM Workspaces** para gerenciamento de dependências simplificado
- **Processo de build unificado** com `npm run build` na raiz
### Correções de Interface
- Corrigido problema de exibição de ícones da barra de ferramentas do editor Quill
- Resolvidos avisos de chave React em menus de contexto
- Melhorado estilo do editor de markdown
## Características
- 🎨 **Diagramação Isométrica** - Crie impressionantes diagramas técnicos em estilo 3D
- 💾 **Salvamento Automático** - Seu trabalho é salvo automaticamente a cada 5 segundos
- 📱 **Suporte PWA** - Instale como um aplicativo nativo no Mac e Linux
- 🔒 **Privacidade em Primeiro Lugar** - Todos os dados armazenados localmente no seu navegador
- 📤 **Importar/Exportar** - Compartilhe diagramas como arquivos JSON
- 🎯 **Armazenamento de Sessão** - Salvamento rápido sem diálogos
- 🌐 **Suporte Offline** - Trabalhe sem conexão à internet
- 🗄️ **Armazenamento no Servidor** - Armazenamento persistente opcional ao usar Docker (habilitado por padrão)
- 🌍 **Multilíngue** - Suporte completo para 8 idiomas: English, 简体中文, Español, Português, Français, हिन्दी, বাংলা, Русский
## 🐳 Implantação Rápida com Docker
```bash
# Usando Docker Compose (recomendado - inclui armazenamento persistente)
docker compose up
# Ou execute diretamente do Docker Hub com armazenamento persistente
docker run -p 80:80 -v $(pwd)/diagrams:/data/diagrams stnsmith/fossflow:latest
```
O armazenamento no servidor está habilitado por padrão no Docker. Seus diagramas serão salvos em `./diagrams` no host.
Para desabilitar o armazenamento no servidor, defina `ENABLE_SERVER_STORAGE=false`:
```bash
docker run -p 80:80 -e ENABLE_SERVER_STORAGE=false stnsmith/fossflow:latest
```
## Início Rápido (Desenvolvimento Local)
```bash
# Clonar o repositório
git clone https://github.com/stan-smith/FossFLOW
cd FossFLOW
# Instalar dependências
npm install
# Compilar a biblioteca (necessário na primeira vez)
npm run build:lib
# Iniciar servidor de desenvolvimento
npm run dev
```
Abra [http://localhost:3000](http://localhost:3000) no seu navegador.
## Estrutura do Monorepo
Este é um monorepo contendo dois pacotes:
- `packages/fossflow-lib` - Biblioteca de componentes React para desenhar diagramas de rede (construída com Webpack)
- `packages/fossflow-app` - Progressive Web App para criar diagramas isométricos (construído com RSBuild)
### Comandos de Desenvolvimento
```bash
# Desenvolvimento
npm run dev # Iniciar servidor de desenvolvimento do aplicativo
npm run dev:lib # Modo watch para desenvolvimento da biblioteca
# Build
npm run build # Compilar biblioteca e aplicativo
npm run build:lib # Compilar apenas biblioteca
npm run build:app # Compilar apenas aplicativo
# Testes e Linting
npm test # Executar testes unitários
npm run lint # Verificar erros de linting
# Testes E2E (Selenium)
cd e2e-tests
./run-tests.sh # Executar testes end-to-end (requer Docker e Python)
# Publicação
npm run publish:lib # Publicar biblioteca no npm
```
## Como Usar
### Criar Diagramas
1. **Adicionar Itens**:
- Pressione o botão "+" no menu superior direito, a biblioteca de componentes aparecerá à esquerda
- Arraste e solte componentes da biblioteca na tela
- Ou clique com o botão direito na grade e selecione "Adicionar nó"
2. **Conectar Itens**:
- Selecione a ferramenta Conector (pressione 'C' ou clique no ícone do conector)
- **Modo de clique** (padrão): Clique no primeiro nó, depois clique no segundo nó
- **Modo de arrastar** (opcional): Clique e arraste do primeiro nó para o segundo
- Alterne os modos em Configurações → aba Conectores
3. **Salvar Seu Trabalho**:
- **Salvamento Rápido** - Salva na sessão do navegador
- **Exportar** - Baixar como arquivo JSON
- **Importar** - Carregar de arquivo JSON
### Opções de Armazenamento
- **Armazenamento de Sessão**: Salvamentos temporários apagados quando o navegador fecha
- **Exportar/Importar**: Armazenamento permanente como arquivos JSON
- **Salvamento Automático**: Salva automaticamente as alterações a cada 5 segundos na sessão
## Contribuindo
Damos as boas-vindas a contribuições! Por favor veja [CONTRIBUTORS.md](../CONTRIBUTORS.md) para diretrizes.
## Documentação
- [FOSSFLOW_ENCYCLOPEDIA.md](../FOSSFLOW_ENCYCLOPEDIA.md) - Guia abrangente para a base de código
- [FOSSFLOW_TODO.md](../FOSSFLOW_TODO.md) - Problemas atuais e roteiro
- [CONTRIBUTORS.md](../CONTRIBUTORS.md) - Diretrizes de contribuição
## Licença
MIT

205
docs/README.ru.md Normal file
View File

@@ -0,0 +1,205 @@
# FossFLOW - Инструмент для изометрических диаграмм <img width="30" height="30" alt="fossflow" src="https://github.com/user-attachments/assets/56d78887-601c-4336-ab87-76f8ee4cde96" />
<p align="center">
<a href="../README.md">English</a> | <a href="README.cn.md">简体中文</a> | <a href="README.es.md">Español</a> | <a href="README.pt.md">Português</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.bn.md">বাংলা</a> | <a href="README.ru.md">Русский</a>
</p>
<b>Привет!</b> Я Stan, если вы использовали FossFLOW и это помогло вам, <b>я буду очень признателен, если вы сможете сделать небольшое пожертвование :)</b> Я работаю полный рабочий день, и найти время для работы над этим проектом достаточно сложно.
Если я реализовал для вас функцию или исправил ошибку, было бы здорово, если бы вы могли :) если нет, то это не проблема, это программное обеспечение всегда останется бесплатным!
<b>Также!</b> Если вы еще не сделали этого, пожалуйста, ознакомьтесь с базовой библиотекой, на которой это построено, от <a href="https://github.com/markmanx/isoflow">@markmanx</a> Я действительно стою здесь на плечах гиганта 🫡
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/P5P61KBXA3)
<img width="30" height="30" alt="image" src="https://github.com/user-attachments/assets/dc6ec9ca-48d7-4047-94cf-5c4f7ed63b84" /> <b> https://buymeacoffee.com/stan.smith </b>
Спасибо,
-Stan
## Попробуйте онлайн
Перейдите на <b> --> https://stan-smith.github.io/FossFLOW/ <-- </b>
------------------------------------------------------------------------------------------------------------------------------
FossFLOW - это мощное прогрессивное веб-приложение (PWA) с открытым исходным кодом для создания красивых изометрических диаграмм. Созданное с помощью React и библиотеки <a href="https://github.com/markmanx/isoflow">Isoflow</a> (Теперь форкнуто и опубликовано в NPM как fossflow), оно полностью работает в вашем браузере с поддержкой офлайн-режима.
![Screenshot_20250630_160954](https://github.com/user-attachments/assets/e7f254ad-625f-4b8a-8efc-5293b5be9d55)
- **📝 [FOSSFLOW_TODO.md](https://github.com/stan-smith/FossFLOW/blob/master/FOSSFLOW_TODO.md)** - Текущие проблемы и дорожная карта с отображением кодовой базы, большинство жалоб касаются самой библиотеки isoflow.
- **🤝 [CONTRIBUTORS.md](https://github.com/stan-smith/FossFLOW/blob/master/CONTRIBUTORS.md)** - Как внести вклад в проект.
## Недавние обновления (Октябрь 2025)
### Многоязычная поддержка
- **Поддержка 8 языков** - Полный перевод интерфейса на английский, китайский (упрощенный), испанский, португальский (бразильский), французский, хинди, бенгальский и русский
- **Переключатель языка** - Простой в использовании переключатель языка в заголовке приложения
- **Полный перевод** - Все меню, диалоги, настройки, подсказки и справочный контент переведены
- **Учет локали** - Автоматически определяет и запоминает ваш языковой предпочтение
### Улучшенный инструмент соединителя
- **Создание на основе кликов** - Новый режим по умолчанию: щелкните первый узел, затем второй узел для соединения
- **Опция режима перетаскивания** - Исходное перетаскивание по-прежнему доступно через настройки
- **Выбор режима** - Переключайтесь между режимами клика и перетаскивания в Настройки → вкладка Соединители
- **Лучшая надежность** - Режим клика обеспечивает более предсказуемое создание соединений
### Импорт пользовательских иконок
- **Импортируйте свои собственные иконки** - Загружайте пользовательские иконки (PNG, JPG, SVG) для использования в ваших диаграммах
- **Автоматическое масштабирование** - Иконки автоматически масштабируются до согласованных размеров для профессионального внешнего вида
- **Переключатель изометрия/плоскость** - Выберите, будут ли импортированные иконки отображаться как 3D изометрические или плоские 2D
- **Умная постоянство** - Пользовательские иконки сохраняются с диаграммами и работают со всеми методами хранения
- **Ресурсы иконок** - Найдите бесплатные иконки на:
- [Iconify Icon Sets](https://icon-sets.iconify.design/) - Тысячи бесплатных SVG иконок
- [Flaticon Isometric Icons](https://www.flaticon.com/free-icons/isometric) - Высококачественные наборы изометрических иконок
### Поддержка хранилища сервера
- **Постоянное хранилище** - Диаграммы сохраняются в файловой системе сервера, сохраняются между сеансами браузера
- **Многоустройственный доступ** - Получайте доступ к вашим диаграммам с любого устройства при использовании развертывания Docker
- **Автоматическое обнаружение** - UI автоматически показывает хранилище сервера, когда оно доступно
- **Защита от перезаписи** - Диалог подтверждения при сохранении с дублирующими именами
- **Интеграция Docker** - Хранилище сервера включено по умолчанию в развертываниях Docker
### Расширенные функции взаимодействия
- **Настраиваемые горячие клавиши** - Три профиля (QWERTY, SMNRCT, Нет) для выбора инструментов с визуальными индикаторами
- **Расширенные элементы управления панорамированием** - Несколько методов панорамирования, включая перетаскивание пустой области, средний/правый щелчок, клавиши модификаторы (Ctrl/Alt) и навигацию с клавиатуры (Стрелки/WASD/IJKL)
- **Переключить стрелки соединителя** - Опция для отображения/скрытия стрелок на отдельных соединителях
- **Постоянный выбор инструмента** - Инструмент соединителя остается активным после создания соединений
- **Диалог настроек** - Централизованная конфигурация для горячих клавиш и элементов управления панорамированием
### Улучшения Docker и CI/CD
- **Автоматизированные сборки Docker** - Рабочий процесс GitHub Actions для автоматического развертывания Docker Hub при коммитах
- **Поддержка мультиархитектуры** - Образы Docker для `linux/amd64` и `linux/arm64`
- **Предварительно собранные образы** - Доступны на `stnsmith/fossflow:latest`
### Архитектура Monorepo
- **Единый репозиторий** для библиотеки и приложения
- **NPM Workspaces** для упрощенного управления зависимостями
- **Единый процесс сборки** с `npm run build` в корне
### Исправления UI
- Исправлена проблема отображения иконок панели инструментов редактора Quill
- Решены предупреждения ключей React в контекстных меню
- Улучшен стиль редактора markdown
## Возможности
- 🎨 **Изометрическое диаграммирование** - Создавайте потрясающие технические диаграммы в стиле 3D
- 💾 **Автосохранение** - Ваша работа автоматически сохраняется каждые 5 секунд
- 📱 **Поддержка PWA** - Установите как нативное приложение на Mac и Linux
- 🔒 **Приоритет конфиденциальности** - Все данные хранятся локально в вашем браузере
- 📤 **Импорт/Экспорт** - Делитесь диаграммами как JSON файлами
- 🎯 **Хранилище сеанса** - Быстрое сохранение без диалогов
- 🌐 **Поддержка офлайн** - Работайте без подключения к интернету
- 🗄️ **Хранилище сервера** - Дополнительное постоянное хранилище при использовании Docker (включено по умолчанию)
- 🌍 **Многоязычный** - Полная поддержка 8 языков: English, 简体中文, Español, Português, Français, हिन्दी, বাংলা, Русский
## 🐳 Быстрое развертывание с Docker
```bash
# Использование Docker Compose (рекомендуется - включает постоянное хранилище)
docker compose up
# Или запустите напрямую из Docker Hub с постоянным хранилищем
docker run -p 80:80 -v $(pwd)/diagrams:/data/diagrams stnsmith/fossflow:latest
```
Хранилище сервера включено по умолчанию в Docker. Ваши диаграммы будут сохранены в `./diagrams` на хосте.
Чтобы отключить хранилище сервера, установите `ENABLE_SERVER_STORAGE=false`:
```bash
docker run -p 80:80 -e ENABLE_SERVER_STORAGE=false stnsmith/fossflow:latest
```
## Быстрый старт (Локальная разработка)
```bash
# Клонировать репозиторий
git clone https://github.com/stan-smith/FossFLOW
cd FossFLOW
# Установить зависимости
npm install
# Собрать библиотеку (требуется в первый раз)
npm run build:lib
# Запустить сервер разработки
npm run dev
```
Откройте [http://localhost:3000](http://localhost:3000) в вашем браузере.
## Структура Monorepo
Это monorepo, содержащий два пакета:
- `packages/fossflow-lib` - Библиотека компонентов React для рисования сетевых диаграмм (собрана с Webpack)
- `packages/fossflow-app` - Прогрессивное веб-приложение для создания изометрических диаграмм (собрано с RSBuild)
### Команды разработки
```bash
# Разработка
npm run dev # Запустить сервер разработки приложения
npm run dev:lib # Режим наблюдения для разработки библиотеки
# Сборка
npm run build # Собрать библиотеку и приложение
npm run build:lib # Собрать только библиотеку
npm run build:app # Собрать только приложение
# Тестирование и линтинг
npm test # Запустить модульные тесты
npm run lint # Проверить ошибки линтинга
# E2E тесты (Selenium)
cd e2e-tests
./run-tests.sh # Запустить сквозные тесты (требуется Docker и Python)
# Публикация
npm run publish:lib # Опубликовать библиотеку в npm
```
## Как использовать
### Создание диаграмм
1. **Добавить элементы**:
- Нажмите кнопку "+" в правом верхнем меню, библиотека компонентов появится слева
- Перетащите компоненты из библиотеки на холст
- Или щелкните правой кнопкой мыши на сетке и выберите "Добавить узел"
2. **Соединить элементы**:
- Выберите инструмент Соединитель (нажмите 'C' или щелкните значок соединителя)
- **Режим клика** (по умолчанию): Щелкните первый узел, затем щелкните второй узел
- **Режим перетаскивания** (опционально): Щелкните и перетащите от первого узла ко второму
- Переключайте режимы в Настройки → вкладка Соединители
3. **Сохранить вашу работу**:
- **Быстрое сохранение** - Сохраняет в сеанс браузера
- **Экспорт** - Скачать как JSON файл
- **Импорт** - Загрузить из JSON файла
### Варианты хранения
- **Хранилище сеанса**: Временные сохранения удаляются при закрытии браузера
- **Экспорт/Импорт**: Постоянное хранилище в виде JSON файлов
- **Автосохранение**: Автоматически сохраняет изменения каждые 5 секунд в сеанс
## Внесение вклада
Мы приветствуем вклад! Пожалуйста, смотрите [CONTRIBUTORS.md](../CONTRIBUTORS.md) для руководства.
## Документация
- [FOSSFLOW_ENCYCLOPEDIA.md](../FOSSFLOW_ENCYCLOPEDIA.md) - Всестороннее руководство по кодовой базе
- [FOSSFLOW_TODO.md](../FOSSFLOW_TODO.md) - Текущие проблемы и дорожная карта
- [CONTRIBUTORS.md](../CONTRIBUTORS.md) - Руководство по внесению вклада
## Лицензия
MIT