Conditions.
Тестовое задание необходимо выполнить на языке PHP с использованием Laravel Framework.
Description of technical specifications.
Необходимо разработать платформу по размещению проектов. Проекты должны делится на категории Startup и Business.
Main page.
Header. Меню должно состоять из следующих пунктов:
- Главная - вовзращает пользователя на главную страницу.
- Авторизация / Регистрация - отображение необходимо только неавторизированным пользователям.
- Имя пользователя / Выход - отображение необходимо только авторизированным пользователям.
Body.
- Страница содержит список всех зарегистрированнных проектов.
- Сортировка. Варианты сортировки - Снизу-вверх, по категории, по имени. Последний добавленный проект - сверху (default).
- У каждого проект, помимо описания, должно быть указано имя пользователя.
- Если пользователь авторизован, ему становится доступна форма регистрации проекта.
- Описание проекта не может быть пустым (или состоять только из пробелов). При попытке отправки такого описания проекта - пользователю выдается предупреждение “Проект не может быть зарегистрирован с данным описанием”. Данное сообщение должно находиться под полем ввода описания.
- После успешной регистрации проекта, проект пользователя сразу появляется на главной странице.
Authorization page.
- В случае неуспешной авторизации, пользователю выводится сообщение “Вход в систему с указанными данными невозможен”.
Registration page.
- Требования к email и паролю пользователя могут быть произвольными (на усмотрение разработчика), либо вовсе отсутствовать.
- В случае неуспешной регистрации, каждое некорректно заполненное поле должно быть снабжено сообщением об ошибке, которое выводится под полем ввода.