soulwise_persons
Maingizo ya albamu. Faharasa kwenye userId, status, deletedAt. Futa kwa njia laini kwanza; futa kabisa PII baada ya siku 30.
Kwa wahandisi, mameneja wa bidhaa, waandishi wa habari, na wapelelezi wa ushirikiano. Mfumo kamili wa uchakataji, makusanyo 4 ya MongoDB, matukio ya EDA, ukamilifu wa V-Model, malengo ya utendaji, usalama, na ufikiaji — yote katika ukurasa mmoja.
Kila hatua ina huduma, mkataba, na tukio.
Kitendo cha mtumiaji — 'tengeneza sura ya leo kwa Sister' — au cron iliyopangwa, kama muhtasari wa Jumapili saa 9 asubuhi, au uboreshaji wa hali ya hewa kila masaa 6.
Kazi inawekwa kwenye foleni ya BullMQ iitwayo soulwise-chapter-generation, ikiwa na muda mkali wa sekunde 28. Kazi zenye muda mrefu huasiliwa na kuripotiwa kwa mtumiaji kama 'jaribu tena'.
Huduma ya ChapterGenerationService inakusanya ombi la vipengele vinne — muktadha wa mtu, unajimu, ishara, midundo — katika ingizo moja. Hakuna data halisi za mtumiaji (PII) zinazowekwa moja kwa moja katika ombi; kila kitu kinatengenezwa safi kwanza.
Mtoa huduma wa AI hupigwa simu kupitia ishara ya ⟦AI_GENERATION_ADAPTER⟧ — mtoa huduma anabadilika. Jibu linakaguliwa kwa urefu, umbo, na usalama kabla ya kuendelea.
Mambo manne hutokea: kipanga hali ya dharura hukagua lugha ya dharura; kichujio cha vipande vya nyota kinatoa kipande kimoja hadi vitatu vya astrolojia; kichujio cha kuzuia madai husafisha maneno yaliyopigwa marufuku; mwili unafichwa kwa usimbaji wa AES-256 kwa kutumia ufunguo unaosimamiwa na jukwaa.
Kipengele hiki kinaandikwa kwenye mkusanyiko sahihi wa MongoDB — sura, maingizo ya jarida, resonance — pamoja na faharasa za userId na personId kwa utafutaji wa haraka. Futa kwa upole kwanza; futa kabisa data ya PII baada ya siku 30.
Tukio la EventEmitter2 — CHAPTER_COMPLETED, JOURNAL_CREATED — linafanyika baada ya kuhifadhi kwenye hifadhidata. Moduli ya taarifa inakichukua, inaunda kipengele cha kisanduku pokezi, na kwa hiari hutuma ujumbe push (imepunguzwa hadi moja kwa siku, masaa ya utulivu yanaheshimiwa).
Kiolesura huchukua kipande cha data kupitia ombi la API lililothibitishwa. Hub inachora upya na maudhui mapya. Ikiwa mtumiaji alikuwa nje ya mtandao, kashe inatoa muonekano wa jana na kipande kipya cha data kinaonekana tena baada ya kuunganishwa upya.
Imefahirishwa kwa ajili ya hoja ambazo kila moja hujibu.
Maingizo ya albamu. Faharasa kwenye userId, status, deletedAt. Futa kwa njia laini kwanza; futa kabisa PII baada ya siku 30.
Sura zilizoandikwa na AI, maudhui yaliyosimbwa. Faharasa kwenye personId, userId, generatedAt. Chipu za mwelekeo zimehifadhiwa kama safu tofauti kwa uchujaji wa haraka.
Tafakari zilizoandikwa na mtumiaji, mwili uliosimbwa kwa fiche. Faharasa kwenye userId, personId, createdAt. Mwili ulioainishwa kwa maandishi kwa ajili ya utafutaji. Alama ya 'ya faragha — usitumie kwenye Luminara' kwa kila ingizo.
Alama za pande nne kwa kila uhusiano. Faharasa ya kipekee kwenye personId. Hukokotolewa upya kupitia mwito wa huduma baada ya kuandika sura au shajara.
Kanuni ya msingi: matukio hufanya kazi tu baada ya kuthibitisha database. Utegemezi kati ya moduli kwa kutumia tokeni za Symbol injection, wala si kwa njia ya forwardRef. Hakuna uagizaji wa moja kwa moja wa huduma kati ya moduli za kipengele.
SoulwiseEvents.CHAPTER_COMPLETED — SoulwiseEvents.CHAPTER_COMPLETED — huamsha baada ya sura kusimbwa kwa fiche na kuhifadhiwa. Notifications-v2 husikiliza; huunda kipengee cha sanduku la posta; huweza kutuma push.SoulwiseEvents.JOURNAL_CREATED — SoulwiseEvents.JOURNAL_CREATED — huamsha baada ya ingizo la shajara kusimbwa kwa fiche na kuhifadhiwa. Huduma ya Resonance husikiliza; huleta ukokotoaji upya.SoulwiseEvents.PERSON_BIRTH_UPDATED — SoulwiseEvents.PERSON_BIRTH_UPDATED — huamsha baada ya maelezo ya kuzaliwa kwa mtu kubadilika. Akiba ya mwingiliano wa nyota inabatilika.SoulwiseEvents.PUSH_REQUESTED — SoulwiseEvents.PUSH_REQUESTED — kwa mujibu wa mkataba wa notifications-v2; huzingatia bajeti ya push na saa za utulivu.Mahitaji 119 yanayofuatiliwa, pengo sifuri. Kila hitaji huunganishwa mbele hadi kwenye kesi ya jaribio (UTP, ITP, STP, E2E) na nyuma hadi hadithi ya mtumiaji. Hadithi 20 za watumiaji. Mahitaji 15 ya utendaji. Kategoria 12 zisizo za utendaji. Milango 8 ya kukubali ya kimataifa.
Uundaji wa sura sekunde 30 au bora zaidi kwa 95% ya maombi, kwa kupimwa dhidi ya usambazaji wa muda wa kazi wa BullMQ. Muda wa kusubiri wa API p99 GET 500 ms au bora zaidi kwa watumiaji 1,000 wa wakati mmoja, kwa kupimwa kupitia jaribio la mzigo la k6. Frontend TTI sekunde 3 au bora zaidi kwenye 4G ya simulizi, kwa kupimwa kupitia Lighthouse CI.
Usimbaji fiche wa AES-256 wakati wa kupumzika kwa kutumia funguo zinazosimamiwa na jukwaa kwa ajili ya miili ya shajara na sura. TLS 1.2+ wakati wa usafirishaji; uelekezaji wa HTTP→HTTPS. Tokeni za ufikiaji za JWT zenye muda wa maisha wa saa 1, tokeni za kuonyesha upya zenye muda wa maisha wa siku 30, mzunguko wakati wa kuonyesha upya. Ufutaji laini wenye dirisha la siku 30 kabla ya ufutaji kamili wa PII.
prefers-reduced-motion inaheshimiwa kimataifa — michoro ya GSAP huwa fades za uwazi pekee. Lebo za VoiceOver na TalkBack kwenye kila kipengele cha kuingiliana. Imethibitishwa kwa mikono kwenye iOS na Android kabla ya kila kuachiliwa.
Kwa sababu muundo wa juu unajenga upya kipengele, na kujenga upya ndani ya moduli iliyopo kungeharibu uzoefu wa v1 au kungelazimu kugawanya-kisha-kuunganisha baadaye. Moduli mpya huweka v1 bila kuguswa, inaruhusu v2 ijithibitishe, na kuhama kwa usafi wakati itakapokuwa tayari.
Sehemu iliyopo ya nyuma ya My Zodiac AI iko kwenye MongoDB; kubadilisha kungemaanisha uamuzi wa miundombinu usiohusiana na kipengele hiki. Muundo wa hati pia unafaa vizuri kwa sura na maingizo ya daftari — yaliyowekwa ndani, yenye urefu tofauti, yaliyofungwa kama blob.
BullMQ inafanya kazi kwenye Redis, ambayo tayari iko kwenye stack kwa ajili ya session na rate-limit. Hakuna miundombinu mipya. Ujumuishaji wa kurudia, muda wa kuisha, na uwezo wa kutazama hushughulikia mahitaji ya uundaji wa sura bila plambi za kipekee.
Repo ya ndani. Nambari na mikataba kwenye ukurasa huu hufafanua kwa ufupi vitu vya awali vya V-Model. Makala za kiufundi za blogu zinazoonekana kwa umma kwenye kundi la blogu la My Zodiac AI (zilizowekewa alama 'cosmic-story-v2') huingia kwa undani zaidi katika sehemu maalum za ujenzi.
Wakati Soulwise ikifungua mawimbi yake, programu yetu kuu ya unajimu tayari iko mikononi mwako.
Maudhui ya unajimu ni kwa kutafakari na burudani. Vipengele vya Cosmic Story v2 vilivyoelezwa hapa viko katika maendeleo; upatikanaji unaweza kubadilika bila taarifa.