Django projekt - Peter Pekny - Popis Projektu
Dokumentácia k Django projektu
1. Prehľad projektu
Tento projekt je vytvorený pomocou frameworku Django a slúži ako správca článkov s podporou komentárov, kategórií, vyhľadávania a administračného rozhrania. Obsah článkov aj komentárov je spravovaný pomocou CKEditor5. Používatelia majú možnosť prihlasovania cez Google alebo GitHub cez django-allauth
.
2. Použité technológie
- Backend:
- Python 3.x
- Django 5.x
- SQLite (alebo iná databáza)
- CKEditor5 (cez
django-ckeditor-5
) adminsortable2
pre radenie článkovDjango allauth
- Gunicorn + Nginx (produkčné nasadenie)
- mailserver:
mail.pekny.online
- Frontend:
- Bootstrap, Font Awesome, CSS, HTML, JavaScript
3. Modely a databázový návrh
Projekt obsahuje tri hlavne modely:
Category
- Reprezentuje tematickú kategóriu článkov
- Atribúty:
id
,name
- Vzťah: 1:N s modelom
Article
Article
- Reprezentuje hlavný obsah: článok
- Atribúty:
id
,title
,short_description
,content
,created_at
,image
,category
,order
,is_deleted
,visibility
- Obsah formátovaný cez CKEditor5
- Vzťahy:
- M:N cez kategóriu (každý článok môže patriť do jednej kategórie)
- 1:N s modelom
Comment
Comment
- Komentár ku článku
- Atribúty:
id
,article
,author
,comment
,created_at
author
je referenciou na DjangoUser
model
4. Vzťahy medzi modelmi
Category
→Article
: 1 ku NArticle
→Comment
: 1 ku NUser
→Comment
: 1 ku N
5. Funkcionalita projektu
- Vytváranie a editácia článkov v administračnom rozhraní
- Radenie článkov v rámci kategórie cez drag&drop
- Pridávanie komentárov registrovanými užívateľmi
- Vyhľadávanie článkov podľa textu (s obmedzením na min. 3 znaky)
- Kontaktný formulár pre zasielanie emailov
6. Bezpečnosť a autentifikácia
- Registrácia a prihlásenie cez Google alebo GitHub (
django-allauth
) - Vlastný mail server (
mail.pekny.online
) pre odosielanie emailov - Validácia vstupov cez Django formuláre
7. Možnosti rozšírenia
- Hodnotenie článkov pomocou hviezdiček (rating)
- E-mailové notifikácie pre komentáre
- Možnosť nahlasovania nevhodných komentárov
- Rozšírenie vyhľadávania o filter podľa kategórie alebo dátumu
8. Záver
Projekt predstavuje ucelený systém pre publikovanie a správu obsahu s podporou prihlásenia, komentárov a vyhľadávania. Dokumentácia slúži ako sprievodca k architektúre projektu a môže byť základom pre jeho ďalší vývoj.
Komentáre ku článku
Zatiaľ žiadne komentáre.