CalculatingHub - Platform for Calculators and Converters
Project Overview
CalculatingHub is a comprehensive web platform offering an extensive collection of calculators, converters, and random generators. The site features over 300 specialized tools covering various fields: finance, mathematics, health, construction, cooking, physics, statistics, and more.
Technical Architecture
Backend
- Main Framework: Django with MVT (Model-View-Template) architecture
- Database: PostgreSQL with Django ORM
- REST API: Django REST Framework for real-time search features
- Cache and Sessions: Redis for session and cache management
- Asynchronous Tasks: Celery with Redis as broker for background tasks
Frontend
- CSS Framework: Tailwind CSS for a modern and responsive design
- Interactivity: HTMX for dynamic interactions without complex JavaScript
- User Interface: Consistent design system with reusable components
- Search: Real-time search system with auto-suggestions
Infrastructure
- Containerization: Docker with docker-compose for orchestration
- Web Server: Gunicorn in production
- Security: Mandatory HTTPS, HSTS, CSRF protection, cookie security
- Performance: WhiteNoise for static file handling
- Monitoring: Colorized logging system with different levels
Modular Structure
Specialized Django Apps
The project is organized into 25+ Django applications, each dedicated to a specific field:
- Calculators: calcFinancial, calcBusiness, calcGeometry, calcHealth, calcDate, calcConstruction, calcFitness, calcTransportation, calcMathematics, calcStatistics, calcTrigonometry, calcCrypto, calcPhysics, calcData, calcCooking, calcOther
- Converters: convDimensions, convMath, convArea, convDistance, convVolume, convSpeed, convDate, convData, convPhysics, convOther, convCooking
- Generators: randomizers
- Services: api, mainSite, theme
Main Features
Intelligent Search System
- Real-time search with auto-suggestions
- Dedicated REST API for search queries
- Filtering by category and keywords
- Intuitive user interface with suggestion dropdown
Specialized Calculators
- Finance: ROI, NPV, IRR, compound interest, amortization, TVM
- Health: BMI, BMR, nutritional calculations, fitness
- Mathematics: Algebra, trigonometry, statistics, geometry
- Construction: Concrete, bricks, asphalt, materials
- Cooking: Ratios, culinary conversions, recipes
Universal Converters
- Measurement units (length, area, volume, weight)
- Currencies and exchange rates
- Number systems (binary, hexadecimal, decimal)
- Date and time formats
- Physical units (speed, temperature, pressure)
Random Generators
- Random numbers with customizable distributions
- Secure password generators
- Color and palette generators
- Random decision-making tools
Advanced Technical Aspects
Security
- Mandatory HTTPS configuration in production
- CSRF protection on all requests
- Cookie security (HttpOnly, Secure)
- Security headers (HSTS, X-Frame-Options)
- User input validation
Performance
- Database query optimization
- Redis cache for frequently accessed data
- Static file compression
- Lazy loading of components
- Debouncing on real-time searches
SEO and Accessibility
- Automatic generation of XML sitemap
- Optimized meta tags for each page
- Semantic HTML structure
- Open Graph tags for social media
- robots.txt and ads.txt files
Development and Deployment
- Development environment with hot reload
- Multi-environment Docker configuration
- Structured logging system
- Environment variable management
- Automated tests and CI/CD ready
Technologies Used
- Backend: Python, Django, Django REST Framework, Celery, Redis, PostgreSQL
- Frontend: HTML5, Tailwind CSS, HTMX, Vanilla JavaScript
- Infrastructure: Docker, Docker Compose, Gunicorn, Nginx
- Tools: Git, pip, npm, colorlog, Pillow, cryptography
Project Metrics
- Django Applications: 25+ specialized modules
- Calculator Pages: 300+ different tools
- Lines of Code: 50,000+ (estimated)
- Template Files: 400+ HTML files
- Tool Categories: 15+ fields covered
Technical Strengths
- Modular and extensible architecture
- Modern and responsive user interface
- High-performance search system
- Enhanced security
- Optimized performance
- Maintainable and well-structured code
- Complete technical documentation