Kerfisuppbygging
Yfirlit yfir kerfið
iOS app / agent client -> api.<domain> -> API Gateway -> Lambda backend -> Postgres
Web app -> app.<domain> -> CloudFront -> SPA
Browser and agent auth -> auth.<domain> -> API Gateway -> Auth Lambda -> Cognito
Apex fallback -> <domain> -> CloudFront redirect -> app.<domain>
Meginreglur
- Aðskilin opinber lén fyrir
app,apiogauth - Postgres er meginheimild gagnanna
- iOS-biðlarinn virkar fyrst og fremst án nettengingar, með staðbundnu SQLite og samstillingu
- Vefforritið, iOS-forritið og viðmótið fyrir ytri gervigreindarumboð deila sama líkani af vinnusvæðum
- Ytri gervigreindarumboð byrja á
GET https://api.nibomo.com/v1/
Studdir biðlarar
- Vefforrit á
app.nibomo.com - iOS-forrit í aðalkóðasafninu með staðbundinni SQLite-geymslu
- Android-forrit á Google Play
- Biðlarar ytri gervigreindarumboða í gegnum uppgötvun, frumstillingu með einnota kóða og
Authorization: ApiKey
Gagnalíkan
workspacesworkspace_membersuser_settingsdevicescardsdecksreview_eventsapplied_operationssync_state
Gagnaflæði
Vefur
- Vafrinn skráir sig inn í gegnum
auth.<domain>. - Vefforritið hleður gögnum vinnusvæðisins frá
api.<domain>. - Beiðnir í gervigreindarspjallinu fara í gegnum
/chat/local-turn. - Innsendar upprifjanir uppfæra stöðu tímasetningarkerfisins strax við skrif.
iOS
- iOS-forritið skrifar fyrst staðbundið í SQLite.
- Staðbundnar breytingar fara í biðröð í úthólfi.
- Samstilling sendir breytingar upp í gegnum
/v1/workspaces/{workspaceId}/sync/push. - Samstilling sækir uppfærslur frá þjóninum í gegnum
/v1/workspaces/{workspaceId}/sync/pull. - Staðbundni gagnagrunnurinn beitir breytingunum og færir samstillingarbendilinn áfram.
Ytri gervigreindarumboð
- Gervigreindarumboð byrja á
GET /v1/. - Frumstilling með einnota kóða fer fram á
auth.<domain>. - Gervigreindarumboðið fær langlífan API-lykil.
- Gervigreindarumboðið hleður
/v1/agent/me, birtir lista yfir vinnusvæði, velur eitt ef þörf krefur og notar svo/v1/agent/sql/queryog/v1/agent/sql/execute.
Tímasetning upprifjana
Nibomo notar FSRS til að tímasetja upprifjanir.
Athugasemdir um útfærslu:
- bakendinn og iOS halda samsvarandi útfærslum af FSRS
- vefforritið fylgir sömu gagnaskilgreiningu fyrir tímasetningu en inniheldur ekki þriðja eintakið af tímasetningarkerfinu
- stillingar tímasetningar fyrir vinnusvæðið eru æskilegt minnishald, námsskref, endurnámsskref, hámarksbil og slembifrávik
- raunverulegur tími upprifjunar kemur úr
reviewedAtClient
Nánari skilgreiningu er að finna í FSRS-tímasetningarrökfræðinni í aðalkóðasafninu.
Auðkenning
- Einnota kóði í tölvupósti í gegnum Cognito
- Lotuvafrakökur á sameiginlegu léni fyrir hýsta vefforritið
- Frumstilling gervigreindarumboða með einnota kóða á
auth.<domain>, sem skilar langlífum ApiKey AUTH_MODE=nonefyrir staðbundna þróunAUTH_MODE=cognitofyrir auðkenningu eins og í raunumhverfi
Uppbygging uppsetningar
app.<domain>-> CloudFront + S3api.<domain>-> API Gateway + Lambda-bakendiauth.<domain>-> API Gateway + Lambda-auðkenningarþjónusta- Postgres í AWS RDS
Grunnlénið getur áfram hýst sérstakan markaðsvef. Ef það er laust við frumuppsetningu geta innviðirnir tímabundið vísað því áfram á app.<domain>.