soulwise_persons
Hyrjet e albumit. Indekset në userId, status, deletedAt. Fshirja e butë e para; fshirja e plotë e PII pas 30 ditësh.
Për inxhinierë, PM, gazetarë dhe eksplorues partneritetesh. Pipeline-i i plotë, ⟦CA:KIND:N⟧ koleksione MongoDB, ngjarje EDA, rregullorja e Modelit V, objektivat e performancës, siguria dhe aksesueshmëria — të gjitha në një faqe.
Çdo hap ka një shërbim, një kontratë dhe një ngjarje.
Një veprim i përdoruesit — 'gjenero kapitullin e sotëm për Motrën' — ose një cron i planifikuar, si përmbledhja e të dielës në orën 9 paradite, ose rifreskimi i motit çdo 6 orë.
Puna vendoset në një radhë BullMQ me emrin soulwise-chapter-generation, me një afat të fortë prej 28 sekondash. Punët me kohë të gjatë ndërpriten dhe i raportohen përdoruesit si “provo përsëri”.
ChapterGenerationService bashkon kërkesën me katër faktorë — kontekstin e personit, astrologjinë, sinjalin dhe ritmin — në një hyrje të vetme. Asnjë e dhënë personale e papërpunuar e përdoruesit nuk futet fjalë për fjalë në kërkesë; çdo gjë pastrohet më parë.
Një ofrues AI thirret përmes tokenit simbolik AI_GENERATION_ADAPTER — ofruesi është i zëvendësueshëm. Përgjigja kontrollohet për gjatësi, formë dhe siguri përpara se të vazhdohet.
Katër gjëra ndodhin: një klasifikues i krizës kontrollon për gjuhë krize; një nxjerrës i çipeve të aspektit nxjerr një deri në tre çipa astrologjie; një filtër anti-pretendime heq formulimet e ndaluara; trupi enkriptohet me AES-256 me një çelës të menaxhuar nga platforma.
Artefakti shkruhet në koleksionin përkatës të MongoDB — kapituj, shënime ditari, rezonanca — me indekse userId dhe personId për kërkim të shpejtë. Fillimisht fshirje e butë; fshirja e plotë e të dhënave personale (PII) në 30 ditë.
Një ngjarje EventEmitter2 — CHAPTER_COMPLETED, JOURNAL_CREATED — aktivizohet pas përfundimit të transaksionit në bazën e të dhënave. Moduli i njoftimeve e kap, krijon një artikull në kutinë postare dhe, në mënyrë opsionale, dërgon një push (i kufizuar në një në ditë, orët e qeta respektohen).
Ndërfaqja e përdoruesit tërheq artefaktin përmes një thirrjeje të autentikuar API. Hub-i ri-renditet me përmbajtjen e re. Nëse përdoruesi ishte jashtë linje, cache-i shërben pamjen e djeshme dhe artefakti i ri shfaqet kur rilidhet.
Indeksuar për pyetjet që secila prej tyre u përgjigjet.
Hyrjet e albumit. Indekset në userId, status, deletedAt. Fshirja e butë e para; fshirja e plotë e PII pas 30 ditësh.
Kapituj të shkruar nga AI, trup i enkriptuar. Indeksa mbi personId, userId, generatedAt. Chipet e aspekteve ruhen si një array i veçantë për filtrim të shpejtë.
Refleksione të shkruara nga përdoruesit, trup i enkriptuar. Indekse mbi userId, personId, createdAt. Trup me indeks teksti për kërkim. Flamur 'private — mos e ushqej në Luminara' për çdo hyrje.
Pikët me katër dimensione për lidhje. Indeks i vetëm mbi personId. Rikomputohen përmes thirrjes së shërbimit pas shkruarjes së kapitullit ose ditarit.
Rregull i rreptë: ngjarjet aktivizohen vetëm pas commit-it të bazës së të dhënave. Varësitë ndërmjet moduleve përmes tokenave të injektimit të simboleve, kurrë përmes forwardRef. S'ka importe direkte shërbim-shërbim midis moduleve të veçorive.
SoulwiseEvents.CHAPTER_COMPLETED — SoulwiseEvents.CHAPTER_COMPLETED — aktivizohet pasi një kapitull është i enkriptuar dhe i ruajtur. Notifications-v2 dëgjon; krijon artikull në kutinë hyrëse; dërgon mundësisht push.SoulwiseEvents.JOURNAL_CREATED — SoulwiseEvents.JOURNAL_CREATED — aktivizohet pasi një hyrje në ditar është e enkriptuar dhe e ruajtur. Shërbimi i rezonancës dëgjon; shkakton rikomputimin.SoulwiseEvents.PERSON_BIRTH_UPDATED — SoulwiseEvents.PERSON_BIRTH_UPDATED — aktivizohet pasi ndryshojnë të dhënat e lindjes së një personi. Cache-i i sinastrisë invalidohet.SoulwiseEvents.PUSH_REQUESTED — SoulwiseEvents.PUSH_REQUESTED — sipas kontratës së notifications-v2; respekton buxhetin e push dhe oraret e heshta.119 kërkesa të gjurmueshme, zero hapësira. Çdo kërkesë lidhet përpara me një rast testi (UTP, ITP, STP, E2E) dhe prapa me një tregim përdoruesi. 20 tregime përdoruesi. 15 kërkesa funksionale. 12 kategori jofunksionale. 8 porta pranueshmërie globale.
Gjenerimi i kapitullit 30 sekonda ose më mirë për 95% të kërkesave, i matur kundrejt shpërndarjes së kohëzgjatjes së punëve BullMQ. Latenca p99 e API-t për GET 500 ms ose më mirë me 1,000 përdorues të njëkohshëm, e matur përmes testit të ngarkesës k6. TTI i frontend-it 3 sekonda ose më mirë në 4G të simuluar, e matur përmes Lighthouse CI.
Enkriptim AES-256 në qetësi me çelësa të menaxhuar nga platforma për trupat e ditarit dhe kapitujve. TLS 1.2+ në transit; ridrejtim HTTP→HTTPS. Tokena aksesi JWT me jetëgjatje 1-orëshe, tokena rifreskimi me jetëgjatje 30-ditore, rotacion në rifreskim. Fshirje e butë me dritare 30-ditore para fshirjes së fortë të PII.
prefers-reduced-motion respektohet globalisht — animacionet GSAP kthehen në zbehje vetëm me opacitet. Etiketa VoiceOver dhe TalkBack në çdo element interaktiv. Verifikuar manualisht në iOS dhe Android para çdo lëshimi.
Sepse specifikimi i rrjedhës së sipërme e rindërton funksionin, dhe rindërtimi brenda një moduli ekzistues ose do të prishte përvojën e v1, ose do të kërkonte fork-pastaj-merge më vonë. Një modul i ri e mban v1 të paprekur, e lejon v2 të dëshmojë veten dhe migron pastër kur të jetë gati.
Backend-i ekzistues i My Zodiac AI është në MongoDB; ndërrimi do të ishte një vendim infrastrukturor i palidhur me këtë funksion. Modeli i dokumentit u përshtatet gjithashtu mirë kapitujve dhe hyrjeve në ditar — të ndërthurura, me gjatësi të ndryshme, të enkriptuara si blob.
BullMQ ekzekutohet mbi Redis, i cili është tashmë në stack për sesionin dhe kufizimin e shpejtësisë. Asnjë infrastrukturë e re. Riprovimi, koha e pritjes dhe vëzhgueshmëria e integruar mbulojnë nevojat e gjenerimit të kapitujve pa instalime të personalizuara.
Repo e brendshme. Numrat dhe kontratat në këtë faqe parafrazojnë artefaktet e modelit V të rrjedhës së sipërme. Postimet e blogut të inxhinierisë me pamje publike në grupin e blogut të My Zodiac AI (me etiketën 'cosmic-story-v2') shkojnë më thellë në pjesë specifike të ndërtimit.
Ndërsa Soulwise hap valët e tij, aplikacioni ynë kryesor i astrologjisë është tashmë në duart e tua.
Përmbajtja astrologjike është për reflektim dhe argëtim. Veçoritë e Cosmic Story v2 të përshkruara këtu janë në zhvillim; disponueshmëria mund të ndryshojë pa paralajmërim.