đź’Ž

ERP Crystal

Revue du Sprint 1

Antony Burlet

Billy Hallé

William Peck

Nicolas Michaud

đź“– Contexte du projet

Développement d’un ERP pour une librairie permettant de centraliser :

  • Gestion des employĂ©s
  • Gestion des produits et inventaires
  • Gestion des ventes
  • Gestion des horaires
  • ⚠️ Gestion de la vente des produits

Objectif du Sprint 1 :

  • Mettre en place l’architecture backend
  • PrĂ©parer l’architecture frontend
  • Analyser et comprendre les besoins du client
  • Structurer l’architecture globale du projet
Membre 1

ERP Crystal

Revue du Sprint 1

Présentateur : Antony Burlet

RĂ´le : Dev Backend

Mise en place du backend

📋 Tâches accomplies

  • âś“
    Mise en place de l'architecture backend
  • âś“
    Mise en placement et développement de la base de données
  • âś“
    Mise en place de Swagger et des routes API de base

💻 Démonstration visuelle

Schéma de la base de données

Structure des entités principales et leurs relations

Tests avec Swagger

Validation des routes API et communication avec la base de données

🚀 Défis

Défis rencontrés

  • • Problèmes d’architecture rĂ©introduits lors des merges
  • • Conflits Git entre les branches (retour Ă  une ancienne structure)
  • • DifficultĂ© Ă  dĂ©finir une architecture claire dès le dĂ©but

Solutions appliquées

  • • IntĂ©gration plus frĂ©quente des branches
  • • Meilleure planification de l’architecture
  • • AmĂ©lioration de la communication dans l’équipe
Membre 2

Billy Hallé

Rôle : Lead Tech & Ingénieur DevOps

Focus principal de ce sprint :

Mon objectif principal pour ce sprint était de couler des fondations techniques solides.
J'ai mis en place l'infrastructure de déploiement continu, j'ai mis des normes de qualité strictes pour le code.
Et j'ai developpé développé la porte d'entrée sécurisée de l'ERP pour que l'équipe puisse bâtir les modules métiers en toute sérénité.

🎬 Le Déploiement en Action

Démonstration GIF

🛠️ Réalisations Techniques

Infrastructure GitOps & Conteneurisation

- Mise en place d'un cluster local propulsé par Kubernetes (K3s).
- Création des scripts de build automatisés.
- Intégration d'ArgoCD pour un déploiement continu de nos images Docker.

Authentification Sécurisée (JWT)

- Création de l'API de génération de jetons JWT côté backend C#,
- Configuration d'un intercepteur Axios côté frontend React pour automatiser la sécurité des requêtes.

Migrations BD & Seeding Automatisé

- Automatisation de la création de la base de données PostgreSQL au démarrage de l'API.
- Injection automatique des comptes.

Contrôle Qualité (DX)

- Installation de barrières de qualité avec Husky et Biome.
- Mise en place de scripts "Pre-commit" stricts garantissant un code formaté et fonctionnel avant le push.

🎯 Résultats & Prochaines étapes

Résultat Final (Sprint 1)

L'infrastructure de production est 100% opérationnelle et automatisée.
Le système de connexion protège désormais l'ensemble de l'ERP de bout en bout.

À améliorer pour le Sprint 2

  • ImplĂ©menter le contrĂ´le d'accès basĂ© sur les rĂ´les (RBAC) dans notre système JWT pour sĂ©curiser le futur module RH.
  • Optimiser la gestion de la mĂ©moire de notre serveur de production et accĂ©lĂ©rer la vitesse de nos builds Docker.
Membre 3

William Peck

RĂ´le : Frontend

Mes responsabilités :

Développement frontend / application web

Travail accompli

Initialisation du projet frontend

React Typescript avec Vite

Création de stubs pour les pages principales

PageCatalog, PageProductDetails, PageListOfEmployees, etc.

Création des routes préliminaires

[Détails sur la protection des données]

Définition des types principaux

Livres, Produits, Factures, etc.

Travail accompli

Version préliminaire de la page catalogue

Travail accompli

Version préliminaire de la page détails d'un produit

Travail accompli

Intégration de la librairie MUI X Data Grid

Objectifs pour le futur

Intégrer le frontend au REST API et au backend

Bâtir les fonctionnalités

Travailler le visuel et l'utilisabilité (UI/UX)

Membre 4

Nicolas Michaud

RĂ´le : Programmation et style du site web.

Mon mandat :

Je dois programmer proprement le site Web, dans mon cas je me suis concentré sur l'ajout et l'édition de produits.

✅ Tâches et Validations

  • Le formulaire d'ajout de produit.

    Je vous montre le formulaire qui est programmé en React, le style est en Bootstrap.

✅ Tâches et Validations

  • Le formulaire pour modifier un produit.

    Chaque produits peuvent être modifiés.

📊 Je dois tester mes pages ainsi qu'améliorer leur style.

État de santé (Sprint 1)

Mes pages fonctionnent, l'objet est crée correctement.

Couverture: 60%

Recommandations

  • Optimiser les fonctions et le code qui se rĂ©pète.
  • AmĂ©liorer le style des pages.
  • Tester mon formulaire
đź’Ž

Bilan du Sprint 1

Ce premier sprint nous a permis de poser des bases solides pour Crystal ERP. L'architecture est prête pour le développement intensif des modules métiers au Sprint 2.

Ce qui s'est bien passé

  • Bon flow de travail global (malgrĂ© des difficultĂ©s en fin de sprint)
  • Bonne compartimentation des tâches
  • Mise en place d’une base technique solide
  • Utilisation d’outils pertinents pour la suite du projet
  • Satisfaction du client vis-Ă -vis du travail rĂ©alisĂ©

À améliorer

  • Avoir une meilleure vision globale du projet
  • DĂ©finir une politique de travail claire (rĂ´les, mĂ©thodes, organisation)
  • Prendre davantage de recul sur les choix d’architecture
  • Mieux valider les besoins avec le client avant d’implĂ©menter
  • Trouver un Ă©quilibre entre autonomie et validation client

Merci !

Période de questions ?

1 / 4