Wszystkie projekty
Ukończony

Blog

Pełny blog: treść, media, panel admina, wielojęzyczność, API, testy i deploy.

O projekcie

Budujemy blog stopniowo, w pięciu częściach. Część I (Blog podstawowy): instalacja, fundament (User i bezpieczeństwo), encje, lista z paginacją, strona artykułu, kategorie i tagi, komentarze oraz ręczny panel administracyjny — po niej masz działający blog. Część II (Bogata treść i media): Markdown z kolorowaniem kodu, obrazki, wideo i audio, upload mediów i eksport do PDF. Część III (Wielojęzyczność): tłumaczenia artykułów i kategorii wzorcem Translation Table, slug per język, hreflang i przełącznik języka. Część IV (API): publiczne REST API z DTO i OpenAPI oraz API admina z tokenem i rate limitingiem. Część V (Jakość i wdrożenie): testy jednostkowe i funkcjonalne oraz deployment z SEO. Możesz zatrzymać się po części I i mieć działający blog, a kolejne części dołożyć później.

Rozdziały 21

Część I — Blog podstawowy
1
Rozdział 1: Instalacja i konfiguracja
Start projektu Symfony 8 w Dockerze — stack, struktura i konwencje bloga.
Opublikowany
2
Rozdział 2: Fundament — User, bezpieczeństwo i użytkownicy
Encja User, security.yaml i UserFixtures — wspólny fundament, na którym stoi blog.
Opublikowany
3
Rozdział 3: Encje bloga — migracja i fixtures
BlogArticle, BlogCategory, BlogTag i BlogComment — relacje, migracja i dane testowe.
Opublikowany
4
Rozdział 4: Lista artykułów z paginacją
BlogController, zapytanie opublikowanych artykułów i paginacja przez Pagerfanta.
Opublikowany
5
Rozdział 5: Strona artykułu
Widok artykułu: slug, markdown, licznik odsłon i „ostatnio oglądane”.
Opublikowany
6
Rozdział 6: Kategorie i tagi
Filtrowanie artykułów po kategorii i tagu przez dodatkowy JOIN w repozytorium.
Opublikowany
7
Rozdział 7: Komentarze
BlogComment z wątkami (self-referencing), formularz, zapis i moderacja.
Opublikowany
8
Rozdział 8: Panel administracyjny
Ręczny CRUD artykułów, kategorii i tagów z auto-slug, statusami i ochroną ROLE_ADMIN.
Opublikowany
Część II — Bogata treść i media
9
Rozdział 9: Osadzanie kodu i kolorowanie składni
Bloki kodu w Markdown i kolorowanie składni przez highlight.js — bogata treść artykułu.
Opublikowany
10
Rozdział 10: Obrazki w artykule
Dwie drogi: obrazki inline w Markdown i galeria mediów przez encję BlogMedia.
Opublikowany
11
Rozdział 11: Wideo i audio
Osadzanie wideo i audio przez BlogMedia z fallbackiem i kolejnością.
Opublikowany
12
Rozdział 12: Upload i zarządzanie mediami w adminie
Dobudowa panelu: bezpieczny upload plików, walidacja i powiązanie z artykułem.
Opublikowany
13
Rozdział 13: Eksport artykułu do PDF
Spatie Browsershot + headless Chromium — PDF z żywego widoku artykułu.
Opublikowany
Część III — Wielojęzyczność
14
Rozdział 14: Tłumaczenia artykułów
Translation Table Pattern: BlogArticleTranslation, slug per język, hreflang i canonical.
Opublikowany
15
Rozdział 15: Tłumaczenia kategorii i generowanie AI
BlogCategoryTranslation, panel tłumaczeń w adminie i generowanie treści przez AI.
Opublikowany
Część IV — API
16
Rozdział 16: REST API bloga
Publiczne endpointy GET z DTO i dokumentacją OpenAPI (NelmioApiDoc).
Opublikowany
17
Rozdział 17: API admina, uwierzytelnianie i rate limiting
Endpointy admina (POST/PATCH/DELETE), token Bearer i ograniczanie liczby żądań.
Opublikowany
Część V — Jakość i wdrożenie
18
Rozdział 18: Testy jednostkowe
PHPUnit 13 — testy encji, repozytoriów (KernelTestCase + DAMA) i serwisów z mockami.
Opublikowany
19
Rozdział 19: Testy funkcjonalne
WebTestCase — testy stron, formularzy, autoryzacji i API na bazie realnego BlogControllerTest.
Opublikowany
20
Rozdział 20: Deployment
Produkcyjny Docker (multi-stage), overlay compose.prod, CI/CD i bezpieczne migracje.
Opublikowany
21
Rozdział 21: SEO
Sitemap XML, hreflang i canonical (z wielojęzyczności) oraz meta tagi Open Graph.
Opublikowany

Technologie

CRUD Markdown Media/PDF Wielojęzyczność REST API Testy

Postęp

Opublikowane 21
W trakcie 0
Planowane 0

Linki