soulwise_persons
Альбом жазбалары. Индекстер: userId, status, deletedAt. Алдымен жұмсақ жою; PII-дің қатаң жойылуы 30 күнде.
Инженерлерге, PM-дерге, журналистерге және серіктестік іздеушілерге. Толық pipeline, төрт MongoDB коллекциясы, EDA оқиғалары, V-Model қатаңдығы, өнімділік мақсаттары, қауіпсіздік және қолжетімділік — бәрі бір бетте.
Әр қадамның өз қызметі, келісімшарты және оқиғасы бар.
Қолданушы әрекеті — «Қарындас үшін бүгінгі тарауды жаса» — немесе жоспарланған cron, мысалы, жексенбілік 9 таңғы қорытынды немесе әр 6 сағат сайынғы ауа райын жаңарту.
Тапсырма soulwise-chapter-generation деп аталатын BullMQ кезегіне түседі, қатаң 28 секундтық уақыт шегімен. Ұзақ орындалатын тапсырмалар тоқтатылып, қолданушыға «қайта көріңіз» деп хабарланады.
ChapterGenerationService төрт факторлы промптты — адам контексті, астрология, сигнал, ырғақ — бір кіріске жинайды. Промптқа шикі қолданушы дербес деректері сөзбе-сөз түспейді; барлығы алдымен тазартылады.
AI провайдері AI_GENERATION_ADAPTER символ токені арқылы шақырылады — провайдерді ауыстыруға болады. Жалғастырмас бұрын жауап ұзындығы, пішіні және қауіпсіздігі тұрғысынан тексеріледі.
Төрт нәрсе орын алады: дағдарыс классификаторы дағдарыс тілін тексереді; аспект-чип экстракторы бір-үш астрологиялық чипті алады; қарсы-мәлімдеме сүзгісі тыйым салынған тұжырымдарды алып тастайды; мәтін платформа басқаратын кілтпен AES-256 арқылы шифрленеді.
Артефакт тиісті MongoDB коллекциясына жазылады — тараулар, күнделік жазбалары, резонанстар — жылдам іздеу үшін userId және personId индекстерімен. Алдымен жұмсақ жою; PII деректерін қатаң жою 30 күннен кейін.
EventEmitter2 оқиғасы — CHAPTER_COMPLETED, JOURNAL_CREATED — дерекқорға фиксация жасалғаннан кейін іске қосылады. Хабарландырулар модулі оны қабылдап, кіріс жәшігіне элемент жасайды және қалауыңызша push жібереді (күніне бір реттен аспайды, тыныштық сағаттары сақталады).
Фронтенд артефактіні аутентификацияланған API шақыруы арқылы алады. Хаб жаңа мазмұнмен қайта көрсетіледі. Егер пайдаланушы желіден тыс болса, кэш кешегі көріністі ұсынады, ал жаңа артефакт қайта қосылғанда пайда болады.
Әрқайсысы жауап беретін сұраныстарға қарай индекстелген.
Альбом жазбалары. Индекстер: userId, status, deletedAt. Алдымен жұмсақ жою; PII-дің қатаң жойылуы 30 күнде.
ЖИ жазған тараулар, шифрланған дене. Индекстер: personId, userId, generatedAt. Аспект чиптері жылдам сүзу үшін бөлек массив ретінде сақталады.
Қолданушы жазған ой толғаныстар, шифрланған дене. Индекстер: userId, personId, createdAt. Іздеу үшін мәтіндік индекстелген дене. Әр жазбаға арналған 'жеке — Luminara-ға берілмесін' белгісі.
Әр байланыс бойынша төрт өлшемді ұпайлар. personId бойынша бірегей индекс. Тарау немесе журнал жазылғаннан кейін қызмет шақыруы арқылы қайта есептеледі.
Қатаң ереже: оқиғалар тек дерекқорға commit жасалғаннан кейін ғана іске қосылады. Модуль аралық тәуелділіктер Symbol инъекция токендері арқылы жасалады, ешқашан forwardRef арқылы емес. Функционалдық модульдер арасында сервистен сервиске тікелей импорт жоқ.
SoulwiseEvents.CHAPTER_COMPLETED — SoulwiseEvents.CHAPTER_COMPLETED — тарау шифрланып, сақталғаннан кейін іске қосылады. Notifications-v2 оны тыңдайды; кіріс жәшігіне элемент жасайды; қалауыңызша push жібереді.SoulwiseEvents.JOURNAL_CREATED — SoulwiseEvents.JOURNAL_CREATED — күнделік жазбасы шифрланып, сақталғаннан кейін іске қосылады. Resonance сервисі оны тыңдайды; қайта есептеуді іске қосады.SoulwiseEvents.PERSON_BIRTH_UPDATED — SoulwiseEvents.PERSON_BIRTH_UPDATED — адамның туу деректері өзгергеннен кейін іске қосылады. Синастрия кэші жарамсыз болады.SoulwiseEvents.PUSH_REQUESTED — SoulwiseEvents.PUSH_REQUESTED — notifications-v2 келісіміне сай; push бюджеті мен тыныштық сағаттарын құрметтейді.119 бақыланатын талап, олқылықсыз. Әрбір талап алға қарай тест кейсіне (UTP, ITP, STP, E2E) және артқа қарай пайдаланушы тарихына байланады. 20 пайдаланушы тарихы. 15 функционалдық талап. 12 функционалдық емес санат. 8 жаһандық қабылдау қақпасы.
Тарау генерациясы сұраулардың 95% үшін 30 секунд немесе одан жылдам, BullMQ тапсырма ұзақтығының таралуымен өлшенеді. API p99 GET кідірісі 1,000 бір мезгілдегі пайдаланушыда 500 мс немесе одан жақсы, k6 жүктеме сынағымен өлшенеді. Frontend TTI симуляцияланған 4G желісінде 3 секунд немесе одан жылдам, Lighthouse CI арқылы өлшенеді.
Күнделік пен тарау мәтіндері үшін платформа басқаратын кілттермен AES-256 тыныштықтағы шифрлау. Тасымалдау кезінде TLS 1.2+; HTTP→HTTPS қайта бағыттау. JWT қол жеткізу токендері 1 сағаттық қызмет мерзімімен, жаңарту токендері 30 күндік қызмет мерзімімен, жаңарту кезінде ротациямен. PII қатаң жойылғанға дейін 30 күндік терезесі бар жұмсақ жою.
prefers-reduced-motion параметрі бүкіл жүйеде ескеріледі — GSAP анимациялары тек мөлдірлік арқылы солғындауға айналады. Әрбір интерактивті элементте VoiceOver және TalkBack белгілері бар. Әр шығарылым алдында iOS пен Android-та қолмен тексеріледі.
Себебі алдыңғы спецификация бұл функцияны қайта құрады, ал бар модульдің ішінде қайта құру не v1 тәжірибесін бұзар еді, не кейіннен бұтақтап барып біріктіруге мәжбүр етер еді. Жаңа модуль v1-ді тиіспеген күйде сақтайды, v2-ге өзін дәлелдеуге мүмкіндік береді және дайын болғанда таза түрде көшіріледі.
Қолданыстағы My Zodiac AI бэкенді MongoDB-да жұмыс істейді; ауыстыру осы функцияға қатысы жоқ инфрақұрылымдық шешім болар еді. Құжаттық модель тарауларға және күнделік жазбаларына да жақсы келеді — қабаттасқан, әртүрлі ұзындықтағы, blob ретінде шифрланған.
BullMQ Redis негізінде жұмыс істейді, ал ол сессия мен жылдамдық шектеуі үшін стекте бұрыннан бар. Жаңа инфрақұрылым қажет емес. Кірістірілген қайта әрекет ету, тайм-аут және бақылау мүмкіндіктері тарау генерациясының қажеттіліктерін қосымша жалғаусыз-ақ қамтиды.
Ішкі репозиторийде. Осы беттегі сандар мен келісімдер алдыңғы V-Model артефактілерін қысқаша баяндайды. My Zodiac AI блог кластеріндегі көпшілікке арналған инженерлік жазбалар ('cosmic-story-v2' тегімен белгіленген) құрылымның нақты бөліктерін тереңірек ашады.
Soulwise өз толқындарын ашып жатқанда, біздің флагман астрология қолданбамыз қазірдің өзінде сіздің қолыңызда.
Астрология мазмұны — ой түю мен көңіл көтеру үшін. Мұнда сипатталған Cosmic Story v2 мүмкіндіктері әзірленуде; қолжетімділік ескертусіз өзгеруі мүмкін.