Найти в Дзене

Из чего состоит движок блога?

Привет! Чтобы отслеживать прогресс своего обучения я решил вести блог с записями о том, что я освоил, что — еще планирую освоить. Я мог бы взять какой-нибудь готовый движок, например, WordPress, но я посчитал это отличной идеей для обучения. Я решил сделать свой движок. Итак, какая функциональность должна быть у движка с блогом? Записи Очевидно, блог должен содержать записи. Я описывал в предыдущей статье паттерн MVC. так вот в этом паттерне запись — это модель. Модель записи содержит в себе следующие данные: Комментарии Пользователи должны иметь возможность комментировать записи. Помимо прочего, все современные площадки имеют иерархические комментарии — это значит, что пользователь может оставлять комментарий не только к самой записи, но и к комментарию другого пользователя. Модель комментария должна выглядеть примерно следующим образом: Пользователи Владельцы контента в блоге — пользователи. Соответственно, должна быть возможность зарегистрироваться, авторизоваться. Должны быть пр
Оглавление

Привет! Чтобы отслеживать прогресс своего обучения я решил вести блог с записями о том, что я освоил, что — еще планирую освоить. Я мог бы взять какой-нибудь готовый движок, например, WordPress, но я посчитал это отличной идеей для обучения. Я решил сделать свой движок.

Итак, какая функциональность должна быть у движка с блогом?

Изображение из фотобанка
Изображение из фотобанка

Записи

Очевидно, блог должен содержать записи. Я описывал в предыдущей статье паттерн MVC. так вот в этом паттерне запись — это модель.

Модель записи содержит в себе следующие данные:

  • Название записи
  • Дата записи
  • Автор записи
  • Текст записи

Комментарии

Пользователи должны иметь возможность комментировать записи. Помимо прочего, все современные площадки имеют иерархические комментарии — это значит, что пользователь может оставлять комментарий не только к самой записи, но и к комментарию другого пользователя.

Модель комментария должна выглядеть примерно следующим образом:

  • Идентификатор поста, к которому оставлен комментарий
  • Идентификатор родительского комментария
  • Автор комментария
  • Дата комментария
  • Текст комментария

Пользователи

Владельцы контента в блоге — пользователи. Соответственно, должна быть возможность зарегистрироваться, авторизоваться. Должны быть проверки на права пользователей — один пользователь не должен редактировать и\или удалять записи и комментарии других пользователей и наоборот, должен иметь возможности управления своим контентом.

Должны быть администраторы — для управления пользователями и контентом в целом на сайте

Помимо прочего, все современные движки должны иметь возможность авторизовываться и регистрироваться с помощью социальных сетей.

Рейтинги

Все любят рейтинги, лайки. Необходима возможность оценивать посты, комментарии.

Интеграция

В современном мире, когда агрегаторы есть вообще на все, необходима возможность выгружать данные на сторонние ресурсы, например — на Яндекс.Дзен. Я хочу писать пост в одном месте — у себя в блоге, а он должен транслироваться сюда, в блог на Дзене.

Пользовательский интерфейс

Очевидно, любой сайт — это в первую очередь визуализация контента. В паттерне MVC это часть View — представление. Для начала я планирую использовать UI Framework, разработанный небезысвестной компанией Twitter — Bootstrap. Позже - перейти на что-то более интересное. Например, мне приглянулся Codyhouse.

Прочее

В этот раздел я отнесу все, что является побочной функциональностью. Чаще всего она будет находиться в третьей и последней части паттерна MVC - контроллерах. Здесь речь идет о проверке прав пользователей, получении и сохранении данных в базу. О присваивании базовых ролей пользователям при регистрации и прочее, прочее.

Что уже реализовано?

На данный момент, на моей тестовой площадке реализовано:

  • Регистрация\авторизация пользователей
  • Добавление постов
  • Какой-никакой пользовательский интерфейс
  • Дальше — то, что описано выше и это самый минимум.

За прогрессом можно следить на моей тестовой площадке, я стараюсь её активно развивать и не терять мотивацию — эти веб-разработка очень хороша, потому что ты сразу видишь результаты своей работы!

Если вам интересен мой путь обучения, подписывайтесь на канал, задавайте вопросы, буду рад ответить и пообщаться.