Skip to content

Визитная карточка с приложением на Yii2 (интернет-магазин)

License

Notifications You must be signed in to change notification settings

ProvotorOFF/VisitCard_3

Repository files navigation

Yii2 Internet Store (пет-проект для примера кода)

Это пет-проект (интернет-магазин), разработанный на фреймворке Yii2. Проект включает в себя функционал для управления продуктами, категориями, корзиной и заказами, а также администраторский интерфейс для управления товарами и заказами.

Функционал

  • Пользовательская часть:

    • Просмотр продуктов и категорий.
    • Добавление продуктов в корзину.
    • Оформление заказа.
  • Админка:

    • Управление заказами.
    • Управление товарами.
    • Управление категориями.

Установка

  1. Клонировать репозиторий:
    git clone <URL-репозитория>
    cd yiiTraining
  2. Установить зависимости:
     composer install
  3. Применить миграции:
     php yii migrate
  4. Импортировать тестовые данные:
    Используйте файл dump.sql из папки test_data для заполнения БД тестовыми данными.
  5. Скопировать изображения:
    Скопируйте папку images в папку web для

Доступ к админке

URL: /admin
Логин: admin
Пароль: qwerty123

Технические детали

Проект структурирован на основе архитектуры MVC (Model-View-Controller) и включает следующие компоненты:

Вьюхи и шаблоны

  • views/: Папка, содержащая шаблоны для пользовательского интерфейса. В ней есть подкаталоги для различных разделов:

    • cart/: Шаблоны, отвечающие за отображение корзины покупок.
    • category/: Шаблоны для отображения категорий товаров.
    • home/: Главная страница интернет-магазина.
    • layouts/: Основные шаблоны (лейауты), которые обеспечивают общий стиль страниц.
    • main/: Основные вьюхи для главного функционала приложения.
    • order/: Шаблоны для оформления и отображения заказов.
    • product/: Шаблоны для отображения информации о продуктах.
    • site/: Шаблоны для общих страниц, таких как «О нас» и «Контакты».
  • modules/admin/views/: Папка с вьюхами для администраторского интерфейса, где администраторы могут управлять контентом сайта. Включает в себя:

    • auth/: Вьюхи для аутентификации администратора, такие как страницы входа.
    • category/: Шаблоны для управления категориями, где можно добавлять, редактировать и удалять категории товаров.
    • order/: Шаблоны для управления заказами, позволяющие просматривать, редактировать и изменять статусы заказов.
    • product/: Шаблоны для управления продуктами, включая возможность добавления новых продуктов, редактирования существующих и удаления.
    • layouts/: Основные лейауты для административной панели, которые предоставляют единый стиль и структуру для всех страниц админки.

Контроллеры

  • controllers/: Папка с контроллерами, которые обрабатывают HTTP-запросы и управляют взаимодействием между моделями и представлениями. Включает в себя:

    • AppController.php: Базовый контроллер для общего функционала.
    • CartController.php: Контроллер, обрабатывающий действия, связанные с корзиной.
    • CategoryController.php: Контроллер для работы с категориями продуктов.
    • HomeController.php: Контроллер для главной страницы.
    • ProductController.php: Контроллер для управления продуктами.
    • SiteController.php: Контроллер для общих страниц сайта.
  • modules/admin/controllers/: Контроллеры для администраторского интерфейса:

    • AuthController.php: Контроллер для аутентификации администраторов.
    • CategoryController.php: Контроллер для управления категориями в админке.
    • OrderController.php: Контроллер для управления заказами.
    • ProductController.php: Контроллер для управления товарами.

Модели

  • models/: Папка, содержащая модели, которые отвечают за работу с данными и бизнес-логику. Ключевые модели:

    • Product.php: Модель для работы с продуктами.
    • Category.php: Модель для работы с категориями.
    • Order.php: Модель для работы с заказами.
    • User.php: Модель для управления пользователями.
  • modules/admin/models/: Модели, используемые в администраторском интерфейсе:

    • OrderProduct.php: Модель для работы с продуктами в заказах.
    • CategorySearch.php и ProductSearch.php: Модели для поиска и фильтрации товаров и категорий.

Ограничение доступа

  • Аутентификация и авторизация реализованы в контроллере AuthController.php. Этот контроллер обрабатывает вход в систему и управление сессиями пользователей.
  • Доступ к администраторскому интерфейсу ограничен с помощью проверки на наличие прав у пользователя. Все контроллеры в папке modules/admin/controllers/ требуют аутентификации, что предотвращает несанкционированный доступ к функционалу управления.

Используемые технологии

  • PHP
  • Yii2 Framework
  • MySQL
  • Bootstrap (в зависимости от настроек проекта)

About

Визитная карточка с приложением на Yii2 (интернет-магазин)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published