NextGun Marketplace

NextGun Marketplace Screenshot

1. Contexte

NextGun Marketplace est une plateforme de mise en relation entre vendeurs et acheteurs d'armes à feu entre particuliers en Suisse. Elle met un accent particulier sur la sécurité et le 100% gratuit d'utilisation. Le client se veut à l'écoute de ses utilisateurs pour leur garantir une bonne expérience et un service de qualité.

2. Problème

Le client possédait déjà une solution en utilisant WordPress et des plugins tel que HivePress. Mais celle-ci se heurtait à de nombreuses limitations. En effet, elle ne permettait pas un bon niveau de contrôle et d'évolutivité suffisant sur plusieurs éléments tel que: la gestion des comptes frauduleux, la capacité à ajouter de nouvelles fonctionnalités, l'expérience utilisateur, etc.

3. Solution

2.1 Gestion des utilisateurs

Sur l'ancienne plateforme il n'était pas possible d'ajouter une photo de profil ainsi qu'une gestin fine des rôles et permissions des utilisateurs. Désormais il existe une double authentification (téléphone et mail) ainsi qu'un système de rôles et permissions qui permet de différencier les utilisateurs standards, les vendeurs vérifiés et les administrateurs.

2.2 Gestion des annonces

Les annonces ne pouvaient pas être catégorisées correctement car le client avait besoin d'un système complexe de tags et d'attributs qui permettent aux utilisateurs de filtrer les annonces plus facilement.

2.3 Protection contre les fraudes

Sur l'ancienne plateforme, il n'était pas possible d'ajouter une vérification de numéro de téléphone, chose qui est primordiale pour éviter de multiples problèmes liés à des comptes frauduleux, on peut donc permettre de n'avoir sur la plateforme que des utilisateurs possédants un numéro de téléphone suisse. Il est également possible de bannir des utilisateurs et ajouter leur adresse mail et numéro de téléphone à une liste noire pour éviter qu'ils ne créent de nouveaux comptes.

Il n'existait pas de système de logs et d'alertes en cas de comportements suspects qui permettent de prévenir certaines fraudes.

N'importe quel utilisateur pouvait créer une annonce et contacter un vendeur, il n'y avait aucun moyen d'empêcher un utilisateur n'ayant pas vérifié son adresse mail et téléphone d'agir.

2.4 Design et expérience utilisateur

Désormais comme l'application est rendue côté serveur (SSR), les temps de chargement sont extrêmement réduits et l'expérience utilisateur est beaucoup plus fluide.

2.4 SEO (Search Engine Optimization / Optimisation pour les moteurs de recherche)

Le SSR permet aussi d'améliorer considérablement le SEO du site web, ce qui est crucial pour un site de marketplace qui dépend fortement du trafic organique venant des moteurs de recherche pour attirer de nouveaux utilisateurs.

2.5 Notification mails

Le système de notifications mail permet d'envoyer des mails personnalisés aux utilisateurs pour les informer si ils ont reçu un message d'un acheteur potentiel.

2.6 Newsletter

Il est possible de s'inscrire à une newsletter pour recevoir les dernières nouvelles et mises à jour de la plateforme.

Admin Panel

Un panneau d'administration permet aux administrateurs de gérer les utilisateurs, les annonces, et de visualiser des statistiques sur l'utilisation de la plateforme.

2.7 Autres

Hormis tous ses points la customisation et l'ajout de nouvelles fonctionnalités étaient très difficiles à mettre en place sur l'ancienne plateforme. Désormais il suffit au client de me contacter avec sa demande et je peux l'implémenter rapidement étant pleinement en contrôle du code de l'application.

4. Stack technologique

Disclaimer: partie technique :)

Frontend / Backend

Le projet ne possédant peu de contraintes techniques particulières, nous avons opté pour une solution moderne et performante en utilisant le framework Fullstack: SvelteKit. Ce dernier nous a permis de travailler et d'itérer et efficacement sur les régulières demandes du client grâce au fait que le code serveur et client soit dans la même codebase. SvelteKit nous a aussi permis d'augmenter considérablement le score SEO ainsi que l'UX (expérience utilisateur) du site web grâce au rendu côté serveur (SSR).

Base de données

La base de données choisie est sqlite, cette dernière est légère, performante et facile à déployer. Elle permet donc de gagner du temps durant le développement et permet une mise en production plus simple.

Hosting

Le projet tourne sur un VPS (Virtual Private Server) chez un hébergeur suisse. Le déploiement est automatisé via des scripts bash pour finalement tourné dans une instance PM2.

5. Avis du client

sandigital