Skip to main content

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:

  1. Opis architektury systemu WiseB2B
  2. Opis architektury backendu, i zasad programowania
  3. Jak zainstalować system, i środowisko developerskie
  4. Tutoriale, zawierające lekcje szybkiego programowania
  5. 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:

  1. Zapoznaj się z architekturą i podstawowymi założeniami

  2. 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
  3. Przejdź przez tutorial

  4. Poznaj przydatne wskazówki

    • Sprawdź sekcję Tips&Tricks zawierającą praktyczne porady i najlepsze praktyki
  5. 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.