مدير الجلسات والملفات الشخصية
تطبيق Desktop بواجهة دكنة لإدارة عشرات جلسات Playwright في نفس الوقت، مع حفظ Profiles منفصلة لكل جلسة، تكامل SQLite، وLogging كامل.
abstract
أداة احترافية تحلّ أكبر مشكلة عند العمل بحسابات متعددة: عزل الجلسات وإدارتها.
🎯 المشكلة: التطبيقات تخلط cookies/storage بين الجلسات، تكشف التتبّع، وتفقد الـ context.
✨ الحل: نظام Profile-per-session يعزل كل جلسة في مساحة كاملة منفصلة.
الميزات: • Playwright Persistent Context — Profile كامل لكل جلسة • واجهة CustomTkinter Dark Mode احترافية • SQLite لتخزين الـ metadata + Sessions + Logs • مراقبة كل جلسة لحظياً (running/idle/failed) • استيراد/تصدير Profiles • Auto-retry + Recovery • إدارة Multi-window متوازية
architecture
┌──────────────┐ ┌────────────┐ ┌─────────────┐
│ client │─────▶│ nginx │─────▶│ next.js │
│ (browser) │ │ (proxy) │ │ (ssr) │
└──────────────┘ └─────┬──────┘ └──────┬──────┘
│ │
▼ ▼
┌───────────┐ ┌──────────┐
│ fastapi │◀──────▶│ postgres │
│ (asyncio) │ │ (asyncpg)│
└───────────┘ └──────────┘Stateless API behind a reverse proxy. SSR delivers HTML in under a second on warm cache. Connection pool keeps Postgres hot. JWT in HttpOnly cookie for the admin panel.
notes
- SSR-first to keep TTFB < 1s on cold visits.
- Type-checked end-to-end via Pydantic schemas mirrored to TS.
- Migrations versioned via Alembic; zero-downtime restarts.