À propos du projet
CokieCollege est une solution intégrée multiplateforme destinée à la gestion académique, disciplinaire et administrative des établissements d'enseignement. Son objectif est de faciliter l'interaction en temps réel entre les administrateurs, les coordinateurs de niveau, les enseignants, les étudiants et le personnel de la cafétéria au moyen d'applications web et mobiles.
Architecture
Le système est organisé en modules découplés. Le backend est une API REST en Node.js avec Express 5.x qui gère la logique métier, la sécurité avec Helmet, la limitation des requêtes, la compression GZIP, l'authentification administrative avec Supabase et les notifications push via Expo Server SDK. L'application mobile est développée avec Expo 54, Expo Router et i18next (espagnol et anglais), avec une conception adaptable en mode clair et sombre. Le portail web utilise React avec Vite pour la surveillance et l'administration institutionnelle. Il comprend également un dossier de prototypes visuels et de ressources de conception. La base de données est Supabase PostgreSQL, avec des politiques de Row Level Security, l'authentification, le stockage et des déclencheurs.
Fonctionnalités par rôle
Le module étudiants offre un journal pédagogique avec suivi des présences et un feu de signalisation de conduite à quatre couleurs, une console de notes avec répartition en pourcentage par activités, la demande de justifications avec pièces jointes dans Supabase Storage et la précommande de déjeuners avec génération d'un code QR pour le retrait et le paiement.
Le module enseignants permet la saisie et l'historique des notes avec validation de 0,00 à 10,00 et un compte à rebours par période, des tickets de prolongation de délai au coordinateur et la prise de présence en direct par classe et par matière.
Le module coordinateurs et administrateurs comprend la gestion des utilisateurs avec filtrage par rôle et pagination, l'approbation des justifications avec examen des preuves, la diffusion d'avis et d'événements institutionnels par niveau éducatif, et l'attribution des horaires, des sections, des salles et de la charge académique.
Le module cafétéria permet de publier le menu quotidien, de gérer les commandes avec des statuts (commandé, préparé, livré) et de scanner les codes QR pour confirmer la livraison des déjeuners.
Mise en route
Nécessite Node.js 18 ou supérieur, Expo CLI et un compte Supabase. Un script SQL est exécuté dans l'éditeur Supabase pour initialiser les tables, les types énumérés, les fonctions, les vues et les politiques RLS. Ensuite, le backend est installé et démarré en configurant un fichier .env, et l'application mobile est lancée avec Expo. La compilation mobile et les mises à jour OTA sont réalisées avec EAS.
Sécurité et performance
Le projet active Row Level Security sur les tables Supabase, applique une protection HTTP avec helmet, express-rate-limit et la compression GZIP, et inclut des index de base de données pour optimiser les requêtes lourdes. Il dispose d'un support d'internationalisation pour l'espagnol et l'anglais.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.