soulwise_persons
Albuma ieraksti. Indeksi uz userId, status, deletedAt. Vispirms mīkstā dzēšana; PII cietā dzēšana pēc 30 dienām.
Inženieriem, produktu vadītājiem, žurnālistiem un partnerību meklētājiem. Pilns process, četras MongoDB kolekcijas, EDA notikumi, V-Model stingrība, veiktspējas mērķi, drošība un piekļūstamība — viss vienā lapā.
Katram solim ir pakalpojums, līgums un notikums.
Lietotāja darbība — “izveidot šīsdienas nodaļu māsai” — vai ieplānots cron uzdevums, piemēram, svētdienas 9 rīta kopsavilkums vai ik pēc 6 stundām veiktais laikapstākļu atjauninājums.
Uzdevums nonāk BullMQ rindā ar nosaukumu soulwise-chapter-generation un stingru 28 sekunžu noildzi. Ilgi izpildāmie uzdevumi tiek pārtraukti un lietotājam parādīti kā “mēģini vēlreiz”.
ChapterGenerationService apvieno četru faktoru uzvedni — personas kontekstu, astroloģiju, signālu, ritmu — vienā ievaddatā. Uzvednē nenonāk neapstrādāti lietotāja personas dati to sākotnējā veidā; viss vispirms tiek attīrīts.
AI nodrošinātājs tiek izsaukts ar AI_GENERATION_ADAPTER simbola marķieri — nodrošinātāju var nomainīt. Atbilde tiek pārbaudīta pēc garuma, formas un drošības, pirms turpināt.
Notiek četras lietas: krīzes klasifikators pārbauda, vai nav krīzes valodas; aspektu žetonu izvilcējs izvelk vienu līdz trīs astroloģijas žetonus; pretpaziņojumu filtrs noņem aizliegtos formulējumus; pamatteksts tiek šifrēts ar AES-256, izmantojot platformas pārvaldītu atslēgu.
Artefakts tiek ierakstīts atbilstošajā MongoDB kolekcijā — nodaļas, dienasgrāmatas ieraksti, rezonanses — ar userId un personId indeksiem ātrai meklēšanai. Vispirms mīkstā dzēšana; PII cietā dzēšana pēc 30 dienām.
EventEmitter2 notikums — CHAPTER_COMPLETED, JOURNAL_CREATED — tiek aktivizēts pēc datubāzes apstiprināšanas. Paziņojumu modulis to uztver, izveido iesūtnes vienumu un pēc izvēles nosūta tūlītēju paziņojumu (ne vairāk kā vienu dienā, ievērojot klusuma stundas).
Priekšpuse izgūst artefaktu ar autentificētu API izsaukumu. Centrs tiek atkārtoti atveidots ar jauno saturu. Ja lietotājs bija bezsaistē, kešatmiņa parāda vakardienas skatu, un jaunais artefakts parādās, atjaunojot savienojumu.
Indeksēti vaicājumiem, uz kuriem katrs atbild.
Albuma ieraksti. Indeksi uz userId, status, deletedAt. Vispirms mīkstā dzēšana; PII cietā dzēšana pēc 30 dienām.
AI rakstītas nodaļas, šifrēts saturs. Indeksi uz personId, userId, generatedAt. Aspektu žetoni tiek glabāti kā atsevišķs masīvs ātrai filtrēšanai.
Lietotāja rakstītas pārdomas, šifrēts saturs. Indeksi uz userId, personId, createdAt. Teksta indeksēts saturs meklēšanai. Katram ierakstam karodziņš “privāts — nedot Luminara”.
Četru dimensiju vērtējumi katrai saiknei. Unikāls indekss uz personId. Pārrēķināts ar pakalpojuma izsaukumu pēc nodaļas vai dienasgrāmatas ieraksta.
Stingrs noteikums: notikumi tiek aktivizēti tikai pēc datubāzes apstiprināšanas. Starpmoduļu atkarības — caur Symbol injekcijas marķieriem, nekad caur forwardRef. Nekādu tiešu pakalpojumu savstarpēju importu starp funkciju moduļiem.
SoulwiseEvents.CHAPTER_COMPLETED — SoulwiseEvents.CHAPTER_COMPLETED — aktivizējas pēc tam, kad nodaļa ir šifrēta un saglabāta. Notifications-v2 klausās; izveido iesūtnes vienumu; pēc izvēles nosūta push paziņojumu.SoulwiseEvents.JOURNAL_CREATED — SoulwiseEvents.JOURNAL_CREATED — aktivizējas pēc tam, kad dienasgrāmatas ieraksts ir šifrēts un saglabāts. Rezonanses pakalpojums klausās; izraisa pārrēķinu.SoulwiseEvents.PERSON_BIRTH_UPDATED — SoulwiseEvents.PERSON_BIRTH_UPDATED — aktivizējas pēc tam, kad mainās personas dzimšanas dati. Sināstrijas kešatmiņa tiek atzīta par nederīgu.SoulwiseEvents.PUSH_REQUESTED — SoulwiseEvents.PUSH_REQUESTED — saskaņā ar notifications-v2 līgumu; ievēro push budžetu un klusos laikus.119 izsekojamas prasības, nulle robu. Katra prasība uz priekšu sasaistās ar testa gadījumu (UTP, ITP, STP, E2E) un atpakaļ ar lietotāja stāstu. 20 lietotāja stāsti. 15 funkcionālās prasības. 12 nefunkcionālās kategorijas. 8 globālie pieņemšanas vārti.
Nodaļas ģenerēšana 30 sekundes vai ātrāk 95% pieprasījumu, mērot pret BullMQ darbu ilguma sadalījumu. API p99 GET latentums 500 ms vai labāk pie 1,000 vienlaicīgiem lietotājiem, mērot ar k6 slodzes testu. Priekšgala TTI 3 sekundes vai ātrāk simulētā 4G tīklā, mērot ar Lighthouse CI.
AES-256 šifrēšana miera stāvoklī ar platformas pārvaldītām atslēgām dienasgrāmatu un nodaļu saturam. TLS 1.2+ pārsūtīšanas laikā; HTTP→HTTPS pāradresācija. JWT piekļuves marķieri ar 1 stundu darbības laiku, atjaunošanas marķieri ar 30 dienu darbības laiku, rotācija atjaunošanas brīdī. Maigā dzēšana ar 30 dienu logu pirms personas datu galīgās dzēšanas.
prefers-reduced-motion tiek ievērots globāli — GSAP animācijas pārvēršas tikai par caurspīdīguma pārejām. VoiceOver un TalkBack iezīmes ir uz katra interaktīvā elementa. Pirms katra laidiena manuāli pārbaudīts iOS un Android ierīcēs.
Tāpēc, ka augšupējā specifikācija šo funkciju veido no jauna, un pārbūve esoša moduļa ietvaros vai nu sabojātu v1 pieredzi, vai arī novestu pie sazarošanas un vēlākas apvienošanas. Jauns modulis atstāj v1 neskartu, ļauj v2 sevi apliecināt un migrē tīri, kad viss ir gatavs.
Esošais My Zodiac AI aizmugursistēmas serveris darbojas ar MongoDB; pāreja nozīmētu infrastruktūras lēmumu, kas ar šo funkciju nav saistīts. Dokumentu modelis labi der arī nodaļām un dienasgrāmatas ierakstiem — ligzdoti, mainīga garuma, šifrēti kā bloks.
BullMQ darbojas ar Redis, kas jau ir tehnoloģiju kopumā sesiju un pieprasījumu ierobežošanai. Nekādas jaunas infrastruktūras. Iebūvētie atkārtošanas, noildzes un novērojamības mehānismi sedz nodaļu ģenerēšanas vajadzības bez papildu pielāgojumiem.
Iekšējā repozitorijā. Skaitļi un līgumi šajā lapā pārstāsta augšupējos V-modeļa artefaktus. Publiskie inženierijas emuāra ieraksti My Zodiac AI emuāra klasterī (ar birku 'cosmic-story-v2') iedziļinās konkrētās izstrādes daļās.
Kamēr Soulwise sper savus pirmos viļņus, mūsu vadošā astroloģijas lietotne jau ir tavās rokās.
Astroloģiskais saturs ir domāts pārdomām un izklaidei. Šeit aprakstītās Cosmic Story v2 funkcijas ir izstrādes procesā; to pieejamība var mainīties bez iepriekšēja brīdinājuma.