При реализации допускается использование сторонних библиотек и модулей для выполнения задания. Использование composer будет плюсом. Дизайнерские решения не важны, но желательно выдержать всё в едином стиле (пусть даже классические кнопки, это не принципиально).
Задание 1. (Простое)
Написать одностраничное веб-приложение (single page application) со следующим функционалом:
Авторизация пользователя;
После успешной авторизации доступна форма редактирования учетных данных данного пользователя (логин, пароль, ФИО, должность, email, телефон);
Сохранение внесенных изменений;
Просмотр истории изменений.
БД – MySQL. Back-end – PHP. Front-End – любой javascript фреймворк.
Задание 2. (Посложнее)
На странице отображается 10 кнопок, расположенных в строку, с текстом 1 – 10 соответственно. При клике на любую кнопку, она переносится в начало строки, а в бд добавляется запись: «в <текущее время> нажали на кнопку № <номер кнопки>», а также идентификатор сессии. После 10 кликов на страницу выводится статистика по кликам на каждой кнопку за текущую сессию (при каждом последующем клике – статистика обновляется). Возможность выгрузки статистики в excel-файл. Сессии обновляются при обновлении страницы.
БД – MySQL. Back-end – PHP. Front-End – любой javascript фреймворк.
Задание 3. (Сложное)
На странице отображается одна кнопка «Старт». При клике на нее должно происходить обращение к файлу на сервере test.txt. В файле считается сумма цифр, результат вычисления записывается в конец файла в новой строке. Если в момент операции к файлу обращается еще один процесс, то он должен заблокироваться и ожидать завершения операции текущим процессом. Все действия с файлом должны логироваться на страницу в реальном времени (насколько это возможно): «11:46:10: Файл используется. Ожидание… 11:50:45: Открытие файла… 11:50:47: Чтение файла… 11:51:12: Подсчет суммы… и.т.д», а после каждой завершенной операции вызывается задержка на рандомное количество секунд от 1 до 10. При повторном нажатии на кнопку предыдущий процесс не прерывается, а встает в очередь. Изначальное содержание файла test.txt:
1
2
3
БД(если нужно) – MySQL. Back-end – PHP. Front-End – любой javascript фреймворк.