Aplikacja do zarządzania zadaniami dla zespołów. Administratorzy tworzą i przypisują zadania pracownikom. Pracownicy logują się wspólnym PINem, wybierają swoją tożsamość i zarządzają przydzielonymi zadaniami.
- Stos technologiczny
- Wymagania
- Instalacja i uruchomienie
- Domyślne dane logowania
- Struktura ról
- Konfiguracja produkcyjna
- Testy
- Docker Hub
| Warstwa | Technologia |
|---|---|
| Backend | Laravel 13.x (PHP 8.4) |
| Komponenty UI | Livewire 3 + Volt |
| Interaktywność | Alpine.js |
| Stylizacja | Tailwind CSS 3 + DaisyUI 4 |
| Baza danych | PostgreSQL 16.2 |
| Build tool | Vite 8 |
| Web server | Nginx 1.27 |
| Środowisko | Docker (PHP 8.4-fpm-alpine, Node 22-alpine) |
- Docker i Docker Compose
- Git
Nie potrzebujesz lokalnie PHP, Node ani Composer — wszystko działa w kontenerach.
git clone https://github.com/daniel-ciupek/workflow_management.git
cd workflow_managementcp .env.example .envDomyślna konfiguracja działa od razu lokalnie — nie musisz nic zmieniać.
docker compose up -dPrzy pierwszym uruchomieniu Docker pobierze obrazy. Może to zająć kilka minut.
Plik
.env.examplezawieraCOMPOSE_PROFILES=dev— po skopiowaniu do.envkontenernodez Vite dev serverem startuje automatycznie razem z pozostałymi serwisami.
docker compose exec app php artisan key:generatedocker compose exec app php artisan migrate --seedSeeder tworzy konto Super Admina oraz ustawia domyślny PIN pracowników.
http://localhost
Assety frontendowe są serwowane przez Vite dev server działający w kontenerze
node— nie musisz nic budować ręcznie podczas developmentu.
| Pole | Wartość |
|---|---|
| PIN | 000000 |
| Długość | 6 cyfr |
Po zalogowaniu zostaniesz przekierowany do panelu admina.
Zmień domyślny PIN po pierwszym logowaniu: Settings → Admin PIN.
| Pole | Wartość |
|---|---|
| PIN | 1234 |
| Długość | 4 cyfry (wspólny dla wszystkich pracowników) |
Po zalogowaniu PINem pracownika pojawia się ekran wyboru tożsamości — wybierz swoje imię z listy.
PIN pracowników może zmienić wyłącznie Super Admin: Settings → Employee PIN.
- Zarządza wszystkimi administratorami (tworzenie, usuwanie)
- Przypisuje pracowników do dowolnego admina
- Zmienia globalny PIN pracowników
- Ma dostęp do wszystkich danych w systemie
- Tworzy i zarządza zadaniami dla swoich pracowników
- Widzi tylko pracowników przypisanych do siebie
- Może zmieniać swój własny PIN (6 cyfr)
- Loguje się wspólnym 4-cyfrowym PINem
- Wybiera swoją tożsamość z listy po zalogowaniu
- Widzi przypisane aktywne zadania
- Ma dostęp do historii zakończonych zadań (max 5 ostatnich)
Zadania są automatycznie archiwizowane po 24 godzinach od utworzenia przez dedykowany serwis schedulera (php artisan schedule:work) działający jako osobny kontener Docker. Na każdego pracownika przechowywanych jest maksymalnie 5 ostatnich zarchiwizowanych zadań — starsze są usuwane automatycznie wraz z załącznikami.
Przed wdrożeniem na serwer ustaw w pliku .env:
APP_ENV=production
APP_DEBUG=false
APP_URL=https://twoja-domena.pl
LOG_LEVEL=warning
SESSION_ENCRYPT=true
SESSION_SECURE_COOKIE=true # wymaga HTTPSPo deploymencie uruchom:
# Zbuduj assety (jednorazowo — kontener node nie startuje na produkcji)
docker compose --profile dev run --rm node npm run build
# Uruchom migracje i zoptymalizuj aplikację
docker compose exec app php artisan migrate --force
docker compose exec app php artisan config:cache
docker compose exec app php artisan route:cache
docker compose exec app php artisan view:cacheObraz na Docker Hub (
danielciupek/workflow-management:1.1.0) zawiera już zbudowane assety. Kroknpm run buildjest wymagany tylko jeśli budujesz własny obraz lub używasz lokalnych plików.
Uruchom pełny zestaw testów (76 testów, 151 asercji):
docker compose exec app php artisan test| Obszar | Liczba testów |
|---|---|
| Autentykacja PIN (admin + pracownik, rate limiting) | 11 |
| Middleware dostępu (IsAdmin, IsEmployee) | 6 |
| Zarządzanie pracownikami (CRUD, cascade delete) | 8 |
| Zarządzanie zadaniami (CRUD, archiwizacja) | 8 |
| Historia zadań admina | 3 |
| Dashboard pracownika | 3 |
| Zmiana PINów (walidacja, weryfikacja) | 8 |
| Obserwator zadań (czyszczenie, pruning) | 5 |
| Komenda archiwizacji (logika 24h) | 4 |
| Uprawnienia admina (super vs regularny) | 7 |
| Inne | 3 |
Obraz aplikacji dostępny publicznie:
danielciupek/workflow-management:1.2.0
docker pull danielciupek/workflow-management:1.2.0| Port | Usługa |
|---|---|
8000 / 80 |
Aplikacja (Nginx) |
5173 |
Vite HMR (dev server) |
5432 |
PostgreSQL |