Skip to content

daniel-ciupek/workflow_management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Workflow Management

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.


Spis treści


Stos technologiczny

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)

Wymagania

Nie potrzebujesz lokalnie PHP, Node ani Composer — wszystko działa w kontenerach.


Instalacja i uruchomienie

1. Sklonuj repozytorium

git clone https://github.com/daniel-ciupek/workflow_management.git
cd workflow_management

2. Skopiuj plik środowiskowy

cp .env.example .env

Domyślna konfiguracja działa od razu lokalnie — nie musisz nic zmieniać.

3. Uruchom kontenery

docker compose up -d

Przy pierwszym uruchomieniu Docker pobierze obrazy. Może to zająć kilka minut.

Plik .env.example zawiera COMPOSE_PROFILES=dev — po skopiowaniu do .env kontener node z Vite dev serverem startuje automatycznie razem z pozostałymi serwisami.

4. Wygeneruj klucz aplikacji

docker compose exec app php artisan key:generate

5. Uruchom migracje i seeder

docker compose exec app php artisan migrate --seed

Seeder tworzy konto Super Admina oraz ustawia domyślny PIN pracowników.

6. Otwórz aplikację

http://localhost

Assety frontendowe są serwowane przez Vite dev server działający w kontenerze node — nie musisz nic budować ręcznie podczas developmentu.


Domyślne dane logowania

Administrator (Super Admin)

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.

Pracownicy

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.


Struktura ról

Super Admin

  • 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

Admin

  • 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)

Pracownik

  • 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)

Automatyczna archiwizacja zadań

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.


Konfiguracja produkcyjna

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 HTTPS

Po 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:cache

Obraz na Docker Hub (danielciupek/workflow-management:1.1.0) zawiera już zbudowane assety. Krok npm run build jest wymagany tylko jeśli budujesz własny obraz lub używasz lokalnych plików.


Testy

Uruchom pełny zestaw testów (76 testów, 151 asercji):

docker compose exec app php artisan test

Zakres testów

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

Docker Hub

Obraz aplikacji dostępny publicznie:

danielciupek/workflow-management:1.2.0
docker pull danielciupek/workflow-management:1.2.0

Porty

Port Usługa
8000 / 80 Aplikacja (Nginx)
5173 Vite HMR (dev server)
5432 PostgreSQL

About

Workflow Management

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages