Choisissez votre langue
Cours MEAN Stack : Créer un clone de Trello
Plus de 2 millions d'étudiants dans le monde

Cours MEAN Stack : Créer un clone de Trello

Construisez un clone de Trello de qualité professionnelle à partir de zéro en utilisant la pile MEAN complète — MongoDB, Express, Angular et Node.js. Maîtrisez la collaboration en temps réel avec Socket.IO, l'authentification sécurisée avec JWT et la gestion d'état évolutive avec NgRx. Livrez une application conteneurisée en direct que vous pourrez montrer à n'importe quel employeur.

Dedika pour les entreprises

Ce que vous allez apprendre:

  • Construisez un tableau Kanban entièrement fonctionnel avec la gestion des cartes par glisser-déposer entre les listes.

  • Configurez une structure de projet monorepo avec des paramètres TypeScript partagés pour le client et le serveur.

  • Implémentez l'authentification basée sur JWT avec un contrôle d'accès basé sur les rôles pour les membres du tableau.

  • Intégrez Socket.IO pour diffuser les mises à jour du tableau en direct entre plusieurs utilisateurs connectés.

  • Gérez l'état complexe de l'application de manière prévisible à l'aide du store, des actions et des effets NgRx.

  • Conteneurisez et déployez l'application complète de la pile MEAN à l'aide de Docker et de GitHub Actions.

Comment vous étudiez de façon pratique Cours MEAN Stack : Créer un clone de Trello

Comment vous pratiquez Cours MEAN Stack : Créer un clone de Trello

Pour vous, entreprise, qui souhaitez former votre équipe

Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre activité et aux besoins spécifiques de votre entreprise.

Cliquez ici

Contenu du cours

8 Chapitres • 37 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

Fondations de la pile MEAN et configuration du projet

  • Leçon 1 • Initialisation de la structure du projet monorepo

    Crée des répertoires séparés pour le client et le serveur au sein d'un même dépôt. Établit les conventions de dossiers utilisées tout au long du cours.

  • Leçon 2 • Compréhension de l'architecture de la pile MEAN

    Couvre les rôles de MongoDB, Express, Angular et Node.js ainsi que leur interconnexion. Fournit le modèle mental nécessaire avant d'écrire du code.

  • Leçon 3 • Variables d'environnement et gestion de la configuration

    Présentation de dotenv pour les secrets et les paramètres spécifiques à l'environnement. Empêche que des identifiants codés en dur n'entrent dans le contrôle de source.

  • Leçon 4 • Installation et configuration des outils de développement

    Installe Node.js, Angular CLI, MongoDB et VS Code avec les extensions essentielles. Garantit un environnement cohérent pour tous les chapitres suivants.

Chapitre 2Voir les détails

Modélisation des données MongoDB pour un tableau Kanban

  • Leçon 1 • Validation des schémas et hooks d'intergiciel

    Ajoute des validateurs Mongoose et des hooks pre/post pour appliquer les règles métier au niveau du modèle. Réduit les données invalides avant qu'elles n'atteignent la base de données.

  • Leçon 2 • Conception des schémas de tableau, liste et carte

    Crée des schémas Mongoose pour les trois entités principales de Trello avec des champs typés. Établit les contrats de données consommés par chaque point d'accès API.

  • Leçon 3 • Indexation et optimisation des requêtes

    Applique des index composés et sur un seul champ pour prendre en charge les recherches rapides de tableaux et de cartes. Prépare la base de données pour les charges de requêtes en temps réel.

  • Leçon 4 • Modélisation de données relationnelle vs. document

    Met en contraste la normalisation SQL avec les stratégies d'incorporation et de référencement de MongoDB. Cadre les décisions de conception prises tout au long de ce chapitre.

Chapitre 3Voir les détails

Construction de l'API REST Express

  • Leçon 1 • Test de l'API avec Postman et Jest

    Teste tous les points d'accès manuellement dans Postman et les automatise avec Jest et Supertest. Valide l'exactitude de l'API avant l'intégration du frontend.

  • Leçon 2 • Points d'accès CRUD pour les tableaux, listes et cartes

    Construit des points d'accès RESTful couvrant la création, la lecture, la mise à jour et la suppression pour les trois entités. Connecte les contrôleurs aux modèles Mongoose établis au chapitre 2.

  • Leçon 3 • Validation des entrées avec Express-Validator

    Valide et assainit les corps de requête entrants avant qu'ils n'atteignent la base de données. Empêche les données malformées et les tentatives d'injection à la limite de l'API.

  • Leçon 4 • Structure de l'application Express et routage

    Organise les routes, les contrôleurs et les services dans une architecture en couches. Maintient la séparation des préoccupations pour la maintenabilité à mesure que l'API grandit.

  • Leçon 5 • Intergiciel global et gestion des erreurs

    Ajoute la journalisation des requêtes, l'analyse JSON, CORS et un gestionnaire d'erreurs centralisé. Garantit des réponses API cohérentes et un débogage plus facile.

Chapitre 4Voir les détails

Authentification et autorisation JWT

  • Leçon 1 • Points d'accès d'enregistrement et de connexion

    Construit les routes /auth/register et /auth/login qui renvoient des JWT signés en cas de succès. Connecte la création d'utilisateurs et la vérification des identifiants au cycle de vie du jeton.

  • Leçon 2 • Intergiciel JWT et protection des routes

    Crée un intergiciel Express qui vérifie les jetons et attache l'utilisateur à la requête. Protège toutes les routes de tableaux, listes et cartes contre l'accès non authentifié.

  • Leçon 3 • Schéma utilisateur et hachage de mot de passe

    Crée le modèle Mongoose User et hache les mots de passe avec bcrypt avant le stockage. Établit la base d'identifiants sécurisée pour tous les flux d'authentification.

  • Leçon 4 • Contrôle d'accès basé sur les rôles pour les tableaux

    Ajoute les rôles de propriétaire et de membre aux tableaux et applique les autorisations dans les contrôleurs. Empêche les utilisateurs non autorisés de modifier les tableaux dont ils ne sont pas propriétaires.

Chapitre 5Voir les détails

Architecture du frontend Angular et routage

  • Leçon 1 • Gestion d'état avec NgRx

    Présente le store NgRx, les actions, les réducteurs et les effets pour gérer l'état des tableaux et des cartes. Fournit un conteneur d'état prévisible pour les mises à jour en temps réel.

  • Leçon 2 • Conception des modules Angular et des modules de fonctionnalité

    Organise l'application en modules core, shared et feature suivant les bonnes pratiques Angular. Réduit la taille du bundle et améliore la découvrabilité du code.

  • Leçon 3 • Client HTTP et intercepteurs

    Configure HttpClientModule et un intercepteur qui attache les en-têtes JWT à chaque requête. Centralise l'injection du jeton d'authentification dans tous les appels API.

  • Leçon 4 • Gardes d'authentification et protection des routes

    Implémente des gardes CanActivate qui redirigent les utilisateurs non authentifiés vers la page de connexion. Reflète la couche d'autorisation backend côté client.

  • Leçon 5 • Configuration du routage chargé à la demande

    Configure le routeur Angular avec des routes chargées à la demande pour les tableaux, l'authentification et le tableau de bord. Améliore les performances de chargement initial en fractionnant le bundle.

Chapitre 6Voir les détails

Construction des composants d'interface utilisateur du tableau Kanban

  • Leçon 1 • Formulaires réactifs et validation

    Implémente les formulaires réactifs Angular pour tous les formulaires de création et d'édition avec validation côté client. Reflète les règles de validation côté serveur pour une expérience utilisateur cohérente.

  • Leçon 2 • Glisser-déposer avec Angular CDK

    Intègre Angular CDK DragDrop pour permettre le réordonnancement des cartes au sein et entre les listes. Déclenche des actions de réorganisation vers NgRx et se synchronise avec le backend.

  • Leçon 3 • Composants du tableau de bord et de navigation du tableau

    Construit le tableau de bord d'accueil listant tous les tableaux de l'utilisateur et une barre de navigation supérieure. Connecte les composants aux sélecteurs NgRx et aux appels API du tableau.

  • Leçon 4 • Vue du tableau avec listes et cartes

    Affiche un seul tableau avec ses listes et cartes dans une disposition horizontale défilable. Récupère et normalise les données du tableau depuis le store NgRx.

  • Leçon 5 • Modal de détail de carte et édition

    Crée une boîte de dialogue modale pour visualiser et modifier les détails de la carte, y compris la description et les étiquettes. Persiste les modifications via des appels API PATCH et les effets NgRx.

Chapitre 7Voir les détails

Fonctionnalités en temps réel avec Socket.IO

  • Leçon 1 • Mise à jour du store NgRx à partir des événements Socket

    Déclenche des actions NgRx à partir des abonnements aux événements socket pour mettre à jour l'état du tableau en temps réel. Fusionne les flux de données REST et WebSocket en une seule source d'état.

  • Leçon 2 • Émission d'événements depuis les points d'accès API

    Déclenche les émissions socket depuis les contrôleurs Express après des écritures réussies en base de données. Maintient les couches REST et WebSocket synchronisées à chaque mutation.

  • Leçon 3 • Configuration du serveur Socket.IO et espaces de noms

    Attache Socket.IO au serveur HTTP Express existant et définit des espaces de noms par tableau. Isole les événements en temps réel par tableau pour une diffusion efficace.

  • Leçon 4 • Indicateurs de présence et curseurs en direct

    Montre quels utilisateurs consultent actuellement un tableau à l'aide d'événements de présence et d'indicateurs d'avatar. Ajoute une conscience collaborative sans bloquer le flux de données principal.

  • Leçon 5 • Service Socket Angular et intégration RxJS

    Crée un service Angular qui encapsule Socket.IO-client et expose les flux d'événements sous forme d'Observables. Permet un abonnement réactif aux événements du tableau en temps réel.

Chapitre 8Voir les détails

Déploiement, performances et préparation à la production

  • Leçon 1 • Journalisation, surveillance et suivi des erreurs

    Intègre une journalisation structurée, une surveillance de la disponibilité et un traceur d'erreurs frontend en production. Fournit une visibilité sur les pannes avant que les utilisateurs ne les signalent.

  • Leçon 2 • Dockérisation de l'application de la pile MEAN

    Écrit des Dockerfiles pour la construction Angular et le serveur Express et les compose avec MongoDB. Produit des images de conteneur reproductibles pour toute cible de déploiement.

  • Leçon 3 • Pipeline IC/DC avec GitHub Actions

    Automatise le linting, les tests, la construction et l'envoi d'images Docker sur chaque pull request. Réduit les étapes de déploiement manuelles et détecte les régressions tôt.

  • Leçon 4 • Déploiement cloud et configuration de l'environnement

    Déploie les conteneurs sur une plateforme cloud et configure les variables d'environnement de production. Rend l'application accessible publiquement avec une connexion de base de données gérée.

  • Leçon 5 • Optimisation de la construction Angular

    Applique les indicateurs de construction de production, le chargement différé et l'analyse du bundle pour minimiser la taille de la charge utile. Améliore le temps nécessaire à l'interactivité pour les utilisateurs finaux sur tous les appareils.

Certification

Votre certificat valide de réussite

Ce cours est fait pour vous :

  • Développeur JavaScript junior&nbsp

  • : prêt à dépasser le stade des petits exercices tutoriels.

  • Développeur frontend&nbsp

  • : souhaite maîtriser également les couches backend et base de données.

  • Personne en reconversion professionnelle&nbsp

  • : possède des compétences fondamentales en codage et a besoin d'une pièce maîtresse pour son portfolio.

  • Étudiant en informatique&nbsp

  • : cherche à appliquer la théorie des cours à un produit réel.

  • Développeur web freelance&nbsp

  • : a besoin de proposer à ses clients une solution full-stack moderne.

  • Développeur backend&nbsp

  • : souhaite acquérir une expérience pratique dans la création d'interfaces Angular réactives.

Ce que disent nos élèves

Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir besoin de changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Digital
J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.
Mariana Ferres
Mariana FerresÉtudiante en Photographie
J'aime le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !
Luciana Alvarenga
Luciana AlvarengaÉtudiante en Design d'Ongles
La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.
André Felipe
André FelipeÉtudiant en Ingénierie de Prompt

Formations principales

FAQ

Qui est Dedika ?

Le certificat est-il valable en France ?

Les cours sont-ils gratuits ?

Quelle est la charge de travail du cours ?

Comment sont les cours ?

Comment fonctionnent les cours ?

Quelle est la durée des cours ?

Quel est le coût ou le prix des cours ?

Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?

Cours PDF