soulwise_persons
Àwọn ìbáwọlé album. Àwọn àmì lórí userId, status, deletedAt. Ìparẹ́ rírọ̀ ní àkọ́kọ́; ìparẹ́ líle ti PII ní ọjọ́ 30.
Fún àwọn ẹlẹ́rọ, àwọn PM, àwọn akọ̀ròyìn, àti àwọn aṣàwárí àjọṣepọ̀. Gbogbo ọ̀nà-iṣẹ́ náà, àkójọpọ̀ MongoDB mẹ́rin, àwọn iṣẹ̀lẹ̀ EDA, ìṣòro V-Model, àwọn àfojúsùn ìṣesí, ààbò, àti ìrọrùn-wíwọlé — gbogbo rẹ̀ lórí ojú-ìwé kan.
Ìgbésẹ̀ kọ̀ọ̀kan ní service kan, àdéhùn kan, àti ìṣẹ̀lẹ̀ kan.
Ìṣe olùmúlò kan — 'pèsè orí ìwé òní fún Arábìnrin' — tàbí cron tí a ti ṣètò, bíi àkótán Ọjọ́ Àìkú ní 9 a.m., tàbí ìtúnṣe ojú-ọjọ́ ní gbogbo wákàtí 6.
Iṣẹ́ náà ń bọ̀ sí ìlà-ìdúró BullMQ tí orúkọ rẹ̀ jẹ́ soulwise-chapter-generation, pẹ̀lú àkókò ìparí líle ti 28 ìṣẹ́jú-aaya. A ó pa àwọn iṣẹ́ tó ń pẹ́ jù, a ó sì ròyìn rẹ̀ sí olùmúlò gẹ́gẹ́ bí 'gbìyànjú lẹ́ẹ̀kan sí i'.
ChapterGenerationService ń kó àwọn àfojúsùn ìṣírò mẹ́rin jọ — ọ̀rọ̀ ẹni, ìmọ̀ ìràwọ̀, àmì, àti ìlù — sí ìbẹ̀rẹ̀ kan ṣoṣo. Kò sí ìsọfúnni aládàáni olùmúlò tó ń wọ inú ìbẹ̀rẹ̀ náà bí ó ti rí; a ti fọ ohun gbogbo mọ́ tẹ́lẹ̀.
A máa pe olùpèsè AI nípasẹ̀ àmì-àkọ́sílẹ̀ AI_GENERATION_ADAPTER — olùpèsè náà ṣeé yí padà. A máa ṣàyẹ̀wò ìdáhùn náà fún gígùn, ìrísí, àti àìléwu kí á tó tẹ̀síwájú.
Nǹkan mẹ́rin ló máa ṣẹlẹ̀: olùpín-ìpọ́njú kan máa ṣàyẹ̀wò fún èdè ìpọ́njú; olùyọ-àmì-ìbáṣepọ̀ máa fa àmì ìràwọ̀ kan dé mẹ́ta jáde; àlẹ̀mọ́-àtakò-ẹ̀dùn máa mú àwọn ọ̀rọ̀ tí a kọ̀sílẹ̀ kúrò; a ó sì fi kọ́kọ́rọ́ tí pẹpẹ náà ń ṣàkóso fi AES-256 pa ara àkọsílẹ̀ náà mọ́ ní àṣírí.
A máa kọ àkójọ náà sí àkójọpọ̀ MongoDB tí ó yẹ — orí-ọ̀rọ̀, àkọsílẹ̀ ìwé-ìrántí, ìbáramu — pẹ̀lú àwọn àtọ́ka userId àti personId fún wíwá kíákíá. Ìparẹ́-rírọ̀ ní àkọ́kọ́; ìparẹ́-líle ti PII ní ọjọ́ 30.
Ìṣẹ̀lẹ̀ EventEmitter2 kan — CHAPTER_COMPLETED, JOURNAL_CREATED — máa tanná lẹ́yìn tí a bá ti fọwọ́sí ìpamọ́ ibùdó-ìsọfunni. Mọ́dúlù ìfìtọ́nilétí máa gbé e, máa ṣẹ̀dá ohun kan sí àpótí-ìfìwéránṣẹ́, ó sì lè rán ìtì-ìfìtọ́nilétí (tí a ká mọ́ ẹ̀ẹ̀kan lóòjọ́, tí a sì bọ̀wọ̀ fún àwọn wákàtí ìdákẹ́jẹ́ẹ́).
Ojú-iwájú máa fa àkójọ náà nípasẹ̀ ìpè API tí a fọwọ́sí. Hub máa tún kọ àkóónú tuntun náà jáde. Tí olùmúlò bá wà lẹ́yìn-àyélujára, kàṣì máa fún ọ ní ìwò àná, àkójọ tuntun náà yóò sì fara hàn nígbà tí ó bá tún darapọ̀.
Tí a ṣàmì sí fún àwọn ìbéèrè tí ọ̀kọ̀ọ̀kan ń dáhùn.
Àwọn ìbáwọlé album. Àwọn àmì lórí userId, status, deletedAt. Ìparẹ́ rírọ̀ ní àkọ́kọ́; ìparẹ́ líle ti PII ní ọjọ́ 30.
Àwọn orí tí AI kọ, ara tí a fi pa mọ́. Àwọn àmì lórí personId, userId, generatedAt. A pa àwọn èérún aspect mọ́ gẹ́gẹ́ bí ọ̀wọ́ ọ̀tọ̀ fún àyẹ̀wò kíákíá.
Àwọn àfàṣàrò tí olùmúlò kọ, ara tí a fi pa mọ́. Àwọn àmì lórí userId, personId, createdAt. Ara tí a fi text ṣàmì sí fún ìwákiri. Àmì 'aṣírí — má fi fún Luminara' fún ìbáwọlé kọ̀ọ̀kan.
Àwọn ìdíwọ̀n ojú-mẹ́rin fún ìdè kọ̀ọ̀kan. Àmì aláìlẹ́gbẹ́ lórí personId. A tún ṣírò rẹ̀ nípasẹ̀ ìpè service lẹ́yìn kíkọ orí tàbí journal.
Òfin tó le: àwọn ìṣẹ̀lẹ̀ máa ń jáde lẹ́yìn ìfìdíkalẹ̀ (commit) sí ibi ìpamọ́ data nìkan. Àwọn ìgbáralé tó kọjá module nípasẹ̀ àmì àfilọ́nà Symbol, kì í ṣe nípasẹ̀ forwardRef. Kò sí àgbéwọlé tààrà láàrin iṣẹ́ kan sí òmíràn láàrin àwọn module ẹ̀ya-ọ̀rọ̀.
SoulwiseEvents.CHAPTER_COMPLETED — SoulwiseEvents.CHAPTER_COMPLETED — máa ń jáde lẹ́yìn tí a bá ti fi orí-ọ̀rọ̀ pamọ́ sínú àmì-ìkọ̀kọ̀ tí a sì fìdí rẹ̀ múlẹ̀. Notifications-v2 ń tẹ́tí sílẹ̀; ó ń ṣẹ̀dá ohun ìnbox; ó lè rán push pẹ̀lú.SoulwiseEvents.JOURNAL_CREATED — SoulwiseEvents.JOURNAL_CREATED — máa ń jáde lẹ́yìn tí a bá ti fi àkọsílẹ̀ ìwé-ìrántí pamọ́ sínú àmì-ìkọ̀kọ̀ tí a sì fìdí rẹ̀ múlẹ̀. Iṣẹ́ Resonance ń tẹ́tí sílẹ̀; ó ń mú ìṣirò-tuntun ṣiṣẹ́.SoulwiseEvents.PERSON_BIRTH_UPDATED — SoulwiseEvents.PERSON_BIRTH_UPDATED — máa ń jáde lẹ́yìn tí dátà-ìbí ènìyàn kan bá yí padà. Àpótí-ìpamọ́ ìbáàdandun di àìwúlò.SoulwiseEvents.PUSH_REQUESTED — SoulwiseEvents.PUSH_REQUESTED — gẹ́gẹ́ bí àdéhùn notifications-v2; ó ń bọ̀wọ̀ fún ìpín owó push àti àwọn wákàtí ìdákẹ́jẹ́ẹ́.119 àwọn ohun-ìbéèrè tó ṣe é tọpa, láìsí àlàfo kankan. Ohun-ìbéèrè kọ̀ọ̀kan ń lọ síwájú sí ọ̀ràn ìdánwò kan (UTP, ITP, STP, E2E) ó sì ń padà sẹ́yìn sí ìtàn olùmúlò. 20 àwọn ìtàn olùmúlò. 15 àwọn ohun-ìbéèrè iṣẹ́-ṣíṣe. 12 àwọn ẹ̀ka àìṣe-iṣẹ́-ṣíṣe. 8 àwọn ẹnu-ọ̀nà ìfọwọ́sí àgbáyé.
Ìṣẹ̀dá orí-ọ̀rọ̀ ní ìṣẹ́jú-aaya 30 tàbí dáradára fún 95% àwọn ìbéèrè, tí a wọn lòdì sí pínpín àkókò iṣẹ́ BullMQ. Ìdádúró API p99 GET ní ms 500 tàbí dáradára pẹ̀lú àwọn olùmúlò 1,000 tó wà lẹ́ẹ̀kan náà, tí a wọn nípasẹ̀ ìdánwò ẹrù k6. Frontend TTI ní ìṣẹ́jú-aaya 3 tàbí dáradára lórí 4G àfarawé, tí a wọn nípasẹ̀ Lighthouse CI.
Àmì-ìkọ̀kọ̀ AES-256 nígbà ìsinmi pẹ̀lú àwọn kọ́kọ́rọ́ tí pẹpẹ ń ṣàkóso fún ara ìwé-ìrántí àti orí-ọ̀rọ̀. TLS 1.2+ nígbà gbígbé; ìdarí HTTP→HTTPS. Àwọn àmì-ìwọlé JWT pẹ̀lú ìwàláàyè wákàtí 1, àwọn àmì ìsọdọtun pẹ̀lú ìwàláàyè ọjọ́ 30, ìyípadà nígbà ìsọdọtun. Ìparẹ́ rírọ̀ pẹ̀lú àkókò ọjọ́ 30 kí ìparẹ́ líle ti PII tó wáyé.
prefers-reduced-motion ni a ń bọ̀wọ̀ fún kárí ayé — àwọn eré ìdàgẹrẹ GSAP a di ìfọ́nrọ́n opacity-nìkan. Àwọn àmì VoiceOver àti TalkBack wà lórí gbogbo èròjà tí a lè bá ṣiṣẹ́. A fọwọ́ ṣàyẹ̀wò rẹ̀ lórí iOS àti Android ṣáájú gbogbo ìtújáde.
Nítorí pé àpèjúwe upstream tún ẹ̀ya náà kọ́, kíkọ́ ọ̀ tún inú module tó wà tẹ́lẹ̀ á bàjẹ́ ìrírí v1 tàbí kí ó pín-kí-ó-rọ̀-papọ̀ lẹ́yìn náà. Module tuntun ń jẹ́ kí v1 wà láìfọwọ́kàn, ó ń jẹ́ kí v2 fi ara rẹ̀ hàn, ó sì ń ṣí lọ ní mímọ́ nígbà tí ó bá ti ṣetán.
Backend My Zodiac AI tó wà tẹ́lẹ̀ wà lórí MongoDB; yíyípadà yóò túmọ̀ sí ìpinnu nípa amáyédẹrùn tí kò ní nǹkan ṣe pẹ̀lú ẹ̀ya yìí. Àwòṣe document náà tún bá àwọn orí àti àkọsílẹ̀ ìwé-àkọọlẹ̀ mu dáadáa — tí a tò sínú ara wọn, tí gígùn wọn yàtọ̀, tí a sì kọ́ pa mọ́ gẹ́gẹ́ bí blob.
BullMQ ń ṣiṣẹ́ lórí Redis, tí ó ti wà nínú stack náà fún session àti rate-limit. Kò sí amáyédẹrùn tuntun. Retry, timeout, àti observability tí ó wà nínú rẹ̀ ń bo àwọn àìní ìṣẹ̀dá-orí láìsí àfikún plumbing aṣàkànṣe.
Repo inú. Àwọn nọ́mbà àti àdéhùn tó wà lórí ojú-ìwé yìí ń ṣàtúntúmọ̀ àwọn ohun-èlò V-Model upstream. Àwọn ìfìwéránṣẹ́ blog imọ̀-ẹ̀rọ tí ó dojú kọ àwùjọ lórí ìṣùpọ̀ blog My Zodiac AI (tí a fi àmì 'cosmic-story-v2' sí) ń lọ jìnnà síi sínú àwọn apá pàtó nínú ìkọ́ náà.
Bí Soulwise ti ń ṣí ìṣàn omi rẹ̀ sílẹ̀, app awòràwọ̀ àkọ́kọ́ wa ti wà ní ọwọ́ rẹ tẹ́lẹ̀.
Àkóónú ìmọ̀ ìràwọ̀ wà fún àṣàrò àti eré ìdárayá. Àwọn ẹ̀ya Cosmic Story v2 tí a ṣàpèjúwe níbí wà nínú ìdàgbàsókè; wíwà rẹ̀ lè yí padà láìsí ìkìlọ̀.