popcorn-machine v2.2.2
POPCORN-MACHINE đż
La machine à Popcorn permet de créer son propre "Popcorn" : un annuaire local de développeurs freelances, tel que celui de Popcorn Nantes.
Les objectifs d'un annuaire Popcorn
- đ Etre un canal pour trouver des affaires dans sa localitĂ© sans commission ni intermĂ©diaire
- đ Open source : on maĂźtrise les fonctionnalitĂ©s de la plateforme, tel que les rĂ©sultats de recherche, les informations affichĂ©es par nos profils etc
- đŹ Faire circuler les tuyaux boulot entre freelances via le tchat.
- đȘ Offrir une alternative locale aux market places de freelances centralisĂ©es
FONCTIONNALITES
- Gestion des profils de freelance et de pages statiques
- Recherche instantanée sur les compétences et mot-clefs du profils
- SEO-friendly avec la prégénération du html et les tags pour les réseaux sociaux (Facebook, Twitter, Linkedin)
- Support Gravatar pour les photos du profil
- Un formulaire de contact qui envoie le message sur le channel #general d'un Slack
- Une page qui affichent tous les autres popcorns francophones
Ajouter son Popcorn dans l'annuaire des Popcorns
- Forke ce dépÎt
- crée ta fiche Popcorn dans
content/popcorns
- Choisis une belle image qui symbolise bien d'aprÚs toi la localité de ton Popcorn et met là dans le dossier
/static/images/
. Attention ! L'image doit faire 100ko maximum - Soumettre ta pull request ! Ton popcorn apparaitra dans la page "Annuaire des Popcorns" de tous les Popcorns dĂšs qu'ils auront mis Ă jour leur version de
popcorn-machine
.
PHILOSOPHIE TECHNIQUE : 0 MAINTENANCE, 0 FRAIS, SIMPLE ET EFFICACE
Le mot "Popcorn" a Ă©tĂ© notamment choisi pour Ă©voquer une grande lĂ©gĂšretĂ©. Son mantra technique pourrait ĂȘtre:
Dis moi ce dont tu as besoin, je te dirai comment t'en passer.
L'idée expérimentée par Popcorn est d'avoir un site aussi léger techniquement que possible, sans serveur et base de données afin qu'il ne requiert quasiment aucune maintenance et intervention de notre part ni aucun frais, parce que :
- On est dĂ©jĂ tous "sous l'eau", ce site ne doit pas ĂȘtre une charge de travail supplĂ©mentaire.
- On ne veut pas que le site reste 48 heures en rade parce qu'il ya un truc qui déconne et que tout le monde est trop occupé pour intervenir dessus.
- On ne veut pas qu'au fil du temps une personne devienne "responsable" du site, qu'elle soit la seule à piger comment tout fonctionne et qu'elle parte à Barcelone ou quitte Popcorn en laissant aux autres un truc compliqué qu'ils et elles ne maitrisent pas
- On veut bien ĂȘtre hĂ©bergĂ© pour 0 euros chez Github ^^
- On veut bien un site qui soit capable de supporter un fort pic de charge sans broncher : Ă©vitons le cas du site qui tombe pile au moment oĂč un article de presse le mentionne đ
- On veut bien un moteur de recherche super-rapide et un site qui s'affiche super vite
- On veut bien que des gens puissent tout simplement forker le repo de dĂ©marrage pour crĂ©er leur propre annuaire đ
DOCUMENTATION TECHNIQUE
popcorn-machine
est une application Nuxt.js qui permet de générer un site statique en html à partir de fichiers markdowns pour créer les profils et contenus du sites.
Les fichiers markdowns sont convertis en fichier JSON via le module Nuxt Gustave. Ce sont ces fichiers JSON qui sont ensuite consommés par les composants Vue.js.
Le tout est ensuite exportable en html via la commande npm run generate
et hébergeable par exemple sur un dépÎt github.
Créer son propre popcorn
- Télécharge le popcorn-starter
- Renomme le fichier .env.example, renomme le en .env avec les valeurs qui correspondent Ă ton Popcorn.
- Installe puis démarre le Popcorn avec
npm install
puisnpm run dev
- Recherche toutes les occurences de
{{MON_POPCORN}}
et{{MA_LOCALITE}}
pour les remplacer par les valeurs de ton Popcorn. - Si tu veux déployer ton site avec Travis sur Github, il faudra connecter l'application Travis à Github et renseigner la variable GITHUB_TOKEN.
- N'oublie pas de renseigner sur Travis ou autre toutes les variables présentes dans le fichier .env.example
- N'hésite pas à nous contacter si tu as besoin d'aide, en ouvrant une issue sur ce dépÎt.
Tests
Cypress est utilisé pour tester le site. Pour lancer les tests, il faut d'abord démarrer le projet de test qui sera lancé sur le port 44000
# démarrer le projet de test sur le port 44000
cd test/e2e/project
npm run dev
# revenir Ă la racine du projet
cd -
# Lancer la suite de tests dans le terminal
npm run e2e
# Lancer la suite de tests en ouvrant un chrome (recommandé pour le debug)
npm run e2e:open