Сайт создан при помощи фреймворка Django 6.0.1, и используется в качестве портфолио.
Основной функционал - размещение и просмотр постов в виде заголовка и текста с картинкой. Сайт работает с базой данных PostgreSQL 18, где реализованы все виды связей между таблицами:
- многие к одному (таблица `blog_posts` связана с таблицами `users_user`, `blog_category`),
- многие ко многим (таблица `blog_posts` связана с таблицей `blog_tagpost`),
- один ко одному (таблица `blog_posts` связана с таблицей `blog_stuff`, которая в шаблонах временно не отображается).
Внутри проекта реализовано два приложения:
- "blog" описывает логику работу с непосредственно с постами,
- "users" - логику регистрации, аутентификации, авторизации пользователей.
На главной странице сайта размещаются посты с настроенной пагинацией и кэшированием на уровне представления, где видны заголовок, картинка, текст, автор и дата обновления. Внутри поста - более подробная информация, которая может включать в себя кликабельные теги и дополнительные материалы (последние временно не отображаются). Слева представлены возможные категории постов, сверху имеется отдельный строгий поиск по заголовку, тексту, автору и категориям. В меню сайта зарегистрированному пользователю представлена возможность создания собственного поста. Вход и регистрация расположены в правой части меню. Так же имеются функции редактирования профиля, смены пароля, сброса пароля через электронную почту, входа на сайт через GitHub. На большинстве форм для заполнения имеется поле с капчей.