- Исправлено выпадающее меню профиля (hover-баг с margin-top) - Исправлена авторизация: правильные пути к API (api/auth.php) - Исправлены ссылки на админку (admin/index.php вместо admin_panel.php) - Исправлены пути API корзины в catalog.php и checkout.php - Добавлена форма добавления/редактирования товаров в админке - Исправлены кнопки +/- в корзине (улучшена обработка AJAX) - Исправлена регистрация: правильные пути и обработка boolean в PostgreSQL - Добавлена миграция для назначения прав админа пользователю admin@mail.ru - Удален тестовый блок 'Быстрый вход' для неавторизованных пользователей - Улучшена обработка ошибок во всех API-эндпоинтах
92 lines
3.4 KiB
Markdown
92 lines
3.4 KiB
Markdown
# AETERNA - Интернет-магазин мебели
|
||
|
||
## Быстрый старт
|
||
|
||
```bash
|
||
# 1. Сделать скрипт исполняемым
|
||
chmod +x setup.sh
|
||
|
||
# 2. Запустить настройку
|
||
./setup.sh
|
||
|
||
# 3. Или запустить миграции вручную
|
||
php migrations/migrate.php
|
||
php migrations/migrate.php --seed
|
||
```
|
||
|
||
## Структура проекта
|
||
|
||
```
|
||
cite_practica1/
|
||
├── public/ # Публичные страницы (точка входа)
|
||
│ ├── index.php # Главная
|
||
│ ├── catalog.php # Каталог
|
||
│ ├── login.php # Вход
|
||
│ ├── register.php # Регистрация
|
||
│ ├── checkout.php # Корзина/оформление заказа
|
||
│ ├── product.php # Страница товара
|
||
│ ├── services.php # Услуги
|
||
│ ├── delivery.php # Доставка и оплата
|
||
│ └── warranty.php # Гарантия
|
||
│
|
||
├── admin/ # Админ-панель
|
||
│ └── index.php # Главная страница админки
|
||
│
|
||
├── api/ # API-эндпоинты (AJAX)
|
||
│ ├── cart.php # Корзина (add/update/remove/get/count)
|
||
│ ├── auth.php # Авторизация
|
||
│ └── ...
|
||
│
|
||
├── config/
|
||
│ └── database.php # Подключение к PostgreSQL
|
||
│
|
||
├── includes/ # Переиспользуемые части
|
||
│ ├── header.php # Единый header
|
||
│ ├── footer.php # Единый footer
|
||
│ ├── functions.php # Общие функции
|
||
│ └── auth.php # Функции авторизации
|
||
│
|
||
├── assets/
|
||
│ ├── css/ # Скомпилированный CSS
|
||
│ ├── less/ # LESS исходники
|
||
│ ├── js/ # JavaScript
|
||
│ └── img/ # Изображения
|
||
│
|
||
├── migrations/ # Миграции БД
|
||
│ ├── migrate.php # Раннер миграций
|
||
│ ├── 001_initial_schema.sql # Базовые таблицы
|
||
│ ├── 002_add_cart_orders.sql# Корзина и заказы
|
||
│ ├── 003_add_product_fields.sql # Доп. поля
|
||
│ └── seed_data.sql # Начальные данные
|
||
│
|
||
└── uploads/ # Загружаемые файлы
|
||
└── products/
|
||
```
|
||
|
||
## База данных
|
||
|
||
**PostgreSQL** с таблицами:
|
||
- `users` - пользователи
|
||
- `categories` - категории товаров
|
||
- `subcategories` - подкатегории
|
||
- `products` - товары
|
||
- `cart` - корзина
|
||
- `orders` - заказы
|
||
- `order_items` - позиции заказа
|
||
|
||
## Тестовые аккаунты
|
||
|
||
| Email | Пароль | Роль |
|
||
|-------|--------|------|
|
||
| admin@mail.ru | admin123 | Администратор |
|
||
|
||
## Миграции
|
||
|
||
```bash
|
||
# Применить все миграции
|
||
php migrations/migrate.php
|
||
|
||
# Применить миграции + загрузить тестовые данные
|
||
php migrations/migrate.php --seed
|
||
```
|