La plateforme de référence pour l'achat et la vente de terrains en Afrique.
TerrainSur est une marketplace immobilière spécialisée dans les terrains à vendre en Afrique — résidentiels, agricoles, commerciaux, industriels ou boisés. Inspirée du modèle leboncoin, elle connecte vendeurs particuliers et agences avec des acheteurs.
Le projet est construit avec Next.js 16, React 19 et Tailwind CSS 4, avec une interface pensée pour être rapide, claire et mobile-friendly.
- 🔍 Recherche en temps réel par ville, quartier ou pays
- 🎛️ Filtres avancés : type de terrain, superficie minimale, prix maximum, viabilisation, titre foncier
- 🗂️ Tri des annonces par date, prix ou superficie
- 🃏 Grille d'annonces responsive (1 → 4 colonnes selon l'écran)
- ❤️ Favoris interactifs par annonce
- 🌍 Navigation par pays (28 pays africains)
- 📱 Menu mobile responsive
- 🏷️ Badges : Coup de cœur, Nouveau, Urgent, Vue mer, Pro
- 📊 Statistiques plateforme en temps réel
- 🔒 Indicateurs de confiance : vendeur vérifié, titre foncier, viabilisation
| Technologie | Version | Rôle |
|---|---|---|
| Next.js | 16.2.1 | Framework React (App Router) |
| React | 19.2.4 | UI |
| Tailwind CSS | 4 | Styling |
| TypeScript | 5 | Typage statique |
| ESLint | 9 | Linting |
- Node.js ≥ 20.9.0
- npm / yarn / pnpm / bun
git clone https://github.com/your-username/terrains-sur.git
cd terrains-sur
npm installnpm run devOuvrez http://localhost:3000 dans votre navigateur.
npm run build
npm run startterrains-sur/
├── public/
│ └── screenshot.png # Capture d'écran de l'interface
├── src/
│ └── app/
│ ├── globals.css # Styles globaux + Tailwind
│ ├── layout.tsx # Layout racine (metadata, fonts)
│ └── page.tsx # Page d'accueil (composant principal)
├── next.config.ts
├── tailwind.config.*
├── tsconfig.json
└── package.json
- Page détail d'une annonce
- Système d'authentification (vendeurs / acheteurs)
- Dépôt d'annonce avec upload de photos
- Vue carte interactive (Leaflet / Mapbox)
- Messagerie intégrée vendeur ↔ acheteur
- Espace agent / agence avec tableau de bord
- Notifications et alertes de nouvelles annonces
- Support multi-devises (FCFA, GHS, NGN, MAD…)
- Version mobile native (React Native / Expo)
Les contributions sont les bienvenues ! Pour proposer une amélioration :
- Forkez le dépôt
- Créez une branche (
git checkout -b feature/ma-feature) - Commitez vos changements (
git commit -m 'feat: ajouter ma feature') - Pushez la branche (
git push origin feature/ma-feature) - Ouvrez une Pull Request
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Fait avec ❤️ pour l'Afrique
