LandChain est une plateforme innovante qui révolutionne l'investissement immobilier en utilisant la technologie blockchain Hedera Hashgraph. Elle permet de tokeniser des terrains, de démocratiser l'investissement et d'assurer une transparence totale grâce aux smart contracts.
- Système d'authentification JWT sécurisé
- Vérification KYC intégrée
- Protection des routes avec middleware
- Gestion des sessions et refresh tokens
- Navigation et filtrage des terrains disponibles
- Achat/Vente de tokens de propriété
- Visualisation sur carte interactive (Leaflet)
- Suivi des investissements en temps réel
- Portfolio d'investissements détaillé
- Historique des transactions
- Calcul automatique des ROI
- Distribution des revenus locatifs
- KPI en temps réel (Utilisateurs, Terrains, Transactions, Revenus)
- Analytics et métriques de performance
- Gestion des utilisateurs et KYC
- SEO & Marketing tracking
- Assistant intelligent 24/7
- Base de connaissances FAQ
- Questions rapides pré-configurées
- Historique des conversations
Frontend
- Next.js 14 (React 18, TypeScript)
- Tailwind CSS (Design dark/neon moderne)
- HashConnect (Wallet Hedera)
- React Leaflet (Cartes interactives)
- Recharts (Graphiques)
- SWR (Data fetching)
- Zustand (State management)
Backend
- Node.js + Express
- PostgreSQL (Base de données relationnelle)
- Redis (Cache & sessions)
- JWT (Authentification)
- Sequelize (ORM)
- Winston (Logging)
Blockchain
- Hedera Hashgraph (@hashgraph/sdk)
- Smart Contracts Solidity
- HashPack Wallet integration
DevOps
- Docker & Docker Compose
- PostgreSQL containerisé
- Redis containerisé
- Nginx (reverse proxy)
LandChain/
├── frontend/ # Next.js 14 Application
│ ├── app/ # Pages Next.js (App Router)
│ │ ├── admin/ # Dashboard Admin
│ │ ├── dashboard/ # Dashboard Investisseur
│ │ ├── marketplace/ # Marketplace
│ │ ├── kyc/ # KYC Verification
│ │ ├── login/ # Authentification
│ │ └── terrains/ # Liste des terrains
│ ├── components/ # Composants React réutilisables
│ ├── contexts/ # React Contexts (Auth, etc.)
│ ├── hooks/ # Custom Hooks
│ ├── lib/ # Utilitaires & API client
│ └── types/ # TypeScript types
│
├── backend/ # Node.js Express API
│ ├── src/
│ │ ├── config/ # Configuration (DB, Redis, Hedera, JWT)
│ │ ├── controllers/ # Logique métier
│ │ ├── middleware/ # Auth, validation, rate limiting
│ │ ├── models/ # Modèles Sequelize
│ │ ├── routes/ # API Routes
│ │ └── services/ # Services (Email, KYC)
│ └── server.js
│
├── database/ # Scripts SQL & migrations
│ ├── init.sql # Schema initial
│ └── migrations/ # Migrations DB
│
├── docker-compose.yml # Configuration Docker
└── .env.docker.example # Variables d'environnement
- Node.js >= 18.0.0
- npm >= 8.0.0
- Docker & Docker Compose (recommandé)
- Compte Hedera Testnet (pour le développement)
# 1. Cloner le repository
git clone https://github.com/zakeelm6/LandChain.git
cd LandChain
# 2. Copier et configurer les variables d'environnement
cp .env.docker.example .env.docker
# Éditer .env.docker avec vos credentials Hedera
# 3. Lancer l'application
docker-compose up --build
# L'application sera accessible sur:
# - Frontend: http://localhost:3000
# - Backend API: http://localhost:5000
# - PostgreSQL: localhost:5432
# - Redis: localhost:6379# 1. Cloner le repository
git clone https://github.com/zakeelm6/LandChain.git
cd LandChain
# 2. Installer PostgreSQL et Redis localement
# 3. Configurer les variables d'environnement
cp .env.example .env
# Éditer .env avec vos credentials
# 4. Installer les dépendances
cd backend && npm install
cd ../frontend && npm install
# 5. Initialiser la base de données
psql -U postgres -f database/init.sql
# 6. Lancer le backend
cd backend && npm run dev
# 7. Lancer le frontend (dans un autre terminal)
cd frontend && npm run dev# Database
DATABASE_URL=postgresql://landchain:landchain123@localhost:5432/landchain
# Redis
REDIS_URL=redis://localhost:6379
# JWT
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
JWT_REFRESH_SECRET=your-super-secret-refresh-key
JWT_EXPIRES_IN=1h
JWT_REFRESH_EXPIRES_IN=7d
# Hedera
HEDERA_NETWORK=testnet
HEDERA_ACCOUNT_ID=0.0.xxxxx
HEDERA_PRIVATE_KEY=your-hedera-private-key
HEDERA_CONTRACT_ADDRESS=0.0.xxxxx
# Frontend
FRONTEND_URL=http://localhost:3000
# Email (optionnel pour notifications)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASS=your-app-passwordNEXT_PUBLIC_API_URL=http://localhost:5000
NEXT_PUBLIC_HEDERA_NETWORK=testnetPOST /api/auth/register- Inscription utilisateurPOST /api/auth/login- ConnexionPOST /api/auth/logout- DéconnexionPOST /api/auth/refresh-token- Refresh tokenGET /api/auth/me- Profil utilisateur
GET /api/terrains- Liste des terrains (avec filtres)GET /api/terrains/:id- Détails d'un terrainGET /api/terrains/featured- Terrains en vedettePOST /api/terrains/:id/increment-views- Incrémenter les vues
GET /api/marketplace- Liste des annoncesPOST /api/marketplace- Créer une annoncePOST /api/marketplace/buy- Acheter des tokensDELETE /api/marketplace/:id- Annuler une annonce
GET /api/investor/dashboard- Dashboard KPIsGET /api/investor/portfolio- Portfolio d'investissementsGET /api/investor/revenues- Historique des revenusGET /api/investor/transactions- Historique des transactions
GET /api/admin/dashboard/kpi- KPI dashboard adminGET /api/admin/analytics- Analytics détailléesGET /api/admin/users- Liste des utilisateursPUT /api/admin/users/:id- Modifier un utilisateurGET /api/admin/seo- Métriques SEO
POST /api/kyc/submit- Soumettre un document KYCPOST /api/kyc/upload- Upload de documentGET /api/kyc/status- Statut KYC de l'utilisateurPOST /api/kyc/:id/approve- Approuver un KYC (admin)POST /api/kyc/:id/reject- Rejeter un KYC (admin)
POST /api/chatbot/message- Envoyer un messageGET /api/chatbot/history- Historique des conversations
# Lancer les tests
npm test
# Lancer le linter
npm run lint
# Build de production
npm run build
# Vérification TypeScript
cd frontend && npm run type-check# Build et démarrage en mode production
docker-compose -f docker-compose.yml up --build -d
# Voir les logs
docker-compose logs -f
# Arrêter les services
docker-compose downAssurez-vous de configurer correctement:
NODE_ENV=production- Clés JWT fortes et sécurisées
- Credentials Hedera Mainnet
- URL de base de données sécurisée
- SMTP configuration pour les emails
Les contributions sont les bienvenues ! Consultez CONTRIBUTING.md pour plus de détails.
- Fork le projet
- Créez votre branche feature (
git checkout -b feature/AmazingFeature) - Commit vos changements (
git commit -m 'Add some AmazingFeature') - Push vers la branche (
git push origin feature/AmazingFeature) - Ouvrez une Pull Request
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
- ✅ Interface utilisateur dark/neon
- ✅ Configuration Docker
- ✅ Intégration HashConnect Wallet
- ✅ Système d'authentification JWT
- ✅ Dashboard Admin avec KPI
- ✅ Chatbot IA intelligent
- ✅ SEO & Marketing tracking
- ✅ Dashboard Investisseur
- ✅ Marketplace de tokens
- ✅ Système KYC
- ✅ API complète
- ⏳ Smart Contracts Hedera déployés
- ⏳ Transactions blockchain réelles
- ⏳ Distribution automatique des revenus
- ⏳ Notifications en temps réel
- ⏳ Tests end-to-end
- Meta Tags Dynamiques - Implémenter metadata Next.js 14 pour chaque page
- Schema.org Markup - Ajouter JSON-LD pour les terrains (RealEstateListing)
- Sitemap.xml Dynamique - Générer automatiquement avec terrains
- Robots.txt Optimisé - Configuration pour crawlers
- Open Graph & Twitter Cards - Partage social optimisé
- Canonical URLs - Éviter le contenu dupliqué
- Image Optimization - Next.js Image avec lazy loading
- Core Web Vitals - Optimiser LCP, FID, CLS
- Server-Side Rendering - Convertir pages clés en SSR
- ISR (Incremental Static Regeneration) - Pour liste des terrains
- Compression GZIP/Brotli - Configuration Nginx
- CDN Integration - Cloudflare ou Vercel Edge
- AMP Pages - Version mobile ultra-rapide (optionnel)
- Blog Section - Articles sur investissement foncier
- Landing Pages - Par ville/région
- FAQ Schema - Questions fréquentes avec markup
- Rich Snippets - Étoiles, prix, disponibilité
- Internal Linking - Structure de liens optimisée
# Workflow proposé: .github/workflows/main.yml
1. Tests Automatiques
- Unit tests (Jest)
- Integration tests (Supertest)
- E2E tests (Playwright/Cypress)
- Code coverage (>80%)
2. Quality Checks
- ESLint (code quality)
- Prettier (formatting)
- TypeScript strict mode
- Security audit (npm audit, Snyk)
3. Build & Deploy
- Docker build optimization
- Multi-stage builds
- Deploy staging (auto)
- Deploy production (manual approval)
4. Monitoring
- Error tracking (Sentry)
- Performance monitoring (New Relic)
- Uptime monitoring (UptimeRobot)
- Log aggregation (Datadog/ELK)- Cron Jobs - Distribution revenus automatique
- Email Automation - Notifications transactionnelles
- KYC Auto-Verification - Intégration service tiers (Onfido, Sumsub)
- Backup Automatique - PostgreSQL dump quotidien
- Cache Invalidation - Redis auto-refresh
- Health Checks - API monitoring (每5min)
- Database Migrations - Sequelize auto-migration en prod
- Image Optimization Pipeline - WebP conversion automatique
- Bundle Analysis - Rapport taille webpack automatique
- Lighthouse CI - Score performance sur chaque PR
- Visual Regression Testing - Percy.io ou Chromatic
- Dependency Updates - Renovate/Dependabot
- TypeScript Strict Checks - Mode strict progressif
- Google Analytics 4 - Événements personnalisés
- Google Tag Manager - Gestion tags centralisée
- Hotjar/Clarity - Heatmaps & session recording
- Mixpanel - Product analytics
- Conversion Tracking - Funnels d'achat
- A/B Testing - Optimizely ou VWO
// Événements clés à tracker
- Inscription utilisateur
- Connexion réussie
- Vue terrain (avec durée)
- Ajout au panier
- Achat tokens (montant, terrain_id)
- KYC submission
- Chatbot interactions
- Recherche marketplace
- Partage social- Rate Limiting Avancé - Par endpoint et par IP
- CAPTCHA - reCAPTCHA v3 sur formulaires critiques
- 2FA/MFA - Authentification à deux facteurs
- Audit Logs - Traçabilité complète des actions admin
- Encryption at Rest - Chiffrement données sensibles
- WAF (Web Application Firewall) - Cloudflare ou AWS WAF
- Penetration Testing - Tests sécurité trimestriels
- RGPD/GDPR - Cookie consent, right to erasure
- CGU/CGV - Conditions générales
- Politique de Confidentialité - Privacy policy
- KYC/AML Compliance - Anti-blanchiment
- Cookie Banner - Gestion consentement (Axeptio, OneTrust)
- Database Indexing - Index sur colonnes fréquentes
- Query Optimization - Analyse slow queries
- Connection Pooling - PgBouncer
- Load Balancing - Nginx ou HAProxy
- Horizontal Scaling - Multi-instances backend
- Microservices Architecture - Séparation services (optionnel)
- Message Queue - RabbitMQ/Bull pour jobs async
- Code Splitting - Dynamic imports
- Tree Shaking - Éliminer code mort
- Prefetching -
<link rel="prefetch"> - Service Worker - Offline support (PWA)
- WebP/AVIF Images - Formats modernes
- Font Optimization - Subsetting, variable fonts
- Critical CSS - Inline above-the-fold CSS
- App Mobile - React Native (iOS + Android)
- Notifications Push - Firebase Cloud Messaging
- Wallet Intégré - Portefeuille Hedera natif
- Staking - Staking de tokens pour rewards
- Referral Program - Programme de parrainage
- Marketplace Secondaire - P2P trading avancé
- Virtual Tours - Visites 3D des terrains
- DAO Governance - Vote communautaire
- Payment Gateways - Stripe, PayPal (fiat)
- DEX Integration - Échange tokens sur DEX
- Oracle Price Feeds - Prix terrains en temps réel
- Document Verification - OCR automatique
- Geolocation API - Terrains par proximité
- Weather API - Impact météo sur valorisation
main (production)
├── develop (staging)
│ ├── feature/seo-optimization
│ ├── feature/ci-cd-pipeline
│ ├── feature/analytics-tracking
│ └── hotfix/security-patchfeat: Nouvelle fonctionnalité
fix: Correction de bug
docs: Documentation
style: Formatage (sans changement de code)
refactor: Refactoring
perf: Amélioration performance
test: Ajout de tests
chore: Maintenance
ci: Configuration CI/CD
- Branch depuis develop -
git checkout -b feature/my-feature - Développement - Commits atomiques avec messages clairs
- Tests locaux - Tous les tests passent
- Push & PR - Créer PR vers develop
- Code Review - Au moins 1 approbation
- CI Checks - Tous les checks passent (lint, tests, build)
- Merge - Squash and merge
- Deploy Staging - Auto-deploy sur staging
- QA Testing - Tests manuels si nécessaire
- Production - Merge develop → main (après validation)
- Code suit les standards du projet
- Tests unitaires présents et passent
- Pas de code commenté
- Pas de console.log en production
- Variables d'environnement utilisées
- Gestion d'erreurs appropriée
- Documentation à jour
- Performance optimale
- Sécurité vérifiée (pas de failles)
- Responsive design vérifié
- Uptime: >99.9%
- API Response Time: <200ms (p95)
- Page Load Time: <2s (LCP)
- Core Web Vitals: Tout en vert
- Test Coverage: >80%
- Lighthouse Score: >90/100
- Error Rate: <0.1%
- Nombre d'utilisateurs actifs (MAU)
- Taux de conversion (visiteur → achat)
- Valeur moyenne transaction
- Taux de rétention (30j, 90j)
- NPS (Net Promoter Score)
- CAC (Coût d'Acquisition Client)
- LTV (Lifetime Value)
- Hedera Hashgraph pour la blockchain
- Next.js pour le framework frontend
- Express pour le framework backend
- La communauté open-source
Made with ❤️ by LandChain Team