You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

4.8 KiB

C-University

Application de gestion universitaire desktop, développée avec Electron + React + Vite. Elle permet la gestion complète des étudiants, des notes, des matières, des mentions et des années scolaires d'un établissement universitaire.

Développé par CPAY COMPANY FOR MADAGASCAR


Fonctionnalités

  • Gestion des étudiants — inscription, consultation, modification, export PDF/Excel, import CSV
  • Gestion des notes — saisie, notes de rattrapage (repêchage), calcul automatique des moyennes
  • Résultats — admis / redoublant / renvoyé selon un système de seuils configurables
  • Mentions & Parcours — gestion des filières et des spécialisations
  • Matières — création, affectation aux mentions et aux semestres, import CSV
  • Niveaux académiques — gestion des niveaux d'étude (L1, L2, M1, M2, etc.)
  • Années scolaires — gestion multi-années avec année courante active
  • Tranche d'écolage — suivi des paiements de scolarité par étudiant
  • Export de fiches — génération de fiches matières avec QR code et PDF
  • Statistiques & graphiques — visualisation via Chart.js
  • Gestion des utilisateurs — authentification sécurisée, rôles admin
  • Mise à jour automatique — via electron-updater

Stack technique

Couche Technologies
Desktop Electron 31
Frontend React 18, Vite, React Router DOM v6
UI Material UI (MUI v6), Bootstrap 5, React-Bootstrap
État TanStack React Query, Context API
Base de données MySQL (mysql2), better-sqlite3
API locale Express.js
PDF jsPDF, jsPDF-AutoTable, pdf-lib, html2canvas
Excel/CSV xlsx, xlsx-populate, PapaParse, csv-parse
Authentification bcryptjs
Graphiques Chart.js, react-chartjs-2
QR Code qrcode
Logs electron-log

Prérequis


Installation

1. Cloner le dépôt

git clone <url-du-repo>
cd c-university

2. Installer les dépendances

npm install

3. Configurer la base de données

Assurez-vous que MySQL est en cours d'exécution. La configuration par défaut dans database/database.js est :

Host     : 127.0.0.1
User     : root
Password : (vide)
Database : university

Les tables sont créées automatiquement au premier lancement. Un compte admin par défaut est également créé.


Lancement

Mode développement

npm run dev

Prévisualisation du build

npm run start

Build & Distribution

Commande Description
npm run build Build de l'application
npm run build:win Installateur Windows (.exe via NSIS)
npm run build:mac Package macOS
npm run build:linux Package Linux
npm run build:unpack Build sans package (dossier non compressé)

Compte par défaut

Champ Valeur
Utilisateur admin
Email [email protected]
Mot de passe 123456789

Il est fortement recommandé de changer le mot de passe après le premier login.


Structure du projet

c-university/
├── database/
│   └── database.js          # Connexion MySQL + création des tables
├── src/
│   ├── main/                # Processus principal Electron
│   ├── preload/             # Scripts de préchargement
│   └── renderer/src/        # Interface React
│       ├── components/      # Composants de l'application
│       ├── Routes/          # Configuration du routeur
│       ├── contexts/        # Contextes React (Auth, Moyenne)
│       ├── layouts/         # Layouts (Default, Login)
│       └── assets/          # Images et ressources
├── resources/               # Icônes et ressources Electron
├── electron.vite.config.mjs # Configuration Electron-Vite
├── electron-builder.yml     # Configuration du packaging
└── package.json

Schéma de base de données (résumé)

Table Description
users Comptes utilisateurs avec rôles
etudiants Données complètes des étudiants
mentions Filières / mentions
parcours Parcours au sein d'une mention
niveaux Niveaux académiques
matieres Matières / UE
semestres Semestres
notes Notes des étudiants
notesrepech Notes de rattrapage
notesystems Seuils admis / redoublant / renvoyé
anneescolaire Années scolaires
trancheecolage Tranches de paiement de scolarité
matiereEnseignants Enseignants par matière
status Statuts étudiants (Nouveau, Passant, Redoublant…)

Version

v4.1.0