soulwise_persons
Albumi kirjed. Indeksid väljadel userId, status, deletedAt. Esmalt pehme kustutamine; PII püsiv kustutamine 30 päeva järel.
Inseneridele, tootejuhtidele, ajakirjanikele ja partnerlusskautidele. Kogu töövoog, neli MongoDB kollektsiooni, EDA sündmused, V-mudeli rangus, jõudluseesmärgid, turvalisus ja ligipääsetavus — kõik ühel lehel.
Igal sammul on oma teenus, leping ja sündmus.
Kasutaja tegevus — „loo Õe jaoks tänane peatükk“ — või ajastatud cron, näiteks pühapäevane 9 hommikune kokkuvõte või iga 6 tunni tagant tehtav ilmavärskendus.
Töö satub BullMQ järjekorda nimega soulwise-chapter-generation, mille range ajalimiit on 28 sekundit. Liiga kaua kestvad tööd lõpetatakse ja kasutajale teatatakse „proovi uuesti“.
ChapterGenerationService koondab nelja teguri viiba — isiku konteksti, astroloogia, signaali ja rütmi — üheks sisendiks. Ükski kasutaja toores isikuandmete kild ei jõua viibasse sõnasõnaliselt; kõik puhastatakse esmalt.
AI-pakkujat kutsutakse välja AI_GENERATION_ADAPTER sümboltunnuse kaudu — pakkuja on vahetatav. Vastust kontrollitakse pikkuse, kuju ja turvalisuse osas, enne kui edasi minnakse.
Toimub neli asja: kriisiklassifikaator otsib kriisile viitavat keelekasutust; aspektikiipide eraldaja võtab välja üks kuni kolm astroloogiakiipi; väidetevastane filter eemaldab keelatud sõnastused; sisu krüpteeritakse AES-256 abil platvormi hallatava võtmega.
Artefakt kirjutatakse vastavasse MongoDB kollektsiooni — peatükid, päevikukanded, resonantsid — koos userId ja personId indeksitega kiireks otsinguks. Esmalt pehme kustutus; isikuandmete lõplik kustutus 30 päeva pärast.
EventEmitter2 sündmus — CHAPTER_COMPLETED, JOURNAL_CREATED — käivitub pärast andmebaasi kinnitamist. Teavituste moodul võtab selle vastu, loob postkasti kirje ja saadab valikuliselt tõuketeate (piiratud ühele päevas, vaikuse tunde austades).
Esikülg tõmbab artefakti autenditud API-päringu kaudu. Hub renderdab uue sisuga uuesti. Kui kasutaja oli võrguühenduseta, serveerib vahemälu eilset vaadet ja uus artefakt ilmub taasühendumisel.
Indekseeritud vastavalt päringutele, millele igaüks vastab.
Albumi kirjed. Indeksid väljadel userId, status, deletedAt. Esmalt pehme kustutamine; PII püsiv kustutamine 30 päeva järel.
Tehisaru kirjutatud peatükid, krüpteeritud sisu. Indeksid väljadel personId, userId, generatedAt. Aspektimärgid salvestatakse eraldi massiivina kiireks filtreerimiseks.
Kasutaja kirjutatud mõtisklused, krüpteeritud sisu. Indeksid väljadel userId, personId, createdAt. Tekstiindeksiga sisu otsingu jaoks. Kirjepõhine lipp „privaatne — ära jaga Luminarale".
Nelja mõõtme skoorid iga sideme kohta. Unikaalne indeks väljal personId. Arvutatakse uuesti teenusekutsega pärast peatüki või päeviku kirjutamist.
Range reegel: sündmused käivituvad alles pärast andmebaasi commit'i. Moodulitevahelised sõltuvused toimuvad Symbol-injektsioonitokenite kaudu, mitte kunagi forwardRef-i kaudu. Funktsioonimoodulite vahel pole otseseid teenuselt-teenusele importe.
SoulwiseEvents.CHAPTER_COMPLETED — SoulwiseEvents.CHAPTER_COMPLETED — käivitub pärast peatüki krüpteerimist ja salvestamist. Notifications-v2 kuulab seda; loob postkasti kirje; saadab vajadusel push-teate.SoulwiseEvents.JOURNAL_CREATED — SoulwiseEvents.JOURNAL_CREATED — käivitub pärast päevikukande krüpteerimist ja salvestamist. Resonantsiteenus kuulab seda; käivitab ümberarvutuse.SoulwiseEvents.PERSON_BIRTH_UPDATED — SoulwiseEvents.PERSON_BIRTH_UPDATED — käivitub pärast inimese sünniandmete muutumist. Sünastria vahemälu tühistatakse.SoulwiseEvents.PUSH_REQUESTED — SoulwiseEvents.PUSH_REQUESTED — vastavalt notifications-v2 lepingule; arvestab push-eelarve ja vaikuse tundidega.119 jälgitavat nõuet, null lünka. Iga nõue on seotud edasi testjuhtumiga (UTP, ITP, STP, E2E) ja tagasi kasutajalooga. 20 kasutajalugu. 15 funktsionaalset nõuet. 12 mittefunktsionaalset kategooriat. 8 üldist vastuvõtuväravat.
Peatüki genereerimine 30 sekundit või kiiremini 95% päringute puhul, mõõdetuna BullMQ töö kestuse jaotuse alusel. API p99 GET-latentsus 500 ms või parem 1,000 samaaegse kasutaja juures, mõõdetuna k6 koormustestiga. Frontendi TTI 3 sekundit või parem simuleeritud 4G-võrgus, mõõdetuna Lighthouse CI abil.
AES-256 krüpteering puhkeolekus platvormi hallatavate võtmetega päeviku- ja peatükisisule. TLS 1.2+ andmeedastusel; HTTP→HTTPS ümbersuunamine. JWT juurdepääsutokenid 1-tunnise elueaga, värskendustokenid 30-päevase elueaga, rotatsioon värskendamisel. Pehme kustutamine 30-päevase aknaga enne isikuandmete lõplikku kustutamist.
prefers-reduced-motion on globaalselt arvestatud — GSAP-animatsioonidest saavad ainult läbipaistvuse hajumised. VoiceOveri ja TalkBacki sildid on igal interaktiivsel elemendil. Enne iga väljalaset käsitsi kontrollitud nii iOS-is kui ka Androidis.
Sest lähtespetsifikatsioon ehitab funktsiooni ümber ja olemasoleva mooduli sees ümberehitamine kas rikuks v1 kogemuse või tähendaks hilisemat hargnemist ja taasühendamist. Uus moodul jätab v1 puutumata, laseb v2 end tõestada ja võimaldab valmides puhta ülemineku.
Olemasolev My Zodiac AI backend töötab MongoDB peal; vahetamine tähendaks selle funktsiooniga mitteseotud taristuotsust. Dokumendimudel sobib ka peatükkide ja päevikukirjete jaoks hästi — pesastatud, varieeruva pikkusega, krüpteeritud blobina.
BullMQ töötab Redise peal, mis on stäkis juba olemas sessiooni ja kiiruspiirangu jaoks. Uut taristut pole vaja. Sisseehitatud kordus, ajalõpp ja jälgitavus katavad peatükkide genereerimise vajadused ilma eritorustikuta.
Sisemises repos. Selle lehe numbrid ja kokkulepped sõnastavad ümber lähtespetsifikatsiooni V-mudeli artefaktid. My Zodiac AI ajaveebiklastri avalikud inseneriblogi postitused (sildiga 'cosmic-story-v2') süüvivad ehituse konkreetsetesse osadesse põhjalikumalt.
Kui Soulwise oma laineid avab, on meie lipulaev-astroloogiarakendus juba sinu käeulatuses.
Astroloogiasisu on mõeldud eneserefleksiooniks ja meelelahutuseks. Siin kirjeldatud Cosmic Story v2 funktsioonid on alles arendamisel; nende kättesaadavus võib etteteatamata muutuda.