Créer le 27 Mars 2024
Portfolio personnel
Le projet de conception de mon portfolio est une initiative complète visant à créer une vitrine en ligne dynamique et fonctionnelle afin de :
- Présenter mon travail et mon expertise ;
- Prendre contact avec mes prospects ;
- Donner une nouvelle dimension à mon CV.
Cette entreprise comprendra la réalisation de la vitrine elle-même, mettant en valeur mes compétences en design et en développement web. En plus de cela, le projet implique la conception d'un robuste back-end pour gérer efficacement les données, garantissant une expérience utilisateur fluide et sécurisée.
De plus, une attention particulière sera accordée à la création d'un back-office intuitif et convivial. Ce back-office permettra la gestion efficace de la clientèle, ainsi que la facilitation du processus de rédaction, de publication et de mise à jour du contenu. En combinant ces éléments, le portfolio sera non seulement une vitrine professionnelle de mes réalisations, mais aussi un outil puissant pour interagir avec les visiteurs et les clients potentiels, tout en simplifiant les tâches administratives liées à sa maintenance et à son actualisation.
Stack technique
Pour la conception de l'interface utilisateur de mon portfolio, j'ai opté pour une combinaison dynamique de technologies de pointe. À la base de cette architecture se trouve NuxtJS, une framework basée sur VueJS 3 et la Composition API, reconnue pour sa performance et sa flexibilité. Cette décision a été motivée par mon désir d'adopter les dernières normes et pratiques de développement web, tout en garantissant une expérience utilisateur fluide et réactive. En combinant NuxtJS avec Tailwind CSS, j'ai pu tirer parti de la puissance de ces deux outils pour créer une interface esthétique et fonctionnelle. Tailwind CSS offre une approche unique du design, en permettant une personnalisation minutieuse grâce à sa méthodologie utility-first, tout en favorisant une meilleure maintenabilité du code. Cette stack technique, fruit de mon expérience et de ma recherche constante d'excellence, offre un équilibre parfait entre performance, flexibilité et esthétique, assurant ainsi une expérience utilisateur exceptionnelle pour les visiteurs de mon portfolio.
Concernant la gestion des données et des fonctionnalités côté serveur de mon portfolio, j'ai opté pour une approche basée sur une API REST développée avec NestJS, appuyée par son intégration rapide et efficace de Fastify. Ce choix a été motivé par la réputation de NestJS en tant que framework robuste et modulaire, offrant une structure bien organisée pour développer des applications back-end évolutives et performantes. L'intégration de Fastify avec NestJS permet d'exploiter pleinement les performances et les fonctionnalités avancées de ce serveur HTTP, offrant ainsi des temps de réponse rapides et une efficacité accrue dans le traitement des requêtes. De plus, j'ai choisi Swagger pour la documentation de mon API, en raison de sa facilité d'intégration avec NestJS. Cette décision garantit une documentation claire et complète de toutes les fonctionnalités de mon API, facilitant ainsi son utilisation et son intégration par d'autres développeurs ou services tiers. En résumé, l'adoption de NestJS avec Fastify et Swagger pour la partie back-end de mon projet garantit non seulement des performances optimales et une gestion efficace des données, mais aussi une documentation précise et accessible, contribuant ainsi à la robustesse et à la fiabilité globale de mon portfolio en ligne.
Pour la gestion efficace et sécurisée des données de mon portfolio, j'ai fait le choix de PostgreSQL comme système de gestion de base de données. PostgreSQL est reconnu pour sa fiabilité, sa robustesse et sa conformité aux normes SQL, en faisant un choix idéal pour les applications web nécessitant une manipulation complexe des données. Pour interagir avec la base de données PostgreSQL de manière efficace et élégante, j'ai opté pour l'utilisation de Prisma en tant qu'ORM (Object-Relational Mapping). Prisma simplifie grandement le processus d'interrogation et de manipulation des données, en offrant une interface conviviale basée sur le langage de programmation TypeScript. Son système de modélisation de données intuitif facilite la création, la lecture, la mise à jour et la suppression des données, tout en assurant la sécurité et la cohérence des opérations. En choisissant PostgreSQL avec Prisma pour la gestion de la base de données de mon portfolio, je m'assure non seulement une performance optimale et une sécurité renforcée, mais aussi une expérience de développement fluide et efficace, permettant ainsi de concentrer mes efforts sur la création de fonctionnalités innovantes et sur la qualité globale de mon projet.
Cette stack technique sera concervée entre les différents services qui seront liés à cette vitrine dynamique.
Démarche de développement
La démarche de développement de mon projet de conception de portfolio a été méticuleusement planifiée, intégrant alors différentes étapes pour assurer la cohérence et la qualité tout au long du processus. Tout commencera par une phase de conception approfondie, où j'élaborerai les concepts et les maquettes de l'interface utilisateur, en accordant une attention particulière à l'esthétique et à l'ergonomie.
Ensuite, je procéderai à l'intégration de la vitrine, en utilisant des mocks pour simuler le comportement des fonctionnalités avant même leur développement complet. Cette approche me permettra de valider rapidement le design et de recueillir des retours d'utilisateurs potentiels avant de passer à la prochaine étape.
La conception du back-end, axée principalement sur la modélisation de la base de données, suivra cette phase initiale. Une fois la structure de la base de données définie, je procéderai au déploiement d'une version beta de la v1 pour recueillir des retours d'utilisateurs réels et affiner davantage les fonctionnalités et l'expérience utilisateur.
Le développement back-end prendra alors le relais, mettant en œuvre les fonctionnalités nécessaires pour alimenter la vitrine en données et assurer son bon fonctionnement. Cette étape sera étroitement liée à l'intégration de la vitrine, garantissant une synchronisation fluide entre l'interface utilisateur et les données provenant du back-end.
Parallèlement au développement back-end, j'entamerai la conception du back-office, en me concentrant sur les fonctionnalités de gestion clientèle, de rédaction et de publication. Une fois le design du back-office finalisé, je commencerai le développement de ses fonctionnalités, en veillant à ce qu'elles répondent aux besoins opérationnels et administratifs de manière efficace et intuitive.