MagMate est une plateforme web complète dédiée à la promotion de l'artisanat et de la culture (probablement axée sur le Maroc et le Maghreb, au vu des assets graphiques comme le zellij, le caftan, etc.). Elle combine une Marketplace pour les produits artisanaux, un système de gestion d'Événements, et une mise en relation avec des Prestataires de services.
Le projet est divisé en deux applications distinctes :
- Framework : Angular (v16+)
- Langage : TypeScript
- Styling : SCSS, CSS natif
- Build Tool : Angular CLI (avec configuration Vite présente)
- Framework : NestJS
- Langage : TypeScript
- Base de données : PostgreSQL (Hébergé sur Supabase)
- ORM : TypeORM
- Authentification : JWT & Firebase Auth
- Temps réel : Socket.io
- Stockage : Multer (Upload local)
- Node.js (v18+ recommandé)
- PostgreSQL (Instance locale ou Cloud via Supabase/Neon/AWS)
- Compte Firebase (Pour les fonctionnalités avancées d'auth/notifications)
-
Accédez au dossier backend et installez les dépendances :
cd magmate-backend npm install -
Configuration de la Base de Données : Le projet est configuré pour se connecter à une base PostgreSQL.
Créez un fichier
.envà la racine demagmate-backend:DB_HOST= DB_PORT= DB_USERNAME= DB_PASSWORD= DB_NAME= pool_mode= CLOUDINARY_API_KEY= CLOUDINARY_API_SECRET= CLOUDINARY_CLOUD_NAME= FRONTEND_URL=
-
Lancer les migrations (TypeORM migrations) :
npm run typeorm:run-migrations
- Accédez au dossier frontend :
cd magmate-frontend - Installez les dépendances :
npm install
Pour lancer le projet complet, vous devez ouvrir deux terminaux séparés.
cd magmate-backend
# Lancer en mode développement (avec hot-reload)
npm run start:devLe serveur démarrera par défaut sur le port 3000
cd magmate-frontend
# Lancer le serveur de développement
npm startL'application sera accessible sur http://localhost:4200
- Produits : Consultation, recherche et filtrage de produits artisanaux (Tapis, Bijoux, Céramique...).
- Boutiques (Magasins) : Les vendeurs peuvent gérer leur propre boutique.
- Panier & Commandes : Gestion du cycle d'achat.
- Découverte : Liste des événements culturels (Festivals, Expositions).
- Favoris : Possibilité de sauvegarder des événements.
- Annuaire : Recherche de prestataires de services.
- Profils : Pages détaillées pour les prestataires avec avis et portfolio.
- Messagerie Instantanée : Chat en temps réel entre utilisateurs et prestataires (via Socket.io).
- Avis & Réclamations : Système de feedback sur les produits et services.
Voici un aperçu de l'organisation des dossiers :
| Dossier | Description |
|---|---|
magmate-frontend/src/app |
Code source Angular (Composants, Services, Modules). |
magmate-backend/src |
Code source NestJS (Contrôleurs, Services, Entités). |
magmate-backend/src/migrations |
Scripts de migration de base de données TypeORM. |