{"id":29040393,"url":"https://github.com/text2doc/prinet","last_synced_at":"2026-05-19T09:06:38.921Z","repository":{"id":299614007,"uuid":"1003559186","full_name":"text2doc/prinet","owner":"text2doc","description":"mock dla sieci, do komunikacji z serwerem, rpi, drukarek w sieci","archived":false,"fork":false,"pushed_at":"2025-12-17T11:51:12.000Z","size":350,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-20T06:47:31.499Z","etag":null,"topics":["api","baza-danych","komunikacja","local-network","mssql","printer","rest","server-client","wapromag","warehouse","zebra"],"latest_commit_sha":null,"homepage":"https://text2doc.github.io/prinet/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/text2doc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2025-06-17T10:27:39.000Z","updated_at":"2025-12-17T11:51:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"f45ec5f0-46a6-4de8-ab07-83e02c5083ac","html_url":"https://github.com/text2doc/prinet","commit_stats":null,"previous_names":["text2doc/prinet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/text2doc/prinet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/text2doc%2Fprinet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/text2doc%2Fprinet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/text2doc%2Fprinet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/text2doc%2Fprinet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/text2doc","download_url":"https://codeload.github.com/text2doc/prinet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/text2doc%2Fprinet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33209470,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-19T07:54:09.561Z","status":"ssl_error","status_checked_at":"2026-05-19T07:54:08.508Z","response_time":58,"last_error":"SSL_read: 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":["api","baza-danych","komunikacja","local-network","mssql","printer","rest","server-client","wapromag","warehouse","zebra"],"created_at":"2025-06-26T14:05:10.640Z","updated_at":"2026-05-19T09:06:38.915Z","avatar_url":"https://github.com/text2doc.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Uruchomienie monitoringu (Grafana + Prometheus)\n\nUsługi monitoringu są w profilu `monitoring`. Aby je uruchomić i zweryfikować port 3000:\n\n```bash\ndocker-compose --profile monitoring up -d grafana prometheus\ncurl -I http://localhost:3000\n# Oczekiwany kod HTTP: 302 (redirect do /login)\n```\n\n# WAPRO Network Mock - Test Environment\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Docker](https://img.shields.io/badge/Docker-2CA5E0?style=flat\u0026logo=docker\u0026logoColor=white)](https://www.docker.com/)\n[![Python](https://img.shields.io/badge/Python-3.8%2B-blue.svg)](https://www.python.org/)\n[![Node.js](https://img.shields.io/badge/Node.js-16%2B-green.svg)](https://nodejs.org/)\n[![MSSQL](https://img.shields.io/badge/MSSQL-2019-CC2927?logo=microsoft-sql-server\u0026logoColor=white)](https://www.microsoft.com/sql-server/)\n\n\u003e Mock środowiska sieciowego do testowania integracji z systemem WAPRO, zawierający symulowane serwery RPI, drukarki ZEBRA i bazę danych MSSQL.\n\n## 📚 Dokumentacja\n\n- [API Dokumentacja](docs/API.md) - Opis dostępnych endpointów API\n- [Schemat bazy danych](docs/SQL_Schema.md) - Struktura bazy danych WAPROMAG\n- [Testowanie](docs/Testing.md) - Instrukcje dotyczące testowania\n- [Testy E2E](docs/E2E_Testing.md) - Dokumentacja testów end-to-end\n- [WebEnv Editor](docs/WebEnv.md) - Edytor konfiguracji .env\n- [Komendy ZEBRA](docs/ZEBRA_Commands.md) - Obsługiwane komendy drukarek\n- [Rozwiązywanie problemów](docs/Troubleshooting.md) - Typowe problemy i ich rozwiązania\n- [Propozycje refaktoryzacji](docs/Refactoring.md) - Plan ulepszeń kodu\n\nKompletne środowisko testowe do symulacji sieci WAPRO z bazą danych MSSQL, serwerem RPI i drukarkami ZEBRA.\n\n## 🚀 Szybki start\n\n### Wymagania wstępne\n\n- Docker 20.10+\n- Docker Compose 1.29+\n- Git\n\n### Instalacja\n\n```bash\ngit clone https://github.com/text2doc/prinet\n\n# Konfiguracja środowiska\nmake setup\n\n# Uruchomienie wszystkich serwisów z automatycznymi testami E2E\nmake start\n\n# Sprawdzenie statusu\nmake status\n\n# Uruchomienie testów E2E\nmake test-e2e\n\n# Uruchomienie testów WebEnv\nmake test-webenv\n\n# Uruchomienie wszystkich testów\nmake test\n\n# (Opcjonalnie) Szybsze budowanie obrazów\n# Lepsza wydajność: ustaw zmienną środowiskową i uruchom ponownie\n# Tip: export COMPOSE_BAKE=true\n```\n\n## 🏗️ Architektura\n\n```\nwapro-network-mock/\n├── docker-compose.yml          # Główna konfiguracja Docker\n├── Makefile                   # Automatyzacja zadań\n├── mssql-wapromag/           # Baza danych WAPROMAG\n├── rpi-server/               # Serwer RPI z GUI i API\n├── zebra-printer-1/          # Mock drukarki ZEBRA-001\n├── zebra-printer-2/          # Mock drukarki ZEBRA-002\n├── test-runner/              # Automatyczne testy\n├── monitoring/               # Konfiguracja monitoringu (Grafana + Prometheus)\n└── scripts/                  # Skrypty pomocnicze\n```\n\n## 🌐 Dostępne usługi\n\n| Usługa | Port | Opis |\n|--------|------|------|\n| RPI Server GUI | 8082 | Interfejs użytkownika |\n| RPI Server API | 8081 | API REST |\n| ZEBRA Printer 1 | 8091 | Interfejs drukarki 1 |\n| ZEBRA Printer 2 | 8092 | Interfejs drukarki 2 |\n| ZEBRA Printer 3-6 | 8093-8096 | Interfejsy drukarek 3-6 |\n| WebEnv Editor | 8888 | Edytor konfiguracji .env |\n| Grafana | 3000 | Panel monitoringu |\n| MSSQL Server | 1433 | Baza danych WAPROMAG |\n\n## 🌐 Dostępne interfejsy\n\n- **RPI Server GUI**: http://localhost:8082\n- **RPI Server API**: http://localhost:8081\n- **ZEBRA Printer 1**: http://localhost:8091\n- **ZEBRA Printer 2**: http://localhost:8092\n- **ZEBRA Printer 3-6**: http://localhost:8093-8096\n- **WebEnv Editor**: http://localhost:8888 (edytor .env)\n- **Monitoring**: http://localhost:3000\n- **MSSQL WAPROMAG**: localhost:1433\n\n## 🧪 Testowanie\n\n### Uruchamianie testów\n\n```bash\n# Uruchomienie środowiska z automatycznymi testami E2E\n./scripts/start.sh\n\n# Uruchomienie tylko testów E2E (bez restartu środowiska)\n./scripts/test-e2e.sh\n\n# Wszystkie testy\nmake test\n\n# Testy bazy danych\nmake test-sql\n\n# Testy drukarek\nmake test-zebra\n\n# Testy integracyjne\nmake test-integration\n```\n\n### Testy E2E (End-to-End)\n\nSkrypt `start.sh` automatycznie uruchamia kompleksowe testy E2E, które sprawdzają:\n\n1. **MSSQL WAPROMAG**\n   - Dostępność portu 1433\n   - Możliwość wykonania zapytań SQL\n\n2. **RPI Server**\n   - Dostępność GUI (port 8080)\n   - Dostępność API (port 8081)\n   - Endpoint `/health`\n\n3. **ZEBRA Printer 1**\n   - Interfejs web (port 8091)\n   - Socket ZPL (port 9100)\n   - API status\n\n4. **ZEBRA Printer 2**\n   - Interfejs web (port 8092)\n   - Socket ZPL (port 9101)\n   - API status\n\n5. **Monitoring** (opcjonalne)\n   - Grafana Dashboard (port 3000)\n   - Prometheus (port 9090)\n\n6. **Integracja**\n   - Połączenie RPI → MSSQL\n\n### Preflight i logowanie diagnostyczne\n\nPrzed testami wykonywane są preflight-checki i zbiory logów pomocnych w diagnozie:\n\n- Walidacja `docker-compose.yml`\n- Sprawdzenie dostępności Dockera i docker-compose\n- Podgląd zajętych portów: 8080, 8081, 8091, 8092, 9100, 9101, 1433, 3000\n- W przypadku timeoutów lub błędów HTTP, skrypty drukują nagłówki odpowiedzi i ostatnie linie logów z odpowiednich kontenerów\n\n### Generowanie raportów\n\nWyniki testów są zapisywane w formacie JUnit XML w katalogu `test-results/`.\n\n### Testowanie ręczne\n\n1. **Testowanie drukarek**\n   ```bash\n   # Wysyłanie przykładowej komendy do drukarki 1\n   echo \"~HI\" | nc localhost 9100\n   \n   # Wysyłanie etykiety testowej\n   echo -e \"^XA\\n^FO50,50^A0N,50,50^FDTest Label^FS\\n^XZ\" | nc localhost 9100\n   ```\n\n2. **Testowanie bazy danych**\n   ```bash\n   # Połączenie z bazą danych\n   sqlcmd -S localhost,1433 -U sa -P WapromagPass123!\n   ```\n\n## 🏥 Monitoring i diagnostyka\n\n```bash\n# Stan zdrowia systemu\nmake health\n\n# Logi wszystkich serwisów\nmake logs\n\n# Logi konkretnego serwisu\nmake logs-rpi\nmake logs-zebra1\nmake logs-sql\n```\n\n## 🛠️ Zarządzanie\n\n```bash\n# Restart systemu\nmake restart\n\n# WebEnv - edytor konfiguracji .env\nmake webenv_start    # Uruchom w tle\nmake webenv_stop     # Zatrzymaj\nmake webenv          # Uruchom (blokujący)\n\n# Czyszczenie środowiska\nmake clean\n\n# Backup bazy danych\nmake backup-db\n\n# Przywracanie bazy danych\nmake restore-db\n```\n\n## 📊 Funkcjonalności\n\n### RPI Server\n- ✅ Interfejs użytkownika do zarządzania systemem\n- ✅ REST API do komunikacji zewnętrznej\n- ✅ Integracja z bazą danych WAPROMAG\n- ✅ Obsługa wielu drukarek ZEBRA\n- ✅ Panel monitoringu w czasie rzeczywistym\n\n### Monitorowanie\n- 🚀 Pulpity nawigacyjne Grafana\n- 📊 Metryki wydajności w czasie rzeczywistym\n- 🔔 Alerty i powiadomienia\n- 📈 Monitorowanie stanu drukarek\n\n### Bezpieczeństwo\n- 🔒 Uwierzytelnianie użytkowników\n- 🔑 Bezpieczne przechowywanie haseł\n- 🔄 Automatyczne kopie zapasowe bazy danych\n\n## 🔄 Zarządzanie\n\n### Uruchamianie i zatrzymywanie\n\n```bash\n# Uruchomienie wszystkich usług\nmake start\n\n# Zatrzymanie wszystkich usług\nmake stop\n\n# Restart usług\nmake restart\n\n# Wyświetlenie statusu\nmake status\n```\n\n### Konserwacja\n\n```bash\n# Utworzenie kopii zapasowej bazy danych\nmake backup-db\n\n# Przywrócenie bazy danych z kopii zapasowej\nmake restore-db\n\n# Czyszczenie środowiska\nmake clean\n```\n\n## 🤝 Wsparcie\n\nW przypadku problemów, zapoznaj się z sekcją [Rozwiązywanie problemów](docs/Troubleshooting.md) lub zgłoś nowy problem w zakładce Issues.\n\n## 📄 Licencja\n\nTen projekt jest objęty licencją MIT. Szczegóły znajdują się w pliku [LICENSE](LICENSE).\n- ✅ Testy połączeń z bazą danych\n- ✅ Wysyłanie komend do drukarek ZEBRA\n- ✅ Diagnostyka systemu\n- ✅ Monitoring w czasie rzeczywistym\n\n### Baza danych WAPROMAG\n- ✅ Tabele: Kontrahenci, Produkty, Dokumenty Magazynowe\n- ✅ Stany magazynowe i ruch magazynowy\n- ✅ Konfiguracja drukarek\n- ✅ Szablony etykiet ZPL\n- ✅ Procedury magazynowe\n\n### Drukarki ZEBRA Mock\n- ✅ Symulacja protokołu ZPL\n- ✅ Interfejs web do monitorowania\n- ✅ Obsługa podstawowych komend (~HI, ~HS, PING)\n- ✅ Drukowanie etykiet testowych\n- ✅ Logi operacji\n\n### System testowy\n- ✅ Testy połączeń sieciowych\n- ✅ Testy komunikacji RPI ↔ SQL\n- ✅ Testy komunikacji RPI ↔ ZEBRA\n- ✅ Testy integracyjne end-to-end\n- ✅ Testy wydajnościowe\n- ✅ Automatyczne raporty\n\n## 🔧 Konfiguracja\n\nWszystkie ustawienia można zmienić w pliku `.env`:\n\n```bash\n# Database\nMSSQL_WAPROMAG_PASSWORD=WapromagPass123!\n\n# Printers\nZEBRA_1_NAME=ZEBRA-001\nZEBRA_2_NAME=ZEBRA-002\n\n# Ports\nRPI_GUI_PORT=8080\nRPI_API_PORT=8081\n```\n\n## 🎯 Przypadki użycia\n\n1. **Test komunikacji z WAPROMAG**: Weryfikacja połączeń i zapytań SQL\n2. **Test drukarek ZEBRA**: Sprawdzenie dostępności i drukowania etykiet\n3. **Test workflow**: Pobranie danych z bazy → generowanie etykiety → drukowanie\n4. **Test wydajności**: Obciążenie systemu wieloma równoczesnymi operacjami\n5. **Test diagnostyki**: Monitorowanie stanu wszystkich komponentów\n\n## 📝 Wymagania\n\n- Docker Engine 20.10+\n- Docker Compose 2.0+\n- 4GB RAM (zalecane 8GB)\n- 10GB przestrzeni dyskowej\n\n## 🆘 Rozwiązywanie problemów\n\n```bash\n# Sprawdzenie logów\nmake logs\n\n# Reset środowiska\nmake clean \u0026\u0026 make setup \u0026\u0026 make start\n\n# Test połączeń\nmake health\n\n# Terminal do debugowania\nmake shell-rpi\nmake shell-sql\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftext2doc%2Fprinet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftext2doc%2Fprinet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftext2doc%2Fprinet/lists"}