174 lines
9.2 KiB
Plaintext
174 lines
9.2 KiB
Plaintext
╔═══════════════════════════════════════════════════════════════════════╗
|
||
║ NakamaSpace v1.0.0 ║
|
||
║ Telegram Mini App Social Network ║
|
||
╚═══════════════════════════════════════════════════════════════════════╝
|
||
|
||
📋 ОПИСАНИЕ
|
||
───────────────────────────────────────────────────────────────────────
|
||
Полноценная мини-социальная сеть внутри Telegram с 4 вкладками:
|
||
🏠 Лента - создание постов, лайки, комментарии, репосты
|
||
🔍 Поиск - интеграция e621 и gelbooru API
|
||
🔔 Уведомления - Telegram-стиль баблов
|
||
👤 Профиль - настройки, статистика, донаты
|
||
|
||
🎨 ДИЗАЙН
|
||
───────────────────────────────────────────────────────────────────────
|
||
• Стиль: iOS минимализм 2025
|
||
• Цвета: Нейтральная серая палитра
|
||
• Теги: Furry (оранжевый), Anime (синий), Other (серый)
|
||
• Шрифт: SF Pro Display / Roboto
|
||
• Радиус: 16px карточки, 12px кнопки
|
||
• Анимации: 0.2-0.3s плавные
|
||
|
||
🔧 ТЕХНОЛОГИИ
|
||
───────────────────────────────────────────────────────────────────────
|
||
Frontend:
|
||
• React 18 + Vite
|
||
• React Router
|
||
• Telegram Mini App SDK
|
||
• Axios
|
||
• Lucide React (иконки)
|
||
|
||
Backend:
|
||
• Node.js + Express
|
||
• MongoDB + Mongoose
|
||
• Multer (загрузка файлов)
|
||
• Crypto (Telegram Init Data)
|
||
|
||
Интеграции:
|
||
• Telegram Bot API
|
||
• e621 API
|
||
• gelbooru API
|
||
|
||
📂 СТРУКТУРА
|
||
───────────────────────────────────────────────────────────────────────
|
||
nakama/
|
||
├── backend/ Backend сервер
|
||
│ ├── models/ MongoDB схемы
|
||
│ ├── routes/ API endpoints
|
||
│ ├── middleware/ Auth middleware
|
||
│ └── server.js Точка входа
|
||
├── frontend/ Frontend приложение
|
||
│ └── src/
|
||
│ ├── components/ React компоненты
|
||
│ ├── pages/ Страницы-вкладки
|
||
│ ├── utils/ API + Telegram SDK
|
||
│ └── styles/ CSS стили
|
||
├── README.md Основная документация
|
||
├── SETUP.md Инструкция по установке
|
||
├── QUICKSTART.md Быстрый старт
|
||
├── PROJECT_STRUCTURE.md Детальная карта
|
||
├── CONTRIBUTING.md Гайд для разработчиков
|
||
└── start.sh Скрипт запуска
|
||
|
||
⚙️ ВОЗМОЖНОСТИ
|
||
───────────────────────────────────────────────────────────────────────
|
||
✅ Создание постов с изображениями (до 10MB)
|
||
✅ Обязательные теги (Furry, Anime, Other)
|
||
✅ Лайки, комментарии, репосты
|
||
✅ Упоминания пользователей (@username)
|
||
✅ NSFW маркировка
|
||
✅ Фильтрация по тегам
|
||
✅ Поиск в e621 и gelbooru с автокомплитом
|
||
✅ Просмотрщик изображений с swipe
|
||
✅ Система уведомлений
|
||
✅ Профили и подписки
|
||
✅ Модерация и жалобы
|
||
✅ Настройки фильтров контента
|
||
✅ Роли (User, Moderator, Admin)
|
||
|
||
🚀 ЗАПУСК
|
||
───────────────────────────────────────────────────────────────────────
|
||
Быстрый запуск (5 минут):
|
||
./start.sh
|
||
|
||
Ручная установка:
|
||
1. npm install
|
||
2. cd frontend && npm install
|
||
3. Настроить .env файлы
|
||
4. Запустить MongoDB
|
||
5. npm run dev
|
||
|
||
Скрипты:
|
||
npm run dev - Запуск dev режима (backend + frontend)
|
||
npm run server - Только backend
|
||
npm run client - Только frontend
|
||
npm run build - Сборка для production
|
||
npm start - Production запуск
|
||
|
||
🔐 БЕЗОПАСНОСТЬ
|
||
───────────────────────────────────────────────────────────────────────
|
||
✅ Telegram Init Data валидация (HMAC-SHA256)
|
||
✅ Безопасная загрузка файлов
|
||
✅ Система ролей и прав
|
||
✅ XSS защита через React
|
||
✅ CORS настройки
|
||
✅ HTTPS only для production
|
||
|
||
🌐 ДЕПЛОЙ
|
||
───────────────────────────────────────────────────────────────────────
|
||
Рекомендуемые платформы:
|
||
• Backend: Railway, Render, Heroku
|
||
• Frontend: Vercel, Netlify
|
||
• MongoDB: MongoDB Atlas (бесплатный tier)
|
||
|
||
🛣️ ROADMAP
|
||
───────────────────────────────────────────────────────────────────────
|
||
Реализовано:
|
||
☑ Backend API
|
||
☑ Frontend приложение
|
||
☑ Telegram авторизация
|
||
☑ Система постов
|
||
☑ Поиск (e621 + gelbooru)
|
||
☑ Уведомления
|
||
☑ Профили и подписки
|
||
☑ Модерация
|
||
☑ iOS-стиль дизайн
|
||
|
||
В планах:
|
||
☐ Тесты (Unit, E2E)
|
||
☐ Rate limiting
|
||
☐ WebSocket уведомления
|
||
☐ Telegram Stars (донаты)
|
||
☐ Поиск по постам
|
||
☐ Хэштеги
|
||
☐ Приватные сообщения
|
||
☐ Группы/сообщества
|
||
☐ Рекомендации
|
||
☐ Dark mode
|
||
☐ Мультиязычность
|
||
|
||
📚 ДОКУМЕНТАЦИЯ
|
||
───────────────────────────────────────────────────────────────────────
|
||
README.md Основная документация
|
||
QUICKSTART.md Быстрый старт за 5 минут
|
||
SETUP.md Подробная установка и деплой
|
||
PROJECT_STRUCTURE.md Детальная структура проекта
|
||
CONTRIBUTING.md Гайд для разработчиков
|
||
|
||
📄 ЛИЦЕНЗИЯ
|
||
───────────────────────────────────────────────────────────────────────
|
||
MIT License
|
||
|
||
👥 АВТОРЫ
|
||
───────────────────────────────────────────────────────────────────────
|
||
Создано с ❤️ для сообщества
|
||
|
||
📞 ПОДДЕРЖКА
|
||
───────────────────────────────────────────────────────────────────────
|
||
Issues: GitHub Issues
|
||
Документация: SETUP.md
|
||
Troubleshooting: SETUP.md#troubleshooting
|
||
|
||
🌟 БЛАГОДАРНОСТИ
|
||
───────────────────────────────────────────────────────────────────────
|
||
• Telegram за платформу Mini Apps
|
||
• e621 за API
|
||
• gelbooru за API
|
||
• Сообществу за поддержку
|
||
|
||
╔═══════════════════════════════════════════════════════════════════════╗
|
||
║ Сделано с 🦊 и 🎌 ║
|
||
╚═══════════════════════════════════════════════════════════════════════╝
|
||
|