
Portfolio
Date : Janvier 2024
Durée : 1 semaine
Ce portfolio est un projet personnel qui a pour but d'approfondir mon CV en détaillant plus de compétences et de projets.
Le site a été développé sous Laravel avec du routage CRUD (Create-Read-Update-Delete).
La base de données est constituée des tables Projets et Compétences, les tables d'associations Images et Contributors, qui gèrent les parties respectives des projets; et la relation Labels entre nos deux tables principales.
On retrouve ainsi des relations HasMany <-> BelongsTo pour les tables d'association, et une relation BelongsToMany pour la relation Labels.
L'authentification est également gérée avec Fortify afin que seul le compte administrateur puisse "modifier" le site.
Depuis l'interface administrateur, on peut alors ajouter/modifier/supprimer une compétence ou un projet. Pour la simplicité et/ou la logique, les images, les labels et les contributeurs d'un projet ne peuvent être qu'ajoutés ou supprimés.
Du coté client, on ne peut que voir la liste des projets et des compétences, et la vue des projets.
Le header et le footer sont gérées par des composants, afin qu'ils soient identiques sur chaque page. Le style quant à lui, est en partie réalisé manuellement, en partie organisé avec Bootstrap. Enfin, afin d'éviter toute erreur ou stockage inutile, lorsqu'une entrée (projet ou compétence) est supprimée, toutes ses relations (images, collaborateurs, etc.) sont supprimées avant. Les images sont également renommées lors de leur téléversement, et supprimées du serveur lors de la suppression de la relation.