Skip to content
Terence edited this page Sep 24, 2019 · 3 revisions

Bienvenue sur le wiki de Recipes !

Je jette pêle-mèle des infos ici (plus pour moi que pour les autres pour l'instant). Plus tard, je rangerai ça dans une partie Install, une partie About, une partie Contribute et autres...

Le site tourne sur Express (lien) et nécessite donc Node.js (lien). Le site a besoin d'une base de données pour fonctionner, j'ai choisi MongoDB (lien) à l'époque pour tester avec Mongoose (lien).

Une fois Node et Mongo installés et configurés :

  1. npm install
  2. npm start pour faire tourner le site en local.
  3. Dans le dossier config, il y a une configuration de la base de données, il faut un user, un mot de passe et une url dans les variables d'environnement. Dans la DB, il faudra donc créer un super user dans la db admin pour pouvoir créer un user adéquat dans la db recipes.
  4. Pour lancer la db, il y a un script (mongod.bat).
  5. Pour debug, npm run-script debug et vs code.

Le site a été créé sans formatter, ni linter, ni rien à l'époque et je remets tout ça doucement en place. J'utilise maintenant ESLint comme linter et Prettier comme formatter. Si vous souhaitez contribuer, il faudra qu'on se mette d'accord sur une config commune (l'idéal serait d'en imposer une au niveau du projet). Les views ont été créées avec Jade (devenu Pug ensuite). J'avoue ne pas savoir si je veux continuer dans cette voie.

Le site était un POC pour tester des technos à l'époque et je l'ai abandonné faute de temps et à cause de la concurrence. Ceci dit, c'est un bon terrain de jeu pour de la refacto, du coup, je m'y remets. :)

Le site est un POC aussi sur Vanilla et sur des bizarreries (le menu à gauche est en pur CSS). La fonction autocomplete est maison. Dans le futur, il faudra peut-être souscrire à un paradigme de programmation plus "industriel". Je louche plutôt du côté de Svelte et des Web Components, principalement parce qu'ils sont natifs, mais je reste ouvert.

Ce serait peut-être intéressant de refondre le site en services (Recette / Aromes / Utilisateurs / Recherche / Admin) avec leur DB associées. Par exemple, le site pourrait suggérer des mots dans la barre de recherche mais les informations viennent de différentes collections (voire différentes db ultimement), aussi, une db recherche semble appropriée, mais quid des jobs de synchro et de l'hébergement local de ces db par exemple...

Clone this wiki locally