Решение тестового задания по вакансии фирмы ФИНТЕРРА
Текст задания в Task.md
- PHP 7.2.2
- MySql 8.0.11
- Apache/2.4.29
Работоспособность приложения проверялась только с такими версиями ПО, с другим ПО может работать не так как ожадается :)
- Клонировать репозиторий
- Выполнить команду
composer install
(в корневом каталоге репозитория) - Если файл
.env
не будет создан, то файл.env.example
переименовать в.env
- В файле
.env
для параметров задать значения соответствующие настройкам сервера СУБД (MySql):
DB_HOST=
DB_PORT=
DB_USERNAME=
DB_PASSWORD=
- Обязательно для параметра
DB_DATABASE
установить указанное значение:
DB_DATABASE=fterra_text_share
- Если для параметра
APP_KEY=
не задано значение, то спросить у гугла как правильно этот параметр инициализировать, я не подскажу - Настроить работу веб сервера с СУБД
- На сервере СУБД выполнить скрипт :
CREATE SCHEMA IF NOT EXISTS fterra_text_share
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci;
- Выполнить миграцию (команду вызывать в корне приложения):
php artisan migrate
--path=/database/migrations/2019_07_05_120154_create_pastes_table.php
- Настроить директорию public как доступную для внешних веб запросов
- настроить переадресацию всех запросов на обработку скриптом
public/index.php
Приложение настроено готово к работе
Инструкция иклютельно теоритическая, на практике не проверялась
- В браузере открыть страницу приложения (адрес
/
относительно имени хоста приложения) - Будет загружена форма публикации заметки
- Под формой будут загружены ссылки на последние 10 публичных заметок
- Для заметок без названия в качестве названия (Title) будет указано "Заметка без названия"
- При сбое запроса 10-ти последних заметок в консоле браузера будет сообщение "Fail obtain notes", сообщение для пользователя не предусмотрено
- Заполнить поля формы, название (Title) не обязательно для заполнения
- Заметка с доступностью (Accessibility)
public
может быть показана в блоке последних 10-ти опубликованных заметок - Заметка с доступностью (Accessibility)
unlisted
не будет размещена в блоке последних 10-ти опубликованных заметок - Заметка перестанет быть доступной (по ссылке) после истечения времени заданного параметром истечение (Expiration), при этом необходимо иметь ввиду, что выбор значения "без ограничения" делает заметку доступной пожизненно
- Нажать кнопку "Сохранить заметку"
- Заметка будет записана в базу данных
- При удачном выполнении операции будет открыта страница созданной заметки
- При сбое сохранения заметки в интерфейсе пользователя ни что об этом не скажет, при сбое запроса к серверу в консоле браузера будет сообщение "Fail post note data", при сбое сохранения заметки будет сообщение "Fail share note"
- Перейдите в браузере по ссылке заметки
- Заметка будет загружена
- При загрузке заметки если на сервере произошёл сбой обработки запроса, то в консоле браузера будет сообщение "Fail get note by link", или если ответ сервера не содержит информации о заметке, то будет сообщение "Empty data, nothing to view". Для пользовательского интерфейса сообщения об ошибках не предусмотрены
- Вернуться на страницу добавления заметки можно по ссылке "Список заметок"
- Адрес ссылки на загруженную заметку можно скопировать из ссылки
"Ссылка для доступа к этой заметке" (в контекстном меню браузера
будет команда "Save link as" или сходная с ней)
Если что то не работает, то это можно починить.
Сообщения о выявленных дефектах можно направить по адресу:
Вольхин Николай
e-mail [email protected]
phone +7-902-272-65-35
enjoy, have fun