Skip to content

solution of test task of vacancy for ФИНТЕРРА

Notifications You must be signed in to change notification settings

SbWereWolf/text-share

Repository files navigation

Шарим заметки

Решение тестового задания по вакансии фирмы ФИНТЕРРА

Текст задания в 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

Приложение настроено готово к работе

Disclaimer

Инструкция иклютельно теоритическая, на практике не проверялась

Как пользоваться

Начало работы

  • В браузере открыть страницу приложения (адрес / относительно имени хоста приложения)
  • Будет загружена форма публикации заметки
  • Под формой будут загружены ссылки на последние 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

About

solution of test task of vacancy for ФИНТЕРРА

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published