Développement d'un site de support sur Laravel

Contenu du projet

Description du projet

Dans le cadre de mon stage chez GFCOM j'ai pu participer à la création d'une application de support avec le frameword Laravel

Détail du projet

Contexte et objectifs

  • Contexte : L'entreprise dans le quelle j'effectué mon stage GFCOM avait besion d'un meilleur système de gestion des demande client.
  • Objectif : Développer un système de gestion des tickets de support permettant aux clients de soumettre et de suivre leurs demandes, avec une option de paiement en fonction de la situation.

Description du projet

  • Fonctionnalités principales : L'application sera sur un sous-domaine du site web de GFCOM et sera accessible sur internet. L'aplication aura un coté client et administrateur.
    Le client pourra : se connecter/créer un compte, il pourra créer un ticket parmis des types de tickets, voir l'historique des ticket qu'il aura créer, et il devra recevoir des notifications par mail.
    L'administrateur, lui pourra : Gérer et voir tous les tickets créer, gérer/créer les types de ticket, et il sera notifier par mail.
    Un ticket contient : un nom, un type, un status Ouvert/En cours/Fermet, les messages de discution du ticket.
  • Technologies utilisées : Framework : Laravel, Base de donnée: SQL, Git, composer, Laragon (serveur local et environnement de test), Bootstrap, Mailing : mailtrap, Payement sécurisé : Stripe

Méthodologie

  • Développement : J'ai commencé par concevoir et créer les tables nécessaires pour la base de données. Cela inclut les tables pour les utilisateurs, les tickets, les types de tickets, les images et les messages. J'ai ensuite développé un système permettant aux utilisateurs de se connecter et de créer des comptes. Ce système inclut des fonctionnalités de sécurité telles que le hachage des mots de passe et la gestion des sessions. En suivant le modèle MVC (Modèle-Vue-Contrôleur) de Laravel, j'ai créé les différentes vues des pages. J'ai également configuré les routes et les contrôleurs. Le premier système que j'ai mis en place est l'affichage des différents types de ticket sur la page d'accueil et sur une page dédiée aux types de tickets. Par la suite j'ai pu attaquer un système permettant aux utilisateurs de créer des tickets. Ces tickets sont ensuite affichés dans une page d'historique, où les utilisateurs peuvent consulter leurs demandes passées. Une fois la partie client bien avancée, j'ai commencé à développer la partie administrative. J'ai ajouté des fonctionnalités permettant aux administrateurs de créer, modifier et supprimer des types de tickets. Les administrateurs peuvent également voir tous les tickets créer, modifier leur statut et les supprimer si nécessaire. Une fois tout cela de pret j'ai implémenté un système de fils de discussion dans les tickets, avec cela j'ai également fait les notifications par email des évennements lié au tickets pour informer les utilisateurs des événements liés à leurs tickets (création, mise à jour, réponse, etc.). La création de ticket étant payant pour les clients celon le type choisi, j'ai donc réalisé une integration de payement stripe dans l'application pour que les client puisse commander et payer des tickets de manière sécurisé et fluide.

  • Tests : À chaque ajout d'un nouveau système ou fonctionnalité, j'ai effectué des tests immédiats pour vérifier son bon fonctionnement. Ces tests consistaient à simuler des scénarios d'utilisation réels, tant du côté client que du côté administrateur. Périodiquement, j'ai réalisé des tests globaux pour m'assurer que l'ensemble des fonctionnalités interagissaient correctement.

Outils et technologies :

  • Environnement de développement : L'IDE choisi et utilisé pour le développement de cette application est Visuale Studio Code. Nous utilisons Laragon pour le développement local et qui va gérer la base de donnée aussi. Nous utilison 2 versionning pour ce projet. GFCOM utilise Bitbucket, moi pour récupérer ce projet j'ai utilisé Github. Ces 2 plateforme utilise Git.

  • Bibliothèques et frameworks : Les frameworks utilisé pour ce projet sont Laravel pour le Backend et Bootstrap pour le coté Frontend.

Difficultés rencontrées et solutions apportées

  • Problèmes techniques : Les problème que j'ai rencontré principalement pendant le développement et lié au fait que je ne connaissait pas le framework avant. Je l'ai donc appris sur le tas en même temps que je Développais l'application.

  • Solutions : J'ai pu réussire la plus pars du temps à régler mes problèmes par moi même avec des recherche web ou via la doc techniques. Mais j'ai eu à certain moment l'aide de mon tuteur.

Année : 2024

Terminé

Hard skills

Laravel

model MVC

Git

composer

Galerie du projet

test
test
test
test
test