Plateforme immobilière moderne pour le Maroc, inspirée de SeLoger.com avec des couleurs aux touches marocaines.
0semsar/
├── backend/ # API Flask (Python)
├── frontend/ # Application React (Vite + Tailwind)
├── docs/ # Documentation
└── docker-compose.yml
- Python 3.10+
- Node.js 18+
- PostgreSQL 14+
- Docker & Docker Compose (pour Redis)
Créer la base de données :
psql -U postgres -c "CREATE DATABASE semsar_dev;"cd backend
# Créer l'environnement virtuel
python3 -m venv venv
source venv/bin/activate # Linux/Mac
# ou: venv\Scripts\activate # Windows
# Installer les dépendances
pip install -r requirements.txt
# Configurer l'environnement
cp .env.example .env
# Éditer .env si nécessaire (DATABASE_URL, etc.)
# Initialiser la base de données
export FLASK_APP=run.py
flask db upgrade
# Peupler avec des données de démo
python seed.pycd frontend
# Installer les dépendances
npm install# Depuis la racine du projet
docker-compose up -d rediscd backend
source venv/bin/activate
python run.pyL'API sera accessible sur : http://localhost:7000
cd frontend
npm run devL'application sera accessible sur : http://localhost:3000
- Email :
demo@semsar.ma - Mot de passe :
demo1234
| Méthode | Endpoint | Description |
|---|---|---|
| GET | /health |
Health check |
| POST | /api/v1/auth/register |
Inscription |
| POST | /api/v1/auth/login |
Connexion |
| GET | /api/v1/properties |
Liste des annonces |
| GET | /api/v1/properties/:id |
Détail d'une annonce |
| GET | /api/v1/agencies |
Liste des agences |
| GET | /api/v1/subscription-plans |
Plans d'abonnement |
Voir docs/API.md pour la documentation complète.
backend/
├── app/
│ ├── api/v1/ # Routes API versionnées
│ ├── models/ # Modèles SQLAlchemy
│ ├── services/ # Logique métier
│ └── utils/ # Utilitaires
├── config/ # Configuration
├── migrations/ # Migrations Alembic
└── tests/ # Tests
frontend/
├── src/
│ ├── components/ # Composants React
│ ├── pages/ # Pages
│ ├── store/ # State management (Zustand)
│ ├── services/ # Services API
│ ├── hooks/ # Custom hooks
│ └── assets/ # Styles, images
└── public/ # Fichiers statiques
- Authentification JWT
- Gestion des annonces (CRUD)
- Recherche avancée avec filtres
- Espace agences avec API key
- Système de leads/contacts
- Plans d'abonnement
- Import CSV
- Intégration StayManager (prévue)
Propriétaire - Tous droits réservés