Pas mal pour un étudiant.
Tu peux essayer de rendre ta libraire utilisable en nodejs (out of the box) avec rollup et de la publier sur npm (ou autre).
Pour la convention, ne nomme jamais un repository avec des majuscules
.
Ta fonction 'windowCreation', devrait s'appeler 'createWindow'.
Fait gaffe à tes noms de classe, comme 'mydivActive' (pas très parlant)
'mydiv' -> 'window'
'mydivActive' -> 'active' (t'aurais donc -> class="window active') tu peux aussi utilisé BOM
Faudrait aussi préfixé t'es nom de classe pour éviter les colisions avec les noms de classes des gens qui vont utiliser ta lib.
Tu as des animations, comme celle d'opacity, faites en js. Même dans ton cas tu pourrais les faire en css (avec les transitions). Tu aura de meilleurs performance
.
Oublie pas de factoriser au maximum ton code.
Je pense que tu peux aussi éviter de créer 1000 listeners au chargement de ton code. Essaie de créer les listeners quand une fenetre est crée
.