Створити веб-застосунок «Міський новинний портал» на базі Django. Користувачі можуть переглядати новини та статті міста, шукати матеріали, коментувати їх та зберігати для подальшого читання.
Частина функціоналу доступна лише після авторизації користувача. Окремо необхідно реалізувати адміністративну панель для керування контентом, користувачами та налаштуваннями порталу.
Для кожної статті повинна відображатися така інформація:
- Назва статті
- Автор
- Дата публікації
- Теги
- Короткий опис або прев’ю
- Основний текст статті
- Кількість переглядів
Реалізувати можливість сортування матеріалів за:
- датою публікації;
- автором;
- тегами.
Реалізувати пошук статей за ключовими словами.
Користувач вводить слово:
дороги
У результатах повинні відображатися всі статті, у яких це слово зустрічається:
- у назві;
- у тексті статті.
Необхідно реалізувати:
- реєстрацію користувачів;
- вхід за логіном і паролем;
- вихід із системи.
- усіх матеріалів сайту;
- коментування;
- збереження статей.
Авторизовані користувачі можуть:
- додавати статті до списку «Прочитати пізніше»;
- переглядати список збережених матеріалів.
Авторизовані користувачі можуть:
- залишати коментарі під статтями;
- редагувати або видаляти власні коментарі (за бажанням).
Створити роль/групу:
Адміністратор
До групи можуть входити декілька користувачів.
Адміністратор може:
- публікувати новини та статті;
- редагувати матеріали;
- видаляти матеріали.
Адміністратор може:
- додавати користувачів;
- видаляти користувачів;
- переглядати список користувачів.
Реалізувати систему блокування користувачів на певний термін:
- 1 день;
- 1 тиждень;
- 1 місяць;
- назавжди.
- не може авторизуватися;
- або не може залишати коментарі (на вибір реалізації).
Адміністратор може:
- видаляти коментарі користувачів;
- модерувати неприйнятний контент.
Адміністратор може змінювати:
- колір фону сайту;
- колір шрифту;
- розмір шрифту.
Зберігати налаштування у базі даних.
Адміністратор може переглядати рейтинги статей за:
- найпопулярніші статті.
- найбільш обговорювані статті.
- матеріали, які найчастіше додають у «Прочитати пізніше».
Користувачі системи.
Статті та новини.
Теги статей.
Коментарі користувачів.
Збережені матеріали.
Інформація про блокування користувачів.
Налаштування дизайну сайту.
- Python
- Django
- Django ORM
- SQLite / PostgreSQL
- HTML5
- CSS3
- Bootstrap / Tailwind CSS
- JavaScript
- Лайки статей
- REST API на Django REST Framework
- Темна тема
- Аватари користувачів
- Email-підтвердження реєстрації
- Пагінація
- Категорії новин
- Система сповіщень
- WebSocket-чат або live-коментарі
У результаті повинен бути створений повноцінний веб-застосунок новинного порталу з:
- системою авторизації;
- ролями користувачів;
- адміністративною панеллю;
- пошуком і сортуванням;
- коментарями;
- статистикою;
- налаштуванням дизайну.
Проєкт має бути реалізований на Django з використанням бази даних та сучасного адаптивного інтерфейсу.