Skip to content

Instantly share code, notes, and snippets.

@sunmeat
Created May 20, 2026 09:47
Show Gist options
  • Select an option

  • Save sunmeat/97776bd312528757dafa6070acd03be9 to your computer and use it in GitHub Desktop.

Select an option

Save sunmeat/97776bd312528757dafa6070acd03be9 to your computer and use it in GitHub Desktop.
ідея для фінального проєкту

Фінальний проєкт на Django Python

«Міський новинний портал»

Опис проєкту

Створити веб-застосунок «Міський новинний портал» на базі Django. Користувачі можуть переглядати новини та статті міста, шукати матеріали, коментувати їх та зберігати для подальшого читання.

Частина функціоналу доступна лише після авторизації користувача. Окремо необхідно реалізувати адміністративну панель для керування контентом, користувачами та налаштуваннями порталу.


Основний функціонал порталу

1. Відображення статей

Для кожної статті повинна відображатися така інформація:

  • Назва статті
  • Автор
  • Дата публікації
  • Теги
  • Короткий опис або прев’ю
  • Основний текст статті
  • Кількість переглядів

2. Сортування статей

Реалізувати можливість сортування матеріалів за:

  • датою публікації;
  • автором;
  • тегами.

3. Пошук статей

Реалізувати пошук статей за ключовими словами.

Приклад:

Користувач вводить слово:

дороги

У результатах повинні відображатися всі статті, у яких це слово зустрічається:

  • у назві;
  • у тексті статті.

4. Реєстрація та авторизація користувачів

Необхідно реалізувати:

  • реєстрацію користувачів;
  • вхід за логіном і паролем;
  • вихід із системи.

Після авторизації користувач отримує доступ до:

  • усіх матеріалів сайту;
  • коментування;
  • збереження статей.

5. Збереження матеріалів

Авторизовані користувачі можуть:

  • додавати статті до списку «Прочитати пізніше»;
  • переглядати список збережених матеріалів.

6. Коментарі

Авторизовані користувачі можуть:

  • залишати коментарі під статтями;
  • редагувати або видаляти власні коментарі (за бажанням).

Адміністративна частина

7. Ролі та права доступу

Створити роль/групу:

Адміністратор

До групи можуть входити декілька користувачів.


Можливості адміністратора

8. Керування статтями

Адміністратор може:

  • публікувати новини та статті;
  • редагувати матеріали;
  • видаляти матеріали.

9. Керування користувачами

Адміністратор може:

  • додавати користувачів;
  • видаляти користувачів;
  • переглядати список користувачів.

10. Бан користувачів

Реалізувати систему блокування користувачів на певний термін:

  • 1 день;
  • 1 тиждень;
  • 1 місяць;
  • назавжди.

Заблокований користувач:

  • не може авторизуватися;
  • або не може залишати коментарі (на вибір реалізації).

11. Модерація коментарів

Адміністратор може:

  • видаляти коментарі користувачів;
  • модерувати неприйнятний контент.

Налаштування зовнішнього вигляду

12. Кастомізація дизайну

Адміністратор може змінювати:

  • колір фону сайту;
  • колір шрифту;
  • розмір шрифту.

Бажано:

Зберігати налаштування у базі даних.


Статистика та аналітика

13. Статистика статей

Адміністратор може переглядати рейтинги статей за:

Кількістю переглядів

  • найпопулярніші статті.

Кількістю коментарів

  • найбільш обговорювані статті.

Кількістю збережень

  • матеріали, які найчастіше додають у «Прочитати пізніше».

Рекомендована структура моделей Django

User

Користувачі системи.

Article

Статті та новини.

Tag

Теги статей.

Comment

Коментарі користувачів.

SavedArticle

Збережені матеріали.

Ban

Інформація про блокування користувачів.

SiteSettings

Налаштування дизайну сайту.


Технології

Backend

  • Python
  • Django
  • Django ORM
  • SQLite / PostgreSQL

Frontend

  • HTML5
  • CSS3
  • Bootstrap / Tailwind CSS
  • JavaScript

Додаткові можливості (за бажанням)

  • Лайки статей
  • REST API на Django REST Framework
  • Темна тема
  • Аватари користувачів
  • Email-підтвердження реєстрації
  • Пагінація
  • Категорії новин
  • Система сповіщень
  • WebSocket-чат або live-коментарі

Очікуваний результат

У результаті повинен бути створений повноцінний веб-застосунок новинного порталу з:

  • системою авторизації;
  • ролями користувачів;
  • адміністративною панеллю;
  • пошуком і сортуванням;
  • коментарями;
  • статистикою;
  • налаштуванням дизайну.

Проєкт має бути реалізований на Django з використанням бази даних та сучасного адаптивного інтерфейсу.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment