EPD-Hub π
ΠΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ
ΠΏΠ΅ΡΠ΅Π²ΠΎΠ·ΠΎΡΠ½ΡΡ
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² (ΠΠΠ)
Real-time ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π½ΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΠΎΠΉ Π±Π°Π·Ρ β’ ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° β’ ΠΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ
π ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
EPD-Hub β ΡΡΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π½ΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΠΎΠΉ Π±Π°Π·Π΅ ΠΏΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ·ΠΎΡΠ½ΡΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌ (ΠΠΠ), Π²Π²Π΅Π΄Π΅Π½Π½ΡΠΌ Π€Π΅Π΄Π΅ΡΠ°Π»ΡΠ½ΡΠΌ Π·Π°ΠΊΠΎΠ½ΠΎΠΌ ΠΎΡ 07.06.2025 β 140-Π€Π.
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ:
- π€ ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ β 24/7 crawlerβΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ
ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°Ρ
(Π€ΠΠ‘, ΠΠΈΠ½ΡΡΠ°Π½Ρ, ΠΠΠ‘Π’ ΠΈ Ρ.Π΄.)
- π§ ΠΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· β LLM Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΎΠ½ΠΈ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡ
- π± ΠΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ β Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ alerts Π² Telegram, Email ΠΈ ΡΠ΅ΡΠ΅Π· Π²Π΅Π±-ΠΏΠ°Π½Π΅Π»Ρ
- π ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° β ΠΊΡΡΡΡ, ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΈ ΡΠ΅ΠΊ-Π»ΠΈΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
- π API Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΉ β ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ EPD-Hub ΠΊ ΡΠ²ΠΎΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ
π― Π¦Π΅Π»Π΅Π²Π°Ρ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ
- ΠΡΡ
Π³Π°Π»ΡΠ΅ΡΡ β ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΠ΅ ΠΈ Π»ΠΎΠ³ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
- ΠΠΎΠ³ΠΈΡΡΡ ΠΈ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΡ β ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠΎΠ±ΠΎΡΠΎΡΠΎΠΌ
- 1Π‘-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ β ΠΊΠΎΠ½ΡΡΠ»ΡΡΠ°Π½ΡΡ ΠΏΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΠΠ
- IT-ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ β ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ
- ΠΡΠΎΠ΅ΠΊΡΠ½ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ β ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ΠΌ
π ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
- Python 3.11+
- PostgreSQL 14+
- Docker & Docker Compose (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ)
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° (Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°)
```bash
ΠΠ»ΠΎΠ½ΠΈΡΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
git clone https://github.com/NickScherbakov/epd-hub.git
cd epd-hub
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅
python -m venv venv
source venv/bin/activate # Π½Π° Windows: venv\Scripts\activate
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
pip install -r requirements.txt
ΠΠΎΠΏΠΈΡΡΠ΅ΠΌ .env.example Π² .env ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
cp backend/.env.example backend/.env
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
cd backend
uvicorn app.main:app βreload
```
Π‘Π΅ΡΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ: http://localhost:8000
API Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ (Swagger): http://localhost:8000/docs
Docker Π·Π°ΠΏΡΡΠΊ
```bash
docker-compose up -d
```
π Π‘ΡΠ°ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
β
ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΎ
π Π ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅
π ΠΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ
π Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠ΅ΠΊ
| ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ |
Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ |
| Backend |
Python 3.11, FastAPI, SQLAlchemy |
| Database |
PostgreSQL 14+ |
| Background Tasks |
Celery + Redis |
| AI/ML |
OpenAI API, LangChain |
| Frontend |
React 18, TypeScript, Vite (Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅) |
| DevOps |
Docker, Docker Compose |
| Testing |
pytest, httpx |
π ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
π€ ΠΠΎΠ½ΡΡΠΈΠ±ΡΡΡΠΈΠ½Π³
ΠΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΈΠ±ΡΡΡΠΈΠΈ! ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ issue ΠΈ pull requests.
π ΠΠΈΡΠ΅Π½Π·ΠΈΡ
MIT License
EPD-Hub β ΠΠΈΠ²Π°Ρ Π±Π°Π·Π° Π·Π½Π°Π½ΠΈΠΉ ΠΏΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ·ΠΎΡΠ½ΡΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌ π