# ⚡ Быстрый старт DEV версии (без Telegram) ## 🚀 Запуск за 5 минут ### Шаг 1: Создайте `.env` файл В корне проекта создайте файл `.env` с содержимым: ```env DISABLE_TELEGRAM_AUTH=true NODE_ENV=development PORT=3000 MONGODB_URI=mongodb://localhost:27017/nakama-dev JWT_SECRET=dev_jwt_secret_32chars_minimum_length JWT_ACCESS_SECRET=dev_access_secret_32chars_minimum JWT_REFRESH_SECRET=dev_refresh_secret_32chars_minimum TELEGRAM_BOT_TOKEN= FRONTEND_URL=http://localhost:5173 VITE_API_URL=http://localhost:3000/api CORS_ORIGIN=* MINIO_ENABLED=false RATE_LIMIT_GENERAL=1000 RATE_LIMIT_POSTS=100 ``` ### Шаг 2: Создайте `frontend\.env` В папке `frontend` создайте файл `.env`: ```env VITE_API_URL=http://localhost:3000/api VITE_MOCK_TELEGRAM=true ``` ### Шаг 3: Обновите `frontend\src\utils\telegram.js` Найдите функцию `initTelegramApp` и в самом начале добавьте: ```javascript export const initTelegramApp = () => { // 🔥 DEV MODE: Mock Telegram WebApp if (import.meta.env.DEV && import.meta.env.VITE_MOCK_TELEGRAM === 'true') { if (!window.Telegram?.WebApp) { const mockInitData = 'query_id=mock&user=%7B%22id%22%3A123456789%2C%22first_name%22%3A%22Dev%22%2C%22last_name%22%3A%22User%22%2C%22username%22%3A%22devuser%22%7D&auth_date=1640000000&hash=mockhash'; window.Telegram = { WebApp: { initData: mockInitData, initDataUnsafe: { user: { id: 123456789, first_name: 'Dev', last_name: 'User', username: 'devuser' } }, version: '7.0', platform: 'web', colorScheme: 'light', themeParams: {}, isExpanded: true, viewportHeight: 600, viewportStableHeight: 600, ready: () => console.log('Mock ready'), expand: () => {}, close: () => {}, disableVerticalSwipes: () => {}, BackButton: { isVisible: false }, MainButton: { isVisible: false }, HapticFeedback: { impactOccurred: () => {}, notificationOccurred: () => {}, selectionChanged: () => {} } } }; console.log('✅ Mock Telegram WebApp (DEV MODE)'); } } const tg = window.Telegram?.WebApp // ... остальной код без изменений ``` ### Шаг 4: Запустите MongoDB ```cmd net start MongoDB ``` ### Шаг 5: Установите зависимости ```cmd npm install npm install adm-zip music-metadata cd frontend npm install cd .. ``` ### Шаг 6: Запустите приложение ```cmd npm run dev ``` ### Шаг 7: Откройте браузер ``` http://localhost:5173 ``` ✅ **Готово!** Приложение работает без Telegram! --- ## 🎯 Что происходит? 1. `DISABLE_TELEGRAM_AUTH=true` - отключает проверку initData на backend 2. `backend/middleware/devAuth.js` - создает тестового пользователя (ID: 123456789) 3. `VITE_MOCK_TELEGRAM=true` - включает mock Telegram WebApp на frontend 4. Mock создает фиктивный `window.Telegram.WebApp` объект --- ## 🧪 Тестирование ### Проверьте что dev режим работает: **Backend консоль должна показать:** ``` ⚠️ DEV MODE ENABLED - Telegram auth disabled! ⚠️ DEV MODE: Telegram auth disabled ✅ Created dev user: DevUser (123456789) ``` **Browser консоль должна показать:** ``` ✅ Mock Telegram WebApp (DEV MODE) ``` ### Тест API: Откройте: `http://localhost:3000/api/posts` Должен вернуться список постов (может быть пустой). --- ## 📁 Структура ``` nakama/ ├── .env ← Создайте (dev конфиг) ├── backend/ │ └── middleware/ │ └── devAuth.js ← Уже создан ├── frontend/ │ ├── .env ← Создайте (dev конфиг) │ └── src/utils/ │ └── telegram.js ← Обновите ├── DEV_SETUP.md ← Подробная инструкция └── QUICK_DEV_START.md ← Эта инструкция ``` --- ## ⚠️ Важно - **НЕ коммитьте** `.env` файлы в git - **НЕ используйте** dev конфигурацию в production - Для production используйте настоящий `TELEGRAM_BOT_TOKEN` --- ## 🔄 Вернуться к production 1. Удалите или измените `.env`: ```env DISABLE_TELEGRAM_AUTH=false TELEGRAM_BOT_TOKEN=your_real_token ``` 2. Перезапустите: ```cmd npm run server ``` --- ## 🆘 Проблемы? ### MongoDB не запускается ```cmd cd "C:\Program Files\MongoDB\Server\7.0\bin" if not exist C:\data\db mkdir C:\data\db mongod --dbpath C:\data\db ``` ### Port 3000 занят ```cmd netstat -ano | findstr :3000 taskkill /PID /F ``` ### Dev user не создается Проверьте `.env`: ```cmd type .env | findstr DISABLE_TELEGRAM_AUTH ``` Должно быть: `DISABLE_TELEGRAM_AUTH=true` --- **Быстрого старта! 🚀**