Article original : How to Use the Mentoring Framework to Learn a New Skill

Par Leonardo Faria

En octobre dernier, j'ai créé un Framework de Mentorat au travail. L'objectif était de créer un projet à partir de zéro en utilisant Ruby on Rails. Et lors de ce voyage, je voulais en apprendre davantage sur Ruby, le développement front-end, la gestion de projet et Git, les bases de données et DevOps.

Ce Framework de Mentorat est similaire à ce que font les bootcamps. La différence ici est que je partage une liste de fonctionnalités suggérées / choses à apprendre et chaque personne peut se concentrer sur ce qui est important pour elle.

En résumé : Objectifs → Projet → Exécution → Connaissance (et profit).

L'article est divisé en 4 sections principales : Avant de commencer, Idées de projet, Exécution, et Exemples et Ressources.

Avant de commencer

Quels sont vos principaux objectifs ? Pour la liste suivante, choisissez le niveau de connaissance que vous souhaitez acquérir : "compréhension de base", "compréhension intermédiaire" ou "compréhension avancée". Cela aidera à identifier où vous allez investir plus de temps et d'énergie.

  • Apprendre Ruby / Ruby on Rails
  • Apprendre le développement front-end
  • Apprendre la gestion de projet et Git
  • Apprendre les bases de données
  • Apprendre DevOps

Idées de projet

Une fois que vous connaissez vos principaux objectifs, vous avez besoin d'un projet. Consultez les deux idées suivantes :

Librairie en ligne

Imaginez que vous souhaitez vendre des livres en ligne. Quelles sont les fonctionnalités d'une librairie ?

  • Lister les livres par titre
  • Lister les livres par auteur
  • Lister les livres par catégorie
  • Rechercher des livres
  • Acheter des livres
  • Lister vos commandes

Site d'adoption d'animaux

Imaginez que vous souhaitez créer un site web pour une organisation qui s'occupe des animaux (en Colombie-Britannique, nous avons la SPCA). Quelles sont les fonctionnalités d'un site d'adoption d'animaux ?

  • Lister les animaux par type (chien, chat et autres)
  • Lister les animaux par taille (ou race, ou âge)
  • Lister les animaux par localisation
  • Rechercher un animal par nom
  • Demander une adoption
  • Lister vos demandes d'adoption

Exécution

Une fois que vous connaissez vos principaux objectifs et que vous avez une idée, il est temps de travailler. Consultez la liste des tâches que vous allez effectuer :

Apprendre Ruby on Rails

  • Utiliser les scaffolds pour créer vos entités (compréhension de base) ou créer vos propres contrôleurs, modèles et vues (intermédiaire)
  • Ajouter une authentification avec Devise (compréhension de base) ou créer la vôtre (intermédiaire). Ou utiliser Devise avec une authentification Oauth (Facebook, Google, etc - intermédiaire)
  • Ajouter des URLs conviviales avec une gem (base) ou créer votre propre solution (intermédiaire)
  • Ajouter une recherche (intermédiaire)
  • Ajouter des tests pour tout votre code
  • Créer des seeds pour vos données afin de ne pas avoir à créer des données manuellement
  • Envoyer des emails aux utilisateurs (intermédiaire)
  • Créer différents rôles d'utilisateurs (intermédiaire)
  • Ajouter une pagination (base)
  • Ajouter une localisation (intermédiaire)
  • Ajouter un système de tags (intermédiaire)
  • Ajouter des images (intermédiaire)

Apprendre le développement front-end

  • Utiliser Tailwind CSS (base) ou votre propre CSS/SASS (intermédiaire) pour créer une belle mise en page
  • Utiliser Turbolinks (avancé / optionnel)
  • Ajouter des animations de base - par exemple, lors de l'ajout d'un livre dans le panier, montrer une animation (avancé/optionnel)
  • Ajouter Google Maps dans votre application (intermédiaire)
  • Ajouter Google Places pour vos utilisateurs
  • Ajouter un carrousel avec des photos
  • Ajouter une pagination avec Ajax ou une pagination infinie (avancé)

Apprendre la gestion de projet et Git

  • Utiliser Github Project pour organiser vos fonctionnalités
  • Utiliser des branches de fonctionnalités dans Git, créer des PR pour toutes vos fonctionnalités

Apprendre les bases de données

Écrire du SQL simple pour trouver des informations pertinentes. Quelques exemples :

  • Trouver les auteurs les plus vendus dans la librairie
  • Trouver le nombre de commandes ou de demandes d'animaux par ville
  • Trouver quel jour a le plus de ventes
  • Ajouter des graphiques dans votre application pour exposer les données

Apprendre DevOps

  • Déployer le site web sur Heroku (base/intermédiaire) ou AWS (avancé)
  • Configurer CI dans Heroku (base/intermédiaire)
  • Ajouter Airbrake pour surveiller les erreurs dans votre application (base)
  • Acheter un domaine, configurer Cloudflare (avancé/optionnel)

Exemples

Captures d'écran du site web

Ressources

Également publié sur mon blog. Si vous aimez ce contenu, suivez-moi sur Twitter et GitHub. Photo de couverture par Maxwell Nelson sur Unsplash.