Skip to content

vowonderful/itexus-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

👍 Тестовое задание от iTexUS

Демонстрация приложения: itexus-testtask.nextwell.top

🔥 Задача

Условия, требования и ТЗ:

  • Реализовать MVC + route приложение на PHP.
  • Реализовать свой самописный проект, который с лёгкостью можно расширять.
  • Реализовать три страницы:
    1. главная;
    2. вход/авторизация пользователя;
    3. личный кабинет, где можно отредактировать имя пользователя

🛠️ База данных

Подключение

  • Параметры для подключения к базе данных MySql еобходимо прописывать в файле /config.php, расположенного в корне приложения.
  • SQL-дамп для создания таблицы, необходимой для работы с приложением, расположен в файле/itexus.sql в корне приложения (TODO: надо инсталлер написать с проверкой на отсутствие таблицы).

💡 Технические требования

Параметры

  • Сервер: Apache
  • PHP: > 8.1.5
  • MySQL: > 8.0.29
  • Драйверы: PDO-driver
  • PHP-расширения: MySQLi

💛 Особенности

Условия, требования и ТЗ.

  • Реализовано MVC + route приложение на PHP.
  • Реализовано две роли: администратор и пользователь. Новый пользователь регистрируется с правами пользователя. Администратор имеет некоторые дополнительные возможности (например блокировать/разбокировать пользователей, просматривать скрытую информацию).

    Данные для доступа от лица администратора:
    Логин: Admin
    Пароль: admin

  • Кроме основных, для MVP были реализованы следующие страницы и соответствующий функционал:
    1. главная (с отображением списка последних зарегистрированных пользователей)
    2. с раница регистрации (с хешированием пароля перед занесением в Базу Данных)
    3. страница авторизации (с проверкой пароля и созданием PHP-сессии)
    4. личный кабинет пользователя (с отображением информации о пользователе [если она была указана] и поздравлени с приближающимся днём рождения [если осталось меньше недели])
    5. страница редактирования личных данных (включая смену пароля, все данные валидируются сервером, который сообщает об ошибках в ведённых данных)
    6. страница просмотра своего профиля (на ней не отображается информация о балансе, и не отображается информация, которая не указана, а также не отображается никакая информация в случае, если этот пользователь заблокирован [кроме администратора, ему информация о пользователе всё равно отображается с пометкой о блокировке пользователя])
    7. страница просмотра профилей других участников (им доступна только указанная информация, баланс доступен только администратору)
    8. страница ошибки 404 (отображается, когда пользователь запрашивает несуществующую страницу)
    9. страница ошибки 403 (отображается, когда пользователь пытается посетить страницу, доступ к которой для него закрыт [в том числе для авторизованных, запрашивающие действия администратора])
    10. страница подтверждения выхода из аккаунта (при подтверждении -- текущая сессия будет закрыта])
  • Добавлено минимальное стилевое оформление для более презентабельного внешнего вида при демонстрации работы приложения.