Архитектура, модульдер және рөлдер
Бұл бетте Omniscol-дың қолданбалы архитектурасы және оқу орны жағында көрінетін рөлдер қысқаша сипатталады. Нақты шарттық міндеттемелер (қолжетімділік, сақтық көшірмелер, сақтау мерзімі, мониторинг) бекітілген заңдық немесе коммерциялық құжаттарға жатады.
Хостинг және сенімділік
Omniscol Еуропалық Одақта, нақтырақ айтқанда AWS Paris және Scaleway Paris платформаларында орналасқан. Өнім сақтық көшіру, мониторинг және оқу орындарының есептік жазбаларын логикалық оқшаулау тетіктерін пайдаланады; белгілі бір есептік жазбаға қолданылатын егжей-тегжейлер шартқа және тиісті ортаға байланысты.
Пайдаланушыға арналған толық сипаттама үшін FAQ — Қауіпсіздік және хостинг бетін қараңыз.
Бағдарламалық архитектура
- Веб-қолданба: қолданба бір рет жүктеледі, содан кейін экрандар REST/JSON алмасуымен динамикалық түрде көрсетіледі (Single Page Application).
- CouchDB — негізгі дерекқор.
- Redis — қолданба жағындағы синхрондау мен журналдарға арналған дерекқор.
- TypeScript — интерфейс (webapp) үшін.
- Node.js / Express бэкенді ішкі тетіктерді (api, webapp, portal, panel, ical, mcp, oauth2 және т.б.) үйлестіреді.
- C++ — генерация алгоритмі үшін, сұраныс бойынша іске қосылатын арнайы виртуалды машиналарда орындалады.
Қауіпсіздік
- Сырттан қолжетімді байланыстар үшін HTTPS.
- Cloudflare — жалғыз кіру қақпасы (DDoS-тан қорғаныс).
- Құпиясөздер клиент жағында scrypt арқылы алдын ала хэштеледі, содан кейін сервер жағында қайта хэштеліп, тұздалады. Олар ашық түрде сақталмайды да, жіберілмейді де.
- JWT аутентификациясы: қол қою кілттері бар, қолданылу мерзімі қысқа; кілтті ауыстыру немесе қайтарып алу қол қойылған токендерді жарамсыз етуі мүмкін.
- Бөлісу сілтемелері қол қойылған, мерзімі шектеулі, оларды жасаған есептік жазбаға байланысты және сол есептік жазбаның құпиясөзін өзгерту немесе оны өшіру арқылы жарамсыз етіледі.
- API токендері: түбірлік кілті және туынды токендері бар, эндпоинттер аясы мен мерзімдері белгіленеді.
- OIDC / SSO шартқа және есептік жазбаның параметрлеріне қарай қолжетімді.
- Деректердің қайтарымдылығы үшін JSON экспорты және ішкі сақтық көшірмелер.
Пайдаланушы рөлдері
Omniscol оқу орны жағында бірнеше рөлді ажыратады:
| Рөл | Әдеттегі қолданысы |
|---|---|
| Администратор | Жоспарлау жөніндегі жауапты тұлғалар, басшылық, АТ бөлімі |
| Мұғалім | Мұғалімдер, сыртқы мұғалімдер, тренерлер |
| Оқушы | Оқушылар, студенттер, білім алушылар |
| Қызметкер | Тәрбие жұмысы, тәрбиешілер, кезекшілер, бақылаушылар, егер Қызметкерлерді басқару модулі белсенді болса |
| Бөлісу сілтемесі | Нақты аясқа қол қойылған URL арқылы қол жеткізу |
Бұл атаулардың рөлдердің техникалық идентификаторларына сәйкестігі Пайдаланушылар және рөлдер бетінде егжей-тегжейлі сипатталған.
Бір пайдаланушы бірнеше рөлді қатар атқара алады. Мысалы, жоспарлауға қатысатын мұғалім бір мезгілде Мұғалім де, Администратор да бола алады.
Бөлісу сілтемесі рөлі әдеттегі пайдаланушы есептік жазбасына сәйкес келмейді. Бұл қол қойылған сілтемелер: кестенің веб-сілтемелері тек оқуға арналған, ал кейбір нысаналы сілтемелер шектеулі әрекетке рұқсат беруі мүмкін, мысалы мұғалімнің қолжетімділігін жарамдылық мерзіміне дейін енгізу.
Сонымен қатар Omniscol командасына арналған ішкі рөлдер бар: платформаны әкімшілендіру, аударма, коммерциялық әрекеттер және қайта сатушы серіктестер. Осы есептік жазбалардың кейбіріне техникалық қызмет көрсету мақсатында оқу орындарының есептік жазбаларына кіруге рұқсат етілген. Сонда олар оқу орнының суперадминистраторы ретінде әрекет етеді және администраторға қарағанда көбірек мүмкіндікке ие: дерекқорға шикі деректерді импорттау, ақылы опцияларды қосу немесе өшіру, пайдаланушы атынан кіру. Мұндай кірулер көрінетін кіру ескертулерін тудырады, ал олардың токендері өте тез аяқталады. Үлкен өкілеттік үлкен жауапкершілікті білдіреді.
Модульдер
Стандартты есептік жазбада көрінетін модульдер:
- Басты бет (
home) — кіру беті және күннің қысқаша мазмұны. - Кесте (
schedules) — қарау және бір реттік өзгерістер. - Бақылау тақтасы (
dashboard) — толымдылық пен жұмыс көлемінің статистикасы. - Қатыспауды басқару (
absences) — қатыспауды жариялау және алмастырулар. - Кестені басқару (
timetables) — кестелерді құру, генерациялау және жариялау. - Әкімшілік (
admin) — пайдаланушылар, параметрлер, импорт / экспорт және интеграциялар.
Шартқа қарай басқа модульдер де пайда болуы мүмкін, атап айтқанда тәрбие жұмысы мен кезекшілік тапсырмаларын жоспарлауға арналған Қызметкерлерді басқару.
Бірнеше оқу орны
Әр оқу орны сервер жағында логикалық түрде оқшауланған және өз доменіне қол жеткізеді. Бір оқу орнының деректерін басқа оқу орындары қолданбадан көре алмайды. Алайда сұраныс бойынша бөлек есептік жазбалар арасында байланыс арнасын қосуға болады, кабинеттер мен мұғалімдердің бос емес болуынан туындайтын қайшылықтарды бөлісу үшін. Бұл ортақ ғимараттар жағдайында немесе ресурстарды бірге пайдаланатын оқу орындары тобы үшін өте пайдалы.