config | ||
controllers | ||
datas | ||
front | ||
lang/fr | ||
middleware | ||
models | ||
routes | ||
tools | ||
views | ||
.gitignore | ||
.sequelizerc | ||
app.js | ||
example.env | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
robots.txt | ||
server.js |
Projet WikiLerni
Introduction
Vous trouverez sur ce dépôt le code source du projet WikiLerni, précedemment accessible sur cette page : www.wikilerni.com Ce projet visait à proposer des résumés d'articles de Wikipedia, suivis de quizz permettant aux lecteurs de tester ce qu'ils ont retenu de leur lecture. Il est à présent adandonné, faute d'intérêt du public et de temps à y consacrer.
Le backend avait été développé avec Node.js v14/Express. Le frontend en "Vanilla.js" + Babel.js pour gérer les anciens navigateurs. La partie front était constituée de fichiers statiques et donc "stand alone", les sauvegardes de résultats aux quizzs se faisant dans le navigateur et/ou dans des fichiers JSON téléchargeables.
Le code est fourni tel quel, sachant qu'il est largement perfectible (c'était mon premier projet node.js) et qu'il s'agissait d'un développement spécifique pas forcément réutilisable en entier par ailleurs.
Les quizs et articles du site WikiLerni sont aussi libres (CC BY-SA 3.0) et les quizs sont utilisables de manière autonome en enregistrant le fichier html localement. Un dump de la base de données + des fichiers JSON sont trouvables dans le dossier /data
Installation
Il n'y a pas de script d'installation et si l'idée vous prend de relancer ce projet, je vous conseille fortement de repartir sur une nouvelle application, récupérant éventuellement la base de données, le CSS, etc. Mais si vous souhaitez tenter une installation sur votre machine (je ne promets rien !), voici la procédure à suivre :
- adapter le fichier example.env et renommer le : .env
- adapter le fichier config/instance-example.js et renommer le : instance.js
- créer une base de données vierge à l'aide du fichier models/wikilerni-crea.sql (doit fonctionner avec MySQL et MariaDB).
- installer les dépendances avec "npm install"
- lancer le serveur node + un serveur front pointant le répertoire /front/public/
- créer un premier compte utilisateur avec /front/public/inscription.html et changer son statut directement dans la base de données pour "admin" ou "manager" pour lui permettre de publier des quizs, gérer les comptes utilisateurs, etc.
- l'enregistrement du premier article créera la page d'accueil du site "/front/public/index.html" (entre autres).