Fix LESS import error and refactor project structure
This commit is contained in:
171
README.md
Normal file
171
README.md
Normal file
@@ -0,0 +1,171 @@
|
||||
# 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
|
||||
|
||||
Reference in New Issue
Block a user