CalculatingHub - Plateforme de Calculatrices et Convertisseurs
Vue d'ensemble du projet
CalculatingHub est une plateforme web complète offrant une collection étendue de calculatrices, convertisseurs et générateurs aléatoires. Le site propose plus de 300 outils spécialisés couvrant divers domaines : finance, mathématiques, santé, construction, cuisine, physique, statistiques et bien d'autres.
Architecture technique
Backend
- Framework principal : Django avec architecture MVT (Model-View-Template)
- Base de données : PostgreSQL avec ORM Django
- API REST : Django REST Framework pour les fonctionnalités de recherche en temps réel
- Cache et sessions : Redis pour la gestion des sessions et du cache
- Tâches asynchrones : Celery avec Redis comme broker pour les tâches en arrière-plan
Frontend
- Framework CSS : Tailwind CSS pour un design responsive et moderne
- Interactivité : HTMX pour les interactions dynamiques sans JavaScript complexe
- Interface utilisateur : Design system cohérent avec composants réutilisables
- Recherche : Système de recherche en temps réel avec suggestions automatiques
Infrastructure
- Conteneurisation : Docker avec docker-compose pour l'orchestration
- Serveur web : Gunicorn en production
- Sécurité : HTTPS obligatoire, HSTS, protection CSRF, sécurisation des cookies
- Performance : WhiteNoise pour la gestion des fichiers statiques
- Monitoring : Système de logging coloré avec différents niveaux
Structure modulaire
Applications Django spécialisées
Le projet est organisé en 25+ applications Django, chacune dédiée à un domaine spécifique :
- Calculatrices : calcFinancial, calcBusiness, calcGeometry, calcHealth, calcDate, calcConstruction, calcFitness, calcTransportation, calcMathematics, calcStatistics, calcTrigonometry, calcCrypto, calcPhysics, calcData, calcCooking, calcOther
- Convertisseurs : convDimensions, convMath, convArea, convDistance, convVolume, convSpeed, convDate, convData, convPhysics, convOther, convCooking
- Générateurs : randomizers
- Services : api, mainSite, theme
Fonctionnalités principales
Système de recherche intelligent
- Recherche en temps réel avec suggestions automatiques
- API REST dédiée pour les requêtes de recherche
- Filtrage par catégorie et mots-clés
- Interface utilisateur intuitive avec dropdown de suggestions
Calculatrices spécialisées
- Finance : ROI, VAN, TRI, intérêts composés, amortissement, TVM
- Santé : IMC, BMR, calculs nutritionnels, fitness
- Mathématiques : Algèbre, trigonométrie, statistiques, géométrie
- Construction : Béton, briques, asphalte, matériaux
- Cuisine : Ratios, conversions culinaires, recettes
Convertisseurs universels
- Unités de mesure (longueur, surface, volume, poids)
- Devises et taux de change
- Systèmes numériques (binaire, hexadécimal, décimal)
- Formats de date et heure
- Unités physiques (vitesse, température, pression)
Générateurs aléatoires
- Nombres aléatoires avec distributions personnalisées
- Générateurs de mots de passe sécurisés
- Générateurs de couleurs et palettes
- Outils de décision aléatoire
Aspects techniques avancés
Sécurité
- Configuration HTTPS obligatoire en production
- Protection CSRF sur toutes les requêtes
- Sécurisation des cookies (HttpOnly, Secure)
- Headers de sécurité (HSTS, X-Frame-Options)
- Validation des entrées utilisateur
Performance
- Optimisation des requêtes base de données
- Cache Redis pour les données fréquemment accédées
- Compression des fichiers statiques
- Lazy loading des composants
- Debouncing sur les recherches en temps réel
SEO et accessibilité
- Génération automatique de sitemap XML
- Meta tags optimisés pour chaque page
- Structure HTML sémantique
- Balises Open Graph pour les réseaux sociaux
- Fichiers robots.txt et ads.txt
Développement et déploiement
- Environnement de développement avec hot reload
- Configuration Docker multi-environnement
- Système de logging structuré
- Gestion des variables d'environnement
- Tests automatisés et CI/CD ready
Technologies utilisées
- Backend : Python, Django, Django REST Framework, Celery, Redis, PostgreSQL
- Frontend : HTML5, Tailwind CSS, HTMX, JavaScript vanilla
- Infrastructure : Docker, Docker Compose, Gunicorn, Nginx
- Outils : Git, pip, npm, colorlog, Pillow, cryptography
Métriques du projet
- Applications Django : 25+ modules spécialisés
- Pages de calculatrices : 300+ outils différents
- Lignes de code : 50,000+ (estimation)
- Fichiers templates : 400+ fichiers HTML
- Catégories d'outils : 15+ domaines couverts
Points forts techniques
- Architecture modulaire et extensible
- Interface utilisateur moderne et responsive
- Système de recherche performant
- Sécurité renforcée
- Performance optimisée
- Code maintenable et bien structuré
- Documentation technique complète