# 📑 Индекс всех файлов и папок проекта Messenger

## 🎯 С чего начать?

1. **👉 [START.md](START.md)** - Главная страница проекта
2. **⚡ [QUICKSTART.md](QUICKSTART.md)** - Быстрый старт за 5 минут
3. **✅ [CHECKLIST.md](CHECKLIST.md)** - Пошаговый чек-лист

---

## 📚 Полная документация

### Основные документы
| Файл | Содержание | Для кого |
|------|-----------|---------|
| **[START.md](START.md)** | 🎉 Главная страница | Все |
| **[QUICKSTART.md](QUICKSTART.md)** | ⚡ За 5 минут | Новички |
| **[README.md](README.md)** | 📖 Полная документация | Разработчики |
| **[SUMMARY.md](SUMMARY.md)** | 📝 Краткая сводка | Для обзора |

### Техническая документация
| Файл | Содержание | Для кого |
|------|-----------|---------|
| **[PROJECT_STRUCTURE.md](PROJECT_STRUCTURE.md)** | 🗂️ Структура проекта | Разработчики |
| **[API_DOCUMENTATION.md](API_DOCUMENTATION.md)** | 📡 REST API endpoints | Бекенд разработчики |
| **[FEATURES.md](FEATURES.md)** | ✨ Список функций | Все |
| **[SECURITY_AND_PERFORMANCE.md](SECURITY_AND_PERFORMANCE.md)** | 🔒 Безопасность | Продакшн |

### Production и Развертывание
| Файл | Содержание | Для кого |
|------|-----------|---------|
| **[PRODUCTION_DEPLOYMENT.md](PRODUCTION_DEPLOYMENT.md)** | 🚀 Deployment на VPS | DevOps |
| **[CHECKLIST.md](CHECKLIST.md)** | ✅ Установка и тестирование | Все |

---

## 📁 Структура файлов

### 📑 Документация (в корне `msg/`)

```
msg/
├── 📄 START.md                          👈 НАЧНИТЕ ОТСЮДА!
├── 📄 SUMMARY.md                        (краткая сводка)
├── 📄 QUICKSTART.md                     (5 минут старта)
├── 📄 README.md                         (основная документация)
├── 📄 CHECKLIST.md                      (чек-лист установки)
├── 📄 PROJECT_STRUCTURE.md              (структура проекта)
├── 📄 API_DOCUMENTATION.md              (API endpoints)
├── 📄 FEATURES.md                       (все функции)
├── 📄 SECURITY_AND_PERFORMANCE.md       (безопасность и оптимизация)
├── 📄 PRODUCTION_DEPLOYMENT.md          (развертывание на VPS)
├── 📄 .env.example                      (шаблон конфигурации)
└── 📄 test-api.php                      (скрипт для тестирования API)
```

### 🔧 Backend PHP (`msg/backend/`)

```
backend/
├── 📄 .htaccess                         (Apache конфигурация)
│
├── 📁 api/
│   └── 📄 index.php                     (REST API маршрутизатор)
│
├── 📁 config/
│   ├── 📄 database.php                  (MySQL конфигурация)
│   ├── 📄 constants.php                 (константы приложения)
│   └── 📄 init.sql                      (SQL структура БД)
│
├── 📁 models/
│   ├── 📄 User.php                      (модель пользователя)
│   ├── 📄 Invite.php                    (модель приглашений)
│   ├── 📄 Message.php                   (модель сообщений)
│   └── 📄 Group.php                     (модель групп)
│
├── 📁 middleware/
│   └── 📄 auth.php                      (аутентификация)
│
└── 📁 utils/
    └── 📄 JWTHandler.php                (JWT токены)
```

### 🎨 Frontend Vue (`msg/frontend/`)

```
frontend/
├── 📄 index.html                        (главная HTML страница)
├── 📄 service-worker.js                 (Service Worker)
│
├── 📁 assets/
│   └── 📄 styles.css                    (все стили приложения)
│
└── 📁 src/
    ├── 📄 app.js                        (Vue 3 приложение)
    │
    ├── 📁 store/
    │   └── 📄 auth.js                   (хранилище аутентификации)
    │
    ├── 📁 utils/
    │   ├── 📄 api.js                    (HTTP клиент)
    │   ├── 📄 socket.js                 (Socket.io клиент)
    │   └── 📄 notifications.js          (Web Push уведомления)
    │
    └── 📁 components/
        ├── 📄 Auth.js                   (компонент вход/регистрация)
        ├── 📄 Dashboard.js              (главная страница)
        ├── 📄 Chat.js                   (компонент чата)
        └── 📄 AdminPanel.js             (админ-панель)
```

### ⚡ Node.js Socket.io Server (`msg/node_server/`)

```
node_server/
├── 📄 server.js                         (Socket.io сервер)
├── 📄 package.json                      (npm зависимости)
├── 📄 start.bat                         (запуск на Windows)
├── 📄 start.sh                          (запуск на Linux/Mac)
└── 📁 node_modules/                     (установленные пакеты)
    └── (генерируется после npm install)
```

---

## 🗂️ Логическая группировка

### По функциям

**Аутентификация и управление пользователями:**
- `backend/models/User.php`
- `backend/middleware/auth.php`
- `backend/utils/JWTHandler.php`
- `frontend/src/components/Auth.js`
- `frontend/src/store/auth.js`

**Система инвайтов:**
- `backend/models/Invite.php`
- `frontend/src/components/Dashboard.js` (Invites подкомпонент)
- `API_DOCUMENTATION.md` (раздел /invite/)

**Чат и сообщения:**
- `backend/models/Message.php`
- `backend/models/Group.php`
- `frontend/src/components/Chat.js`
- `frontend/src/utils/socket.js`
- `node_server/server.js`

**Админ-панель:**
- `frontend/src/components/AdminPanel.js`
- `API_DOCUMENTATION.md` (раздел /admin/)

**Уведомления:**
- `frontend/src/utils/notifications.js`
- `frontend/service-worker.js`

---

## 📖 По типам документации

### Для быстрого старта
1. [START.md](START.md)
2. [QUICKSTART.md](QUICKSTART.md)
3. [CHECKLIST.md](CHECKLIST.md)

### Для изучения архитектуры
1. [PROJECT_STRUCTURE.md](PROJECT_STRUCTURE.md)
2. [API_DOCUMENTATION.md](API_DOCUMENTATION.md)
3. [FEATURES.md](FEATURES.md)

### Для разработки
1. [README.md](README.md)
2. [API_DOCUMENTATION.md](API_DOCUMENTATION.md)
3. [PROJECT_STRUCTURE.md](PROJECT_STRUCTURE.md)

### Для production
1. [SECURITY_AND_PERFORMANCE.md](SECURITY_AND_PERFORMANCE.md)
2. [PRODUCTION_DEPLOYMENT.md](PRODUCTION_DEPLOYMENT.md)
3. [README.md](README.md) (раздел Безопасность)

---

## 🎯 Какой файл отредактировать для?

| Задача | Файл |
|--------|------|
| Создать нового пользователя | `backend/models/User.php` |
| Создать инвайт | `backend/models/Invite.php` |
| Отправить сообщение | `backend/models/Message.php` |
| Создать группу | `backend/models/Group.php` |
| Изменить внешний вид | `frontend/assets/styles.css` |
| Добавить компонент UI | `frontend/src/components/*.js` |
| Вызвать API | `frontend/src/utils/api.js` |
| Работать с WebSocket | `frontend/src/utils/socket.js` |
| Добавить API endpoint | `backend/api/index.php` |
| Изменить конфиг БД | `backend/config/database.php` |
| Смотреть структуру БД | `backend/config/init.sql` |
| Управлять уведомлениями | `frontend/src/utils/notifications.js` |
| Запустить Socket сервер | `node_server/server.js` |

---

## 💡 Рекомендуемый порядок изучения файлов

### День 1: Установка и понимание
1. [START.md](START.md) - обзор
2. [QUICKSTART.md](QUICKSTART.md) - установка
3. Откройте `backend/config/init.sql` - посмотрите структуру БД
4. Откройте `frontend/index.html` - посмотрите HTML

### День 2: Архитектура
1. [PROJECT_STRUCTURE.md](PROJECT_STRUCTURE.md) - структура
2. Откройте `backend/models/` - посмотрите модели
3. Откройте `frontend/src/components/` - посмотрите компоненты
4. [API_DOCUMENTATION.md](API_DOCUMENTATION.md) - endpoints

### День 3: Разработка
1. Модифицируйте `backend/api/index.php` - добавьте endpoint
2. Модифицируйте `backend/models/` - добавьте логику
3. Модифицируйте `frontend/src/utils/api.js` - добавьте вызов
4. Добавьте компонент в `frontend/src/components/`

### День 4: Production
1. [SECURITY_AND_PERFORMANCE.md](SECURITY_AND_PERFORMANCE.md)
2. [PRODUCTION_DEPLOYMENT.md](PRODUCTION_DEPLOYMENT.md)
3. Запланируйте deployment на VPS

---

## 📊 Размеры файлов (примерно)

```
Документация: ~150 KB
Backend:      ~80 KB
Frontend:     ~50 KB
Node Server:  ~10 KB
────────────────────
Всего:        ~290 KB (без node_modules)
```

---

## 🔗 Быстрые ссылки на основные компоненты

### API Endpoints
**Файл:** `backend/api/index.php`
- Все REST API маршруты в одном файле
- Структура: method → endpoint → обработка

### Vue Компоненты
**Папка:** `frontend/src/components/`
- `Auth.js` - вход и регистрация
- `Dashboard.js` - главная страница
- `Chat.js` - чат приложение
- `AdminPanel.js` - администрирование

### WebSocket События
**Файл:** `node_server/server.js`
- Все Socket.io события в одном месте
- Real-time коммуникация

### Модели БД
**Папка:** `backend/models/`
- User - пользователи
- Invite - приглашения
- Message - сообщения
- Group - группы

---

## ✨ Файлы которые часто редактируются

1. **`backend/api/index.php`** - добавление новых endpoints
2. **`frontend/src/components/Chat.js`** - улучшение интерфейса чата
3. **`frontend/assets/styles.css`** - изменение стилей
4. **`backend/models/*.php`** - добавление бизнес-логики
5. **`node_server/server.js`** - настройка WebSocket событий

---

## 📞 Навигация по документации

- 🏠 [HOME](START.md) - главная
- ⚡ [QUICK](QUICKSTART.md) - быстрый старт
- 📚 [DOCS](README.md) - все документы
- 🗂️ [STRUCTURE](PROJECT_STRUCTURE.md) - структура
- 📡 [API](API_DOCUMENTATION.md) - endpoints
- ✨ [FEATURES](FEATURES.md) - функции
- 🔒 [SECURITY](SECURITY_AND_PERFORMANCE.md) - безопасность
- 🚀 [DEPLOY](PRODUCTION_DEPLOYMENT.md) - продакшн
- ✅ [CHECKLIST](CHECKLIST.md) - чек-лист

---

## 🎓 Для начинающих разработчиков

**С чего начать:**
1. Прочитайте [QUICKSTART.md](QUICKSTART.md)
2. Установите все на локальной машине
3. Откройте `frontend/index.html` в браузере
4. Попробуйте создать инвайт
5. Зарегистрируйте нового пользователя
6. Отправьте первое сообщение

**Затем изучите:**
1. `frontend/src/app.js` - как работает Vue
2. `backend/api/index.php` - как работает API
3. `node_server/server.js` - как работает Socket.io
4. Остальные файлы по необходимости

---

## 💼 Для опытных разработчиков

**Для оптимизации:**
- Смотрите [SECURITY_AND_PERFORMANCE.md](SECURITY_AND_PERFORMANCE.md)
- Добавьте Redis кеш
- Оптимизируйте SQL запросы
- Минифицируйте код

**Для развертывания:**
- Смотрите [PRODUCTION_DEPLOYMENT.md](PRODUCTION_DEPLOYMENT.md)
- Настройте Nginx
- Получите SSL сертификат
- Наберите backups

**Для расширения:**
- Добавьте новые модели в `backend/models/`
- Добавьте новые endpoints в `backend/api/index.php`
- Добавьте новые компоненты в `frontend/src/components/`
- Добавьте новые события в `node_server/server.js`

---

## 🎉 Вы готовы!

Выберите [START.md](START.md) и начните разработку! 🚀

---

*Последнее обновление: 9 декабря 2025*
*Версия проекта: 1.0.0*
*Статус: Production Ready* ✅
