Laravel

Comment j’ai développé une application pour Freelancers avec Laravel

Temps de lecture: 3 minutes

Salut la #davidnation.

Si vous lisez cet article, alors il est fort probable que j’ai fini le développement d’une application qui me tenait à coeur: #oschoolofreelance

C’est une plateforme où mon équipe et moi postons des jobs dans le domaine du développement web et mobile, du développement de logiciels, du marketing et social média, pour permettre à des centaines d’Africains d’utiliser leurs compétences dans ce domaine pour gagner leur vie.

Le principe est simple: vous avez une compétence dans l’un des domaines cités plus haut, vous parcourez la liste des jobs disponibles sur la plateforme, vous postulez à ceux qui vous correspondent le mieux, nous étudions votre offre et décidons ou pas de travailler avec vous. Si vous êtes choisis pour travailler avec nous, alors vous percevez des commissions de 30 à 50% sur chaque job.

Mais ne nous égarons pas. Comme le dit le titre de l’article, je veux vous montrer comment j’ai réussi à mettre sur pied cette application avec le framework PHP Laravel. Ce n’est pas un tuto, mais plutôt une explication de la logique qui m’a permis de réaliser cette application.

L’architecture mère: MVC

mvc laravel

 

MVC est l’abréviation de Model, View et Controller.  MVC est un moyen populaire d’organiser votre code. La grande idée derrière MVC est que chaque section de votre code a un but, et ces objectifs sont différents. Une partie de votre code contient les données de votre application, une partie de votre code rend l’application agréable à manipuler et une partie de votre code contrôle le fonctionnement de votre application.

C’est de cette architecture dont s’est doté Laravel. Je ne vais pas entrer en profondeur sur le MVC, mais il est important de retenir ceci:

M = Modèle qui est la partie qui interagit directement avec l base de données de votre appli.

V = Vue gère tout ce qui va s’afficher à l’écran de l’utilisateur

C = Contrôleur est le patron de l’appli. Il gère la façon dont l’appli fonctionne, reçoit et traite les requêtes des utilisateurs

C’est important de comprendre cela, pour comprendre comment j’ai travaillé.

 

Développement de l’application avec Laravel

Etape 1: Création des modèles

En général, c’est la première étape du travail. En gros sachez que chaque modèle correspond à une table dans votre base de données. Pour mon appli, j’ai crée trois modèles:

  1. pour gérer les utilisateurs du site (par défaut ou admin)
  2. pour gérer tous les jobs sur le site (création, modification, affichage, suppression)
  3. pour gérer toutes les propositions des freelancers pour un job en question

Il m’a fallu aussi déterminer les différentes relations entre les modèles:

Laravel propose plusieurs types de relations:

  • one to many (par exemple, un article peut avoir plusieurs commentaires)
  • one to one (par exemple un utilisateur peut avoir un numéro de téléphone)
  • many to many (un utilisateur peut avoir plusieurs roles et vice-versa)

Voici les relations que j’ai dégagées pour l’appli #oschoolfreelance

  1. un utilisateur peut faire plusieurs propositions (one to many)
  2. un job peut avoir plusieurs propositions (many ton many)

Etape 2: Création des contrôleurs

Une bonne pratique est de toujours associer un contrôleur à une base de données. On peut aussi créer un contrôleur pour gérer certaines taches qui ont la même fonction. J’ai donc crée les contrôleurs suivants:

  • un pour gérer les administrateurs du site
  • un pour gérer les autres utilisateurs du site
  • un pour gérer les jobs
  • un pour gérer les propositions
  • un pour gérer les routes (requêtes provenant de l’utilisateur)

Etape 3: Création des vues

Ici j’ai utilisé Bootstrap 4 et HTML/CSS pour créer les interfaces telles que les formulaires, l’apparence de la liste des jobs, l’apparence d’un job, la page de réception d’une proposition, les tableaux de bord admin et utilisateur.

Ces pages contenaient aussi des écritures provenant du template blade fourni par Laravel. Ce template permet d’insérer des codes PHP dans notre code HTML. Il est très pratique car il permet de coder moins en faisant plus.

 

Après les gars, tout est une question d’imagination. La façon dont j’ai codé sera probablement différente de la façon dont vous l’auriez fait. Mais je pense que la logique serait resté la même, et ce quelque soit le framework que vous auriez pu utiliser. C’est ce qui fait que j’aime particulièrement la programmation: bien que les langages soient différents, la logique est universelle.

 

Voici ce qu’il reste à faire:

  • mettre plus de commentaires dans le code (il le faut bien 😁)
  • peaufiner l’apparence
  • intégrer React JS pour améliorer l’interactivité

C’est une version 1.0

Si vous pensez avoir des compétences pour travailler en tant que freelance, n’hésitez pas à visiter le site.

Amusez-vous bien !

Deviens toi aussi développeur web !
I agree to have my personal information transfered to MailChimp ( more information )
Commences ta carrière de développeur web, GRATUITEMENT, ici et maintenant !
Je hais les sapms. Votre adresse email ne sera jamais vendu ou partagé avec un tiers
Partages à tous tes amis !

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.