Skip to content

56. Dziennik rozmów kwalifikacyjnych

This content is not available in your language yet.

Dziennik rozmów kwalifikacyjnych

Aplikacja do śledzenia procesu szukania pracy: rejestruj rozmowy kwalifikacyjne (firma, stanowisko, data, status: zaplanowana/odbyta/oferowana/odrzucona/rezygnacja) i notuj uwagi.

  • Modelowania danych z wieloma statusami
  • Filtrowania listy po statusie
  • Pracy z datami (sortowanie po dacie rozmowy)
  • Walidacji URL (link do oferty)

Zarządzanie procesem rekrutacji to realna potrzeba każdego poszukującego pracy. Ta aplikacja uczy projektowania mini-CRM z filtrami i statusami — umiejętności przydatnych w każdym systemie biznesowym.

  1. Formularz dodawania rozmowy (firma, stanowisko, data, URL oferty, status)
  2. Lista rozmów posortowana po dacie
  3. Filtrowanie po statusie
  4. Edycja wpisu (zmiana statusu, dodanie notatki)
  5. Usuwanie wpisu
{
"interviews": [
{
"id": 1,
"company": "Tech Corp Sp. z o.o.",
"position": "Junior PHP Developer",
"date": "2026-03-15",
"url": "https://pracuj.pl/oferta/12345",
"status": "scheduled",
"notes": "Rozmowa zdalna, 3 etapy",
"created_at": "2026-03-01"
}
]
}
  • Formularz dodawania rozmowy
  • Lista z datą i statusem kolorowym
  • Walidacja: firma wymagana, data prawidłowa
  • Zapis do JSON
Ocena: 3.0
<?php
$statuses = ['scheduled', 'completed', 'offered', 'rejected', 'withdrawn'];
$statusLabels = [
'scheduled' => 'Zaplanowana',
'completed' => 'Odbyta',
'offered' => 'Oferta',
'rejected' => 'Odrzucona',
'withdrawn' => 'Rezygnacja',
];
// Walidacja URL (opcjonalne pole)
$url = trim($_POST['url'] ?? '');
if (!empty($url) && !filter_var($url, FILTER_VALIDATE_URL)) {
$errors[] = "Podaj prawidłowy URL oferty";
}
// Walidacja daty
$date = trim($_POST['date'] ?? '');
$dt = DateTime::createFromFormat('Y-m-d', $date);
if (!$dt) {
$errors[] = "Podaj prawidłową datę (RRRR-MM-DD)";
}
// Filtrowanie po statusie
$filter = $_GET['status'] ?? '';
$filtered = empty($filter) ? $data['interviews']
: array_filter($data['interviews'], fn($i) => $i['status'] === $filter);

Twój osobisty tracker rekrutacji!

Zrób coś, czego możesz używać naprawdę — śledź własne aplikacje o pracę pisząc tę aplikację!