https://github.com/iamvany30/etc.app
etc.app for итд.com based on electron+react and of course love
https://github.com/iamvany30/etc.app
electron etcapp nowkie react
Last synced: 3 months ago
JSON representation
etc.app for итд.com based on electron+react and of course love
- Host: GitHub
- URL: https://github.com/iamvany30/etc.app
- Owner: iamvany30
- Created: 2026-02-10T12:56:16.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-02-27T13:46:33.000Z (4 months ago)
- Last Synced: 2026-02-27T16:10:04.354Z (4 months ago)
- Topics: electron, etcapp, nowkie, react
- Language: JavaScript
- Homepage: https://iamvany30.github.io/etc.app_site/
- Size: 50.4 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# итд.app (etc.app) - Windows App




**Социальная сеть нового поколения. Делитесь моментами, музыкой и мыслями.**
**итд.app** — это современный десктопный клиент для социальной платформы, построенный на базе Electron и React. Приложение обеспечивает нативный опыт использования соцсети с фокусом на производительность, кастомизацию и медиа-возможности.

---
## ✨ Ключевые особенности
### 🚀 Производительность и UI
* **Виртуализация списков:** Использование `react-virtuoso` для рендеринга бесконечных лент новостей и комментариев без лагов.
* **Современный дизайн:** Адаптивный интерфейс с поддержкой тем (Светлая, Dim, Dark) и кастомных цветовых акцентов.
* **Theme Engine:** Продвинутая система тем, поддерживающая загрузку сторонних оболочек (CSS/JS) «по воздуху».
### 🎵 Музыка и Медиа
* **Глобальный плеер:** Встроенный аудиоплеер с поддержкой плейлистов, визуализатором частот и сохранением прогресса.
* **Умная обработка медиа:**
* Автоматическое сжатие видео (FFmpeg) и изображений (WebP via Web Workers) перед загрузкой.
* Поддержка GPU-ускорения для обработки видео.
* Автоматическое извлечение метаданных (ID3 теги) из аудиофайлов.
### 🔐 Безопасность и Авторизация
* **Stealth Login:** Уникальная система бесшовного входа, использующая сессию из основного браузера (Chrome/Edge) через `browser_helper`.
* **Безопасное хранение:** Токены шифруются с использованием `safeStorage` Electron.
### ⚡ Функционал
* **Real-time уведомления:** Server-Sent Events (SSE) для мгновенного получения лайков, ответов и подписок.
* **Markdown:** Полная поддержка форматирования текста (спойлеры, код, жирный шрифт) в постах и комментариях.
* **Офлайн режим:** Корректная обработка потери соединения и диагностика сети.
---
## 🛠 Технологический стек
### Core
* **Runtime:** [Electron 34](https://www.electronjs.org/)
* **Frontend:** [React 19](https://react.dev/), React Router 7
* **Build Tool:** React Scripts (CRA), Electron Builder
### Media Processing
* **FFmpeg Static / Fluent-FFmpeg:** Обработка аудио и видео на стороне клиента.
* **Web Workers:** Фоновое сжатие изображений без блокировки UI.
* **JSMediaTags:** Парсинг музыкальных метаданных.
### State & Networking
* **Context API:** Управление состоянием (User, Music, Modal).
* **Native Net:** Использование нативного сетевого стека Electron для обхода CORS и стабильных стримов.
---
## 🚀 Установка и запуск
### Предварительные требования
* Node.js (версии 18 или выше)
* npm
### Шаги для разработки
1. **Клонирование репозитория**
```bash
git clone https://github.com/iamvany30/etc.app.git
cd etc.app
```
2. **Установка зависимостей**
```bash
npm install
```
3. **Запуск в режиме разработки**
Команда запускает React-сервер и Electron-окно параллельно.
```bash
npm run dev
```
### Сборка продакшн-версии
Для создания установщика (exe/dmg/AppImage):
```bash
npm run dist
```
Билд будет находиться в папке `dist/`.
---
## 🎨 Система тем
**итд.app** поддерживает динамическую загрузку тем. Темы — это пакеты, содержащие `theme.json`, CSS и JS файлы, которые могут изменять внешний вид и поведение клиента.
* **Локальные темы:** Хранятся в `%APPDATA%/etc.app/themes`.
* **Удаленные темы:** Синхронизируются с GitHub репозитория.
Пример манифеста темы (`theme.json`):
```json
{
"name": "Dracula",
"version": "1.0.0",
"colors": {
"accent": "#bd93f9",
"background": "dim"
}
}
```
---
## 🤝 Контрибьютинг
Мы приветствуем любой вклад в развитие проекта!
1. Форкните репозиторий.
2. Создайте ветку для вашей фичи (`git checkout -b feature/amazing-feature`).
3. Закоммитьте изменения (`git commit -m 'Add amazing feature'`).
4. Запушьте ветку (`git push origin feature/amazing-feature`).
5. Откройте Pull Request.
---
## 📜 Лицензия
Распространяется под лицензией MIT. Подробнее см. файл `LICENSE`.
---
Created by iamvany
Copyright © 2026