- Publié le
Farshop – Application e-commerce full-stack
- Auteurs

- Nom
- Code Smarter
- @codesmarter_dev
🛒 Farshop – Projet e-commerce personnel
Farshop est un projet personnel e-commerce full-stack actuellement en cours de développement.
Il a été conçu comme un projet d’apprentissage avancé, visant à explorer des fonctionnalités modernes et réalistes que l’on retrouve dans des applications e-commerce professionnelles.
L’application repose sur :
- un frontend Angular 18
- un backend Spring Boot 3
- une architecture sécurisée et évolutive
🎯 Objectifs du projet
- Approfondir les concepts avancés d’Angular
- Concevoir une API REST sécurisée avec Spring Boot
- Implémenter une authentification OAuth 2.0
- Gérer un panier, des commandes et des paiements
- Mettre en place une architecture scalable et maintenable
- Découvrir l’intégration de services tiers (Stripe, Redis)
🖥️ Frontend – Angular 18
Le frontend est développé avec Angular 18.x et continuera d’évoluer afin d’intégrer les nouvelles fonctionnalités du framework.
🔧 Concepts Angular abordés
- TypeScript basé sur les classes et modules
- Angular Material 18
- Bootstrap 5
- Routage :
- Routes principales
- Routes enfants
- Modules lazy-loaded
- Tests unitaires avec Jasmine & Karma
- Composants personnalisés :
@Inputet@Output
- Directives personnalisées
- Pipes personnalisés
- Communication composants / directives :
- Propriétés
- Événements
- Communication HTTP :
- Requêtes Ajax
- Observables RxJS
- HTTP Interceptors
- Services et classes utilitaires
- Angular data binding
- Formulaires :
- Template-driven forms
- Reactive forms
- Validation des données
📦 Librairies & outils frontend
- Crypto-JS (chiffrement)
- ngx-translate (internationalisation)
- ngx-webstorage
- ngx-stripe (paiements et facturation)
- ngx-cookie-service-ssr
- file-saver
🔐 Authentification & sécurité (Frontend)
- Authentification OAuth 2.0
- Gestion sécurisée des sessions
- Stockage local pour :
- Panier
- Données temporaires utilisateur
🛍️ Fonctionnalités e-commerce
- Authentification OAuth 2.0
- Parcourir les produits
- Consultation des détails produit :
- Description
- Avis
- Likes
- Commentaires
- Gestion du panier
- Processus de checkout
- Gestion du profil utilisateur :
- Informations personnelles
- Adresses
- Commandes
- Génération de factures
- Paiement via Stripe
- Gestion des sessions avec Redis
- Internationalisation :
- Français 🇫🇷
- Anglais 🇬🇧
⚙️ Backend – API REST Spring Boot 3
Le backend est développé avec Spring Boot 3.3.5 et fournit une API REST sécurisée consommée par le frontend Angular.
🔧 Technologies & concepts backend
- Java 21
- Spring Boot 3.3.5
- Spring Security
- Spring Data JPA
- Gestion des rôles sur les endpoints contrôleurs
- OAuth 2.0
- Swagger (documentation API)
- SSL
- Lombok
- Flyway 10 (migrations de base de données)
- MapStruct (mapping DTO / entités)
- Gestion globale des exceptions avec
@RestControllerAdvice - Logging avec SLF4J & Logback
- Tests unitaires :
- JUnit 5
- Mockito
🗄️ Base de données & cache
- MySQL (conteneur Docker)
- Redis (conteneur Docker)
- Accès aux données via Spring Data JPA
- Gestion des sessions et performances via Redis
💳 Paiements & facturation
- Paiements via Stripe
- Génération de factures PDF avec Apache PDFBox
- Gestion des factures côté backend
🐳 Conteneurisation & DevOps
- Docker
- Docker Compose pour l’orchestration :
- Backend Spring Boot
- MySQL
- Redis
- CI/CD :
- GitHub Actions
- Workflows automatisés
📌 État du projet & évolutions prévues
Farshop est un projet en évolution continue :
- Amélioration de l’expérience utilisateur
- Optimisation des performances
- Ajout de nouvelles fonctionnalités e-commerce
- Renforcement de la sécurité
- Enrichissement des tests
- Montées de version Angular & Spring Boot
🧠 Conclusion
Farshop est un projet e-commerce réaliste, conçu comme un terrain d’expérimentation technique pour consolider mes compétences en Angular, Spring Boot et architecture full-stack moderne.
Il reflète mon approche orientée :
- qualité du code
- sécurité
- évolutivité
- apprentissage continu

























