NAVER Boostcamp Web·Mobile 10 — Rétrospective du projet de groupe (Semaines 4 à 7) | chaen
NAVER Boostcamp Web·Mobile 10 — Rétrospective du projet de groupe (Semaines 4 à 7)
목록
Le récit d'une aventure intense de 7 semaines : de l'amélioration de l'onboarding et du monitoring d'infrastructure à la communication temps réel et l'optimisation de personnages 3D.
Le projet est enfin terminé. Au début, je craignais de ne pas pouvoir implémenter toutes les fonctionnalités prévues en seulement sept semaines, mais nous l'avons fait !
Semaine 4 — Amélioration de l'Onboarding et Architecture des Données
Système d'Onboarding pour les Utilisateurs non connectés
Un coéquipier a suggéré une structure à la Duolingo. Nous avons utilisé le Local Storage pour maintenir les données, en enregistrant même la position du dernier chapitre pour faciliter le retour de l'utilisateur.
Intégration Auth sans bibliothèque et compréhension du HTTP
J'ai géré la partie frontend de l'authentification avec l' standard. J'ai écrit manuellement la . Grâce à l'expérience d'implémentation de HTTP via TCP pendant le Challenge, j'ai pu travailler en visualisant comment les données circulent.
API Fetch
logique des jetons Access/Refresh
Semaine 5 — Avancement de l'Infrastructure et Extension Backend
Nous avons conçu des étapes de "Vérification intermédiaire/finale". J'ai mis en place une logique dans NestJS pour extraire aléatoirement 10 questions afin de créer un environnement de révision personnalisé.
Optimisation de Husky et Système de Monitoring
J'ai renforcé Husky (Lint, Format, Type Check, Build) pour sécuriser les PR.
Composant
Rôle
Description
Prometheus
Collecte de métriques
Enregistre les métriques serveur
Grafana
Dashboard
Visualisation unifiée
Loki
Stockage de logs
Centralisation des logs applicatifs
Promtail
Collecte de logs
Transmet les logs des conteneurs à Loki
Node Exporter
Système de métriques
Surveille CPU/Mémoire/Disque
J'ai également surmonté ma peur des serveurs en déployant avec succès Docker et en configurant la surveillance.
Semaine 5 Rétrospective
Points positifs :
Partage d'un flux de travail n8n pour générer efficacement des données de quiz.
Gain de confiance technique en concevant et implémentant directement le backend.
Semaine 6 — Communication Temps Réel et Combat avec les Personnages 3D
Refactorisation Socket.io et Séparation des Responsabilités
J'ai conçu un Provider et un Hook dédiés pour une gestion cohérente des événements Socket.io. Malgré une réécriture complète suite à des erreurs de fusion, nous avons obtenu une structure évolutive.
Défis avec les Personnages 3D
Intégrer le personnage créé sur Blender au Web a pris une journée entière. J'ai appris l'importance d'un débogage étape par étape plutôt que de compter uniquement sur l'IA.
Implémentation du Profil et Correction du Fuseau Horaire
J'ai amélioré le système en incluant le fuseau horaire local de l'utilisateur dans les en-têtes HTTP, permettant au serveur de renvoyer l'heure exacte.
J'ai appliqué les compressions Gzip/Brotli et utilisé des polices "subset". Pour le personnage 3D, j'ai combiné les Shape Keys dans Three.js et les mouvements corporels dans Blender.
Amélioration de l'UX du Quiz et Rendu SVG
J'ai amélioré l'UX en fournissant des connexions visuelles directes via le rendu SVG lors de la sélection des réponses.