Skip to content

Repository files navigation

Проект с отзывами по городам

Проект выполнен на базе Yii2 Advanced, PHP 8.4, MySQL 8.4.
Реализованы модули: Города, Отзывы, Пользователи.


Функционал

  • Главная страница: приветствие + определение города по IP.
    • Если город определён → вопрос «Ваш город — Ижевск?» (Да/Нет).
    • Если город не определён → список всех городов с отзывами (сортировка А–Я).
  • Сессия выбора города: хранится 2 часа, после чего сбрасывается.
  • Отзывы:
    • Отображаются только для выбранного города.
    • Неавторизованный пользователь видит текст и ФИО автора (без контактов).
    • Авторизованный пользователь может создавать и редактировать отзывы.
    • При клике на ФИО автора → всплывающее окно с email, телефоном и ссылкой на все отзывы автора.
  • Создание/редактирование отзыва:
    • Поля: название (≤100 символов), текст (≤255 символов), рейтинг (1–5), фото, выбор города (автокомплит, можно несколько или «для всех»).
    • Если города нет в БД → подгружается через стороннее API (dadata).
  • Регистрация пользователей:
    • Поля: ФИО, email, телефон, пароль, повтор пароля, каптча.
    • Пароль хранится безопасно (хэш).
    • Подтверждение email через контрольную строку.
  • Авторизация: только после подтверждения email.
  • Прелоадер: при создании и редактировании через AJAX.
  • Кэширование: используется стандартное кеширование Yii2 для запросов к БД.

Технологии

  • Yii2 Advanced
  • PHP 8.4
  • MySQL 8.4
  • Bootstrap 5
  • Composer
  • PhpStorm
  • PSR-12

Структура БД

Города

  • id
  • name
  • created_at

Отзывы

  • id
  • review_id
  • city_id
  • title
  • text
  • rating
  • img
  • author_id
  • created_at

Пользователи

  • username
  • fio
  • email
  • phone
  • password
  • created_at

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages