Задание для самостоятельной работы – доводим блог до ума

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

Итак, что же нам требуется сделать для того, чтобы наш блог стал похож на настоящий блог.

  1. Комментарии.
    Добавьте возможность добавлять комментарии к статьям. Для хранения комментариев заведите отдельную таблицу – comments. В ней будут храниться:
    • id комментария
    • автор комментария (id пользователя),
    • id статьи, к которой он написан,
    • текст комментария,
    • дата его публикации.

Для добавления комментария к статье стоит использовать url типа /articles/123/comments – сюда будет отправляться POST-запрос. Саму же форму добавления комментария можно сделать непосредственно на странице со статьей. Чтобы было проще – показывайте эту форму только авторизованным пользователям, а для неавторизованных просто пишите текст о том, что нужно зарегистрироваться для добавления комментария. Если POST-запрос выполнился успешно – отправляйте пользователя на страницу статьи с якорем для добавленного комментария. Типа: /articles/123#comment1.

Автор комментария и администратор могут редактировать комментарии по url типа такого: / comments/456/edit. Соответственно, ссылку «Редактировать» рядом с комментом стоит показывать только админам и авторам комментария.

  1. Админка.
    В админку могут попасть только администраторы сайта. Это стоит проверять в контроллере самой админки. Кроме того, в шаблоне стоит проверять является ли текущий пользователь админом. В админке для начала сделайте две страницы – список последних статей и список последних комментариев. Напротив каждой из этих сущностей – кнопку для редактирования. Статьи в админке не нужно показывать целиком – выводите только первые 100 символов текста – для этого в модели Article добавьте метод для получения короткой ссылки.

  2. Включайте фантазию.
    Теперь добавьте что-нибудь от себя – добавьте возможность загружать аватары для пользователей и выводите их в комментариях, добавьте в админке возможность менять название сайта и т.д. – что вам больше понравится, то и делайте. Если фантазия подводит – можно взять блоговый движок, например wordpress, и попробовать реализовать какой-нибудь функционал оттуда.

На это задание я советую потратить вам не менее 24 часов чистого времени – растяните его на несколько дней, в зависимости от того, сколько времени вы можете посвящать этому ежедневно. Можно выделить под это дело выходные – погрузитесь в это задание с головой и получите удовольствие от того, что ваши мысли через ваши пальцы становятся реальностью. Только задумайтесь – еще несколько месяцев назад вы делали первые шаги в программировании, а сегодня – можете реализовывать свои собственные идеи.

Этот урок в этом курсе не последний, но, пожалуй, самый важный. Займитесь им основательно, а затем переходите к следующим. До встречи!

loader
Логические задачи с собеседований