Nexus Archive
Nexus Archive مخزن رسانهای شخصی با سبک سایبرپانک است که رابط React، API مبتنی بر Litestar و هویت و ذخیرهسازی Supabase را ترکیب میکند. کتاب، فیلم، انیمه، امتیاز، یادداشت، گفتوگو و پیشنهادهای هوش مصنوعی در یک داشبورد مدیریت میشوند.
۰۱ / نمای کلی
- ۰۱React 19
- ۰۲Vite
- ۰۳Tailwind CSS 4
- ۰۴TanStack Query
- ۰۵Python 3.12
- ۰۶Litestar
- ۰۷Supabase PostgreSQL
- ۰۸Docker
- ۰۹Terraform
مسئله
ردیابهای رسانه کتابخانهٔ سرگرمی را میان پلتفرمها پراکنده میکنند و میتوانند کنترلهای امنیتی ضعیفی داشته باشند. Nexus Archive عنوانها، امتیازها، یادداشتها و پیشنهادها را در یک حساب با کنترل دسترسی سطح ردیف گرد میآورد.
نمای کلی راهکار
- مخزن کامل با React 19، API مبتنی بر Litestar و Supabase PostgreSQL با امنیت سطح سطر ساخته شد.
- کوکیهای احراز هویت HttpOnly با مدیریت سرور جای توکنهای Supabase قابلخواندن در رابط را گرفتند.
- Gemini برای پیشنهاد رسانه، همراه با محدودسازی نرخ مشترک هر کاربر و راهکار محلی جایگزین، یکپارچه شد.
- ذخیرهٔ رمزگذاریشدهٔ یادداشت و جداسازی دستور هوش مصنوعی با پوشاندن دادهٔ شناسایی شخصی اضافه شد.
۰۲ / شواهد
شواهد و راستیآزمایی
- احراز هویت تقویتشده با کوکی HttpOnly + SameSite=Strict و تعویض بیصدای توکن.
- دروازههای امنیتی CI: Bandit، pip-audit، npm audit و اسکن اسرار.
- آزمون بار Locust برای بررسی کارایی.
- اسکلت زیرساخت بهصورت کد Terraform برای استقرار بازتولیدپذیر Supabase + Vercel.
۰۳ / روشها
پیادهسازی
پشته فناوری
- React 19
- Vite
- Tailwind CSS 4
- TanStack Query
- Python 3.12
- Litestar
- Supabase PostgreSQL
- Docker
- Terraform
- پیشنهاد رسانه با Gemini و ادامهٔ کار با امکانات محدود هنگام خطا.
- متن گفتوگوی بلادرنگ با پاکسازی در محدودهٔ هر کاربر.
- پیگیری وضعیت، امتیاز و نقد انیمه، فیلم و کتاب.
- فیلتر و جستوجوی هوشمند در کل کتابخانهٔ رسانه.
امنیت
- کوکیهای ورود HttpOnly و SameSite=Strict؛ بدون توکن قابلخواندن در رابط.
- توکن کوتاهعمر با تعویض بیصدا از طریق /auth/refresh.
- جداسازی دستور هوش مصنوعی با مرزبندی XML، پاکسازی رشته و پوشاندن دادهٔ شناسایی شخصی.
- ذخیرهٔ رمزگذاریشدهٔ یادداشت با AES و TAKEAWAY_ENCRYPTION_KEY.
- Bandit، pip-audit، npm audit و اسکن اسرار در CI.