Super Kitobxon
Super Kitobxon — plateforme d'école de lecture rapide en ligne : cours et leçons vidéo protégées, 32 entraînements interactifs (table de Schulte, RSVP, etc.), groupes avec mentors, livres, graphiques de progression et paiements Click/Payme.
Super Kitobxon est une école de lecture rapide en ligne : l'élève achète un cours, suit des leçons vidéo et des exercices, s'entraîne chaque jour et suit ses résultats sur des graphiques. J'ai développé le frontend de la plateforme — l'application élève et le panneau d'administration.
Pour l'élève
- Cours : catalogue, comparaison et filtres, inscription ; arborescence des leçons et lecteur de leçon avec texte, fichiers, tests et exercices.
- 32 entraînements en 7 catégories : table de Schulte, lecteur RSVP, test WPM, méthodes en zigzag, Spritz et par blocs, lecture « au rideau » et d'autres ; programmes d'entraînement enchaînés et historique des résultats.
- Progression : graphiques sur 7, 30, 90 et 365 jours et cartes de statistiques.
- Groupes et livres : groupes avec mentors, bibliothèque avec lecteur PDF et lecteur audio.
- Outils de concentration : minuteur, métronome et musique de fond.
- Inscription par code SMS, gestion des sessions par appareil ; paiement via Click et Payme.
Panneau d'administration
Gestion des cours, sections, leçons, vidéos, tests, exercices, utilisateurs, groupes, livres, musique et du contenu des entraînements (mots, textes, images) ; inscription manuelle aux cours et éditeur de traductions intégré à l'application.
Solutions techniques
- Registre des entraînements : chaque entraînement est chargé à la demande (lazy), le backend ne fait que configurer la liste — même si l'API est indisponible, la liste locale prend le relais.
- Environnement d'entraînement commun : son, plein écran, vitesse, pause quand l'onglet est masqué et résultat renvoyé dans un format unique ; le résultat d'un exercice est un ratio 0–1, noté selon les points définis par l'admin.
- Minuteur précis : le temps n'est pas calculé à partir du compteur
setInterval, mais de la différenceDate.now()— aucune dérive, même sur les appareils lents. - Protection vidéo : filigrane mobile avec l'ID de l'utilisateur et de la session, et accès via un cookie signé.
- Nouvelle version : un nouveau build est vérifié toutes les 10 minutes et appliqué au prochain changement de page — jamais en plein exercice.
- API typée : les types sont générés à partir du schéma OpenAPI du backend ; 4 langues, le texte cyrillique est généré automatiquement depuis l'ouzbek latin ; 62 fichiers de tests.
Mon rôle
Le frontend est entièrement de moi : 43 pages, 246 composants et 32 entraînements. Le backend (Django) est géré par une équipe distincte.
Résultat
L'élève suit cours, exercices et entraînement quotidien sur une seule plateforme et voit sur un graphique comment sa vitesse de lecture progresse.