soulwise_persons
Albom qeydləri. userId, status, deletedAt üzrə indekslər. Əvvəlcə soft-delete; PII-nin hard-delete-i 30 gündən sonra.
Mühəndislər, PM-lər, jurnalistlər və tərəfdaşlıq axtaranlar üçün. Tam pipeline, dörd MongoDB kolleksiyası, EDA hadisələri, V-Model ciddiliyi, performans hədəfləri, təhlükəsizlik və əlçatanlıq — hamısı bir səhifədə.
Hər addımın bir xidməti, bir kontraktı və bir hadisəsi var.
İstifadəçi hərəkəti — “Bacı üçün bugünkü fəsli yarat” — ya da planlaşdırılmış cron, məsələn, bazar günü 9 səhər xülasəsi və ya hər 6 saatdan bir hava yeniləməsi.
Tapşırıq soulwise-chapter-generation adlı BullMQ növbəsinə düşür və 28 saniyəlik ciddi vaxt limiti olur. Uzun çəkən tapşırıqlar dayandırılır və istifadəçiyə “yenidən cəhd edin” kimi bildirilir.
ChapterGenerationService dörd amilli sorğunu — şəxs konteksti, astrologiya, siqnal, ritm — vahid girişə yığır. Heç bir xam istifadəçi şəxsi məlumatı sorğuya hərfi şəkildə daxil olmur; hər şey əvvəlcədən təmizlənir.
AI provayderi AI_GENERATION_ADAPTER simvol tokeni vasitəsilə çağırılır — provayderi dəyişmək mümkündür. Davam etməzdən əvvəl cavab uzunluq, forma və təhlükəsizlik baxımından yoxlanılır.
Dörd şey baş verir: böhran klassifikatoru böhran ifadələrini yoxlayır; aspekt-çip ekstraktoru bir-üç astrologiya çipi çıxarır; anti-iddia filtri qadağan olunmuş ifadələri təmizləyir; mətn platforma tərəfindən idarə olunan açarla AES-256 şifrələnir.
Artefakt müvafiq MongoDB kolleksiyasına yazılır — fəsillər, gündəlik qeydləri, rezonanslar — sürətli axtarış üçün userId və personId indeksləri ilə. Əvvəlcə yumşaq silinmə; PII-nin tam silinməsi 30 gündən sonra.
EventEmitter2 hadisəsi — CHAPTER_COMPLETED, JOURNAL_CREATED — verilənlər bazasına yazıldıqdan sonra işə düşür. Bildirişlər modulu onu götürür, gələnlər qutusuna element yaradır və istəyə bağlı push göndərir (gündə bir dəfə ilə məhdudlaşır, sakit saatlara hörmət edilir).
Frontend artefaktı autentifikasiya olunmuş API çağırışı vasitəsilə çəkir. Hub yeni məzmunla yenidən render olunur. İstifadəçi oflayn olubsa, keş dünənki görünüşü göstərir və yenidən qoşulduqda yeni artefakt görünür.
Hər biri cavab verdiyi sorğular üçün indekslənib.
Albom qeydləri. userId, status, deletedAt üzrə indekslər. Əvvəlcə soft-delete; PII-nin hard-delete-i 30 gündən sonra.
AI tərəfindən yazılmış fəsillər, şifrələnmiş gövdə. personId, userId, generatedAt üzrə indekslər. Aspekt çipləri sürətli filtrasiya üçün ayrıca massiv kimi saxlanılır.
İstifadəçinin yazdığı düşüncələr, şifrələnmiş gövdə. userId, personId, createdAt üzrə indekslər. Axtarış üçün mətn-indeksli gövdə. Hər qeyd üçün 'şəxsi — Luminara-ya ötürmə' bayrağı.
Hər bağ üçün dörd ölçülü ballar. personId üzrə unikal indeks. Fəsil və ya jurnal yazısından sonra xidmət çağırışı ilə yenidən hesablanır.
Ciddi qayda: hadisələr yalnız verilənlər bazasına commit edildikdən sonra işə düşür. Modullararası asılılıqlar Symbol injection token-ləri vasitəsilə qurulur, heç vaxt forwardRef vasitəsilə yox. Funksional modullar arasında birbaşa servisdən-servisə import yoxdur.
SoulwiseEvents.CHAPTER_COMPLETED — SoulwiseEvents.CHAPTER_COMPLETED — fəsil şifrələnib yadda saxlanıldıqdan sonra işə düşür. Notifications-v2 bunu dinləyir; inbox elementi yaradır; istəyə bağlı push göndərir.SoulwiseEvents.JOURNAL_CREATED — SoulwiseEvents.JOURNAL_CREATED — gündəlik qeydi şifrələnib yadda saxlanıldıqdan sonra işə düşür. Resonance servisi bunu dinləyir; yenidən hesablanmanı tətikləyir.SoulwiseEvents.PERSON_BIRTH_UPDATED — SoulwiseEvents.PERSON_BIRTH_UPDATED — şəxsin doğum məlumatları dəyişdikdən sonra işə düşür. Sinastri keşi etibarsız sayılır.SoulwiseEvents.PUSH_REQUESTED — SoulwiseEvents.PUSH_REQUESTED — notifications-v2 müqaviləsinə uyğun; push büdcəsinə və sakitlik saatlarına hörmət edir.119 izlənə bilən tələb, sıfır boşluq. Hər tələb irəliyə doğru bir test ssenarisinə (UTP, ITP, STP, E2E) və geriyə doğru bir istifadəçi hekayəsinə uyğunlaşdırılır. 20 istifadəçi hekayəsi. 15 funksional tələb. 12 qeyri-funksional kateqoriya. 8 qlobal qəbul qapısı.
Fəsil generasiyası sorğuların 95% üçün 30 saniyə və ya daha yaxşı, BullMQ tapşırıq müddəti paylanmasına görə ölçülür. API p99 GET gecikməsi 1,000 eyni vaxtlı istifadəçidə 500 ms və ya daha yaxşı, k6 yük testi ilə ölçülür. Frontend TTI simulyasiya edilmiş 4G şəbəkəsində 3 saniyə və ya daha yaxşı, Lighthouse CI ilə ölçülür.
Gündəlik və fəsil mətnləri üçün platforma tərəfindən idarə olunan açarlarla istirahət vəziyyətində AES-256 şifrələnməsi. Ötürülmə zamanı TLS 1.2+; HTTP→HTTPS yönləndirməsi. 1 saatlıq ömrü olan JWT access token-ləri, 30 günlük ömrü olan refresh token-ləri, yeniləmə zamanı rotasiya. PII-nin tam silinməsindən əvvəl 30 günlük pəncərə ilə yumşaq silmə.
prefers-reduced-motion qlobal şəkildə nəzərə alınır — GSAP animasiyaları yalnız şəffaflıqla solma effektlərinə çevrilir. Hər interaktiv elementdə VoiceOver və TalkBack etiketləri var. Hər buraxılışdan əvvəl iOS və Android-də əl ilə yoxlanılır.
Çünki yuxarı axın spesifikasiyası funksiyanı yenidən qurur, mövcud modulun içində yenidən qurmaq isə ya v1 təcrübəsini pozardı, ya da sonradan əvvəl ayırıb sonra birləşdirməyi tələb edərdi. Yeni modul v1-i toxunulmaz saxlayır, v2-nin özünü sübut etməsinə imkan verir və hazır olduqda təmiz şəkildə miqrasiya edir.
Mövcud My Zodiac AI backend-i MongoDB üzərindədir; keçid bu funksiya ilə əlaqəsi olmayan infrastruktur qərarı demək olardı. Sənəd modeli həm də fəsillərə və gündəlik qeydlərinə yaxşı uyğun gəlir — iç-içə, dəyişən uzunluqda, blob kimi şifrələnmiş.
BullMQ Redis üzərində işləyir, o da artıq sessiya və sürət limiti üçün stekdə var. Yeni infrastruktur yoxdur. Daxili təkrar cəhd, vaxt aşımı və müşahidə imkanları fəsil yaradılması ehtiyaclarını xüsusi qurğu olmadan qarşılayır.
Daxili repo-da. Bu səhifədəki rəqəmlər və müqavilələr yuxarı axın V-Model artefaktlarını qısaca təsvir edir. My Zodiac AI bloq klasterindəki ictimaiyyətə açıq mühəndislik bloq yazıları ('cosmic-story-v2' etiketli) qurmanın konkret hissələrinə daha dərindən baxır.
Soulwise öz dalğalarını açarkən, flaqman astrologiya tətbiqimiz artıq sizin əlinizdədir.
Astrologiya məzmunu düşünmək və əyləncə üçündür. Burada təsvir olunan Cosmic Story v2 funksiyaları hazırlanır; əlçatanlıq xəbərdarlıq edilmədən dəyişə bilər.