# AETERNA - Интернет-магазин мебели

Современный интернет-магазин мебели на PHP с MVC архитектурой.

## Структура проекта

```
aeterna/
├── app/                    # Приложение
│   ├── Controllers/        # Контроллеры
│   ├── Core/              # Ядро (App, Router, View, etc.)
│   ├── Models/            # Модели
│   └── Views/             # Шаблоны
├── config/                 # Конфигурация
│   ├── app.php            # Настройки приложения
│   ├── database.php       # Настройки БД
│   └── routes.php         # Маршруты
├── public/                 # Публичная директория (DocumentRoot)
│   ├── index.php          # Точка входа
│   ├── assets/            # Статические файлы
│   │   ├── css/
│   │   ├── js/
│   │   └── images/        # Изображения
│   └── .htaccess          # Правила Apache
├── storage/                # Хранилище
│   └── uploads/           # Загруженные файлы
├── tests/                  # Тесты
├── docker/                 # Docker конфигурация
│   └── apache/
├── docker-compose.yml
├── Dockerfile
└── README.md
```

## Требования

- PHP 8.2+
- PostgreSQL 14+
- Apache с mod_rewrite или Nginx
- Docker (опционально)

## Установка

### Вариант 1: Docker (рекомендуется)

```bash
# Клонировать репозиторий
git clone <repository-url>
cd aeterna

# Запустить контейнеры
docker-compose up -d

# Приложение будет доступно по адресу:
# http://localhost:8080
```

### Вариант 2: Локальный сервер

#### Apache

1. Настройте DocumentRoot на директорию `public/`

```apache
<VirtualHost *:80>
    ServerName aeterna.local
    DocumentRoot /path/to/aeterna/public
    
    <Directory /path/to/aeterna/public>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
```

2. Включите mod_rewrite:
```bash
sudo a2enmod rewrite
sudo systemctl restart apache2
```

#### Nginx

```nginx
server {
    listen 80;
    server_name aeterna.local;
    root /path/to/aeterna/public;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}
```

## Конфигурация

### База данных

Отредактируйте `config/database.php` или используйте переменные окружения:

```bash
export DB_HOST=localhost
export DB_PORT=5432
export DB_DATABASE=aeterna
export DB_USERNAME=user
export DB_PASSWORD=password
```

### Приложение

Отредактируйте `config/app.php`:

- `debug` - режим отладки (false для продакшена)
- `url` - URL приложения
- `admin_emails` - email адреса администраторов

## Функционал

### Для покупателей
- Каталог товаров с фильтрацией
- Корзина покупок
- Оформление заказов
- Регистрация и авторизация

### Для администраторов
- Управление товарами
- Управление категориями
- Управление заказами
- Управление пользователями

## Маршруты

| Метод | URL | Описание |
|-------|-----|----------|
| GET | `/` | Главная страница |
| GET | `/catalog` | Каталог товаров |
| GET | `/product/{id}` | Страница товара |
| GET | `/cart` | Корзина |
| GET | `/login` | Вход |
| GET | `/register` | Регистрация |
| GET | `/admin` | Админ-панель |

## Технологии

- **Backend**: PHP 8.2, MVC архитектура
- **Database**: PostgreSQL
- **Frontend**: HTML5, CSS3/LESS, JavaScript, jQuery
- **Сервер**: Apache/Nginx
- **Контейнеризация**: Docker

## Лицензия

MIT License

## Автор

AETERNA Team

