Загрузка данных


Лабораторная работа №2 
Тема «Веб сайт»
В ходе лабораторных работ по теме «Веб сайт», вами будет реализовано веб приложение на Laravel новостной сайт. Тематика контента на сайте может быть любой. 
Требования к сайту

 1. Общие требования
- Данные должны храниться в базе данных.
- Шапка и подвал сайта должны быть вынесены в отдельные компоненты и подключаться на каждой странице отдельно.
- Навигация должна позволять переходить между основными разделами сайта.

2. Реализация создания и сохранения статей 
Необходимо реализовать создание и сохранение статей в разделе «Журналист». Вывод непосредственно на главной странице всех статей и вывод статей в категории.

 3. Авторизация и регистрация
Необходимо реализовать регистрацию и вход пользователей.
Основные требования:
- Регистрация выполняется **только по логину и паролю**.
- Поля регистрации:
  - логин;
  - пароль;
  - подтверждение пароля.
- Поля входа:
  - логин;
  - пароль.
- Пароль должен храниться в базе данных в хешированном виде.
- Логин должен быть уникальным.
- Необходимо реализовать выход из аккаунта.



 3. Разделы сайта

На сайте необходимо реализовать 4 основных раздела.

3.1. Главная

- Выводятся все опубликованные статьи из базы данных.
- Сортировка статей — от новых к старым.
- Желательно добавить пагинацию.
- В карточке статьи выводится:
  - заголовок;
  - категория;
  - автор; *(задача на подумать)

3.2. Категория / каталог

- Отображаются статьи только одной выбранной категории.
- На первом этапе достаточно вывести одну категорию из общей ленты.
- Например, если сайт посвящён научному прогрессу, можно вывести категорию «Технологии».
- Статьи берутся из базы данных.
- В дальнейшем раздел должен легко расширяться до списка всех категорий.

3.3. Журналист

- Необходимо создать удобный интерфейс для написания и редактирования статей.
- Форма создания статьи должна содержать:
  - заголовок;
  - категорию;
  - полный текст статьи;
- После отправки формы статья должна сохраняться в базе данных.
- После сохранения опубликованная статья должна выводиться:
  - на главной странице;
  - в соответствующей категории / каталоге.