Об этом проекте

CokieCollege — это комплексное кроссплатформенное решение для управления академическими, дисциплинарными и административными процессами в учебных заведениях. Его цель — обеспечить взаимодействие в реальном времени между администраторами, координаторами уровня, преподавателями, студентами и персоналом кафетерия через веб- и мобильные приложения. Архитектура Система организована в виде развязанных модулей. Бэкенд — это REST API на Node.js с Express 5.x, который управляет бизнес-логикой, безопасностью с Helmet, ограничением запросов, сжатием GZIP, административной аутентификацией через Supabase и push-уведомлениями через Expo Server SDK. Мобильное приложение разработано на Expo 54, Expo Router и i18next (испанский и английский), с адаптивным дизайном в светлом и тёмном режимах. Веб-портал использует React с Vite для мониторинга и институционального администрирования. Также включает папку визуальных прототипов и дизайнерских ресурсов. База данных — Supabase PostgreSQL с политиками Row Level Security, аутентификацией, хранилищем и триггерами. Функциональность по ролям Модуль студентов предлагает педагогический дневник с мониторингом посещаемости и светофор поведения из четырёх цветов, консоль оценок с процентной разбивкой по активностям, запрос обоснований с вложениями в Supabase Storage и предзаказ обедов с генерацией QR-кода для получения и оплаты. Модуль преподавателей позволяет вводить и просматривать историю оценок с валидацией от 0.00 до 10.00 и обратным отсчётом по периоду, тикеты на продление срока координатору и отметку посещаемости в реальном времени по классу и предмету. Модуль координаторов и администраторов включает управление пользователями с фильтрацией по роли и пагинацией, утверждение обоснований с проверкой доказательств, распространение объявлений и институциональных событий по уровню образования, а также назначение расписаний, секций, аудиторий и учебной нагрузки. Модуль кафетерия позволяет публиковать ежедневное меню, управлять заказами со статусами (заказано, приготовлено, выдано) и сканировать QR-коды для подтверждения выдачи обедов. Запуск Требуется Node.js 18 или выше, Expo CLI и аккаунт Supabase. Выполняется SQL-скрипт в редакторе Supabase для инициализации таблиц, перечисляемых типов, функций, представлений и политик RLS. Затем устанавливается и запускается бэкенд с настройкой файла .env, и запускается мобильное приложение через Expo. Мобильная сборка и OTA-обновления выполняются с помощью EAS. Безопасность и производительность Проект включает Row Level Security в таблицах Supabase, применяет HTTP-защиту с helmet, express-rate-limit и сжатием GZIP, а также включает индексы базы данных для оптимизации тяжёлых запросов. Поддерживается интернационализация для испанского и английского языков.