Core - moduł technologiczny WiseB2B
Wstęp
Core to podstawowy moduł technologiczny systemu WiseB2B, który zawiera fundamentalne komponenty i narzędzia niezbędne do funkcjonowania całej platformy. Moduł ten stanowi rdzeń systemu i dostarcza:
- Podstawową infrastrukturę aplikacji
- Komponenty bazowe wykorzystywane przez inne moduły
- Narzędzia deweloperskie i diagnostyczne
- Wspólne interfejsy i abstrakcje
- Mechanizmy bezpieczeństwa i autoryzacji
- Standardowe biblioteki i usługi
Moduł Core jest niezbędny do prawidłowego działania wszystkich pozostałych modułów systemu WiseB2B i zapewnia spójność technologiczną całego rozwiązania.
Zawartość dokumentacji Core
W poniższej dokumentacji znajdziesz:
- Opis architektury systemu WiseB2B
- Opis architektury backendu, i zasad programowania
- Jak zainstalować system, i środowisko developerskie
- Tutoriale, zawierające lekcje szybkiego programowania
- Tips&Trick
Podstawowe technologie używane przez system
- Język programowania: PHP (backend), JS|TS (frontend)
- Framework: Symfony (backend), React (frontend)
- Baza danych: PostgreSQL;MySQL (rekomendowana PostgreSQL)
- Zalecany system operacyjny: Linux (Ubuntu lub inna dystrybucja), ale środowisko deweloperskie można też skonfigurować na Mac, Windows (WSL)
- NGINX jako serwer WWW
- Composer jako menedżer zależności
- Docker jako środowisko uruchomieniowe
- Kolejkowanie: RabbitMQ
- Cache: Redis
- Testy: Codeception
- CI/CD: GitHub Actions
- Monitoring: Sentry, Healthchecks
Konieczne umiejętności developerskie
Aby efektywnie pracować przy rozwoju systemu WiseB2B, developer powinien posiadać następujące umiejętności i kompetencje:
Podstawowe wymagania techniczne
- Bardzo dobra znajomość PHP 8.x, w tym typów statycznych i najnowszych funkcjonalności języka
- Dobra znajomość frameworka Symfony (min. wersja 6.x)
- Znajomość wzorców projektowych, szczególnie DDD (Domain-Driven Design)
- Doświadczenie w pracy z bazami danych PostgreSQL/MySQL
- Znajomość systemu kontroli wersji Git
- Podstawowa znajomość Docker i docker-compose
- Umiejętność pisania testów jednostkowych i funkcjonalnych (Codeception)
Dodatkowe umiejętności techniczne
- Znajomość RabbitMQ i systemów kolejkowania
- Doświadczenie w pracy z Redis
- Podstawowa znajomość NGINX
- Umiejętność korzystania z narzędzi CI/CD (GitHub Actions)
- Znajomość systemów monitoringu (Sentry, Healthchecks)
- Podstawowa znajomość TypeScript/JavaScript i React (pomocna przy integracji z frontendem)
Umiejętności miękkie i organizacyjne
- Umiejętność czytania i analizy dokumentacji technicznej
- Umiejętnosć korzystania z nowoczesnych środowisk deweloperskich wspieranych AI, takich jak Cursor
- Zdolność do szybkiego uczenia się i adaptacji do nowych technologii
- Umiejętność pracy w zespole i komunikacji z innymi developerami
- Dbałość o jakość kodu i przestrzeganie standardów kodowania
- Umiejętność rozwiązywania problemów i analitycznego myślenia
- Znajomość metodyk zwinnych (Agile)
Znajomość dobrych praktyk
- Clean Code i SOLID
- Wzorce projektowe i architektoniczne
- Zasady bezpieczeństwa aplikacji webowych
- Optymalizacja wydajności aplikacji
- Umiejętność pisania testowalnego kodu
Mile widziane
- Doświadczenie w projektach B2B
- Znajomość systemów ERP i procesów biznesowych
- Podstawowa znajomość Linux/Unix
- Doświadczenie w pracy z systemami rozproszonym
- Znajomość zagadnień związanych z wysoką dostępnością (HA) i skalowalnością
Od czego zacząć?
Jeśli jesteś nowym developerem realizującym rozwój systemu lub wdrożenie, zalecamy następującą ścieżkę zapoznania się z systemem:
-
Zapoznaj się z architekturą i podstawowymi założeniami
- Przeczytaj dokument Architektura backend WiseB2B, który zawiera opis głównych założeń i celów systemu
-
Skonfiguruj środowisko deweloperskie
- Postępuj zgodnie z instrukcjami instalacji i konfiguracji środowiska (dokumentacja w przygotowaniu)
- Upewnij się, że masz zainstalowane wszystkie wymagane narzędzia i zależności
-
Przejdź przez tutorial
- Rozpocznij od Lekcji 1 - Podstawy architektury, która wprowadzi Cię w strukturę projektu
- Kolejne lekcje będą dostępne wkrótce
-
Poznaj przydatne wskazówki
- Sprawdź sekcję Tips&Tricks zawierającą praktyczne porady i najlepsze praktyki
-
Zacznij od prostych zadań
- Po zapoznaniu się z podstawami, rozpocznij od prostych zadań, które pozwolą Ci praktycznie poznać system
- Konsultuj się z bardziej doświadczonymi członkami zespołu
Pamiętaj, że dokumentacja jest stale rozwijana i aktualizowana. W razie pytań lub wątpliwości, nie wahaj się kontaktować z zespołem deweloperskim.
⚠️ UWAGA! Gorąco polecamy również korzystanie z wskazówek generowanych przez środowisko Cursor. Kod systemu został tak przygotowany, aby Cursor mógł Ci udzielić wszelkich wskazówek i odpowiedzi na pytania podczas tworzenia oprogrmowania.