Skip to content

Smart Unit Converter is a scalable, multi-platform unit conversion application with a shared core engine powering Web, Desktop GUI, and CLI interfaces. It supports 120+ units across 15+ categories, delivering fast, accurate, and consistent conversions across all clients

Notifications You must be signed in to change notification settings

DavidOmokagbor1/smart_unit_converter

Repository files navigation

Smart Unit Converter

smart.unit.converter.mp4

Project Overview

A production-ready, cross-platform unit conversion application featuring real-time currency and cryptocurrency rates, modern UI/UX design, and comprehensive conversion capabilities. Deployed across web, mobile, and desktop platforms.

Key Metrics:

  • 15+ conversion categories (e.g., length, weight, temperature, currency, crypto)
  • 120+ units with precise conversion algorithms
  • Real-time API integrations for currency and cryptocurrency rates
  • 3 platform implementations: Web PWA, React Native Mobile, Python Desktop
  • 99%+ API success rate with intelligent fallback systems
  • Fully responsive design with a mobile-first approach

Tech Stack & Tools

Frontend Technologies

  • React v19.1.0
  • React Native v0.81.4
  • Expo v54.0.12
  • JavaScript (ES6+)
  • HTML5
  • CSS3
  • TypeScript v5.8.3

Backend & APIs

  • Python 3.x
  • Node.js v18+
  • REST API Integration

Mobile Development

  • Android (Kotlin)
  • iOS (Swift)
  • Gradle (Build)

External APIs Integrated

  • ExchangeRate API (Primary currency rates)
  • CoinGecko (Primary cryptocurrency rates)
  • CryptoCompare (Fallback cryptocurrency rates)
  • CurrencyAPI (Backup currency rates)

Build Tools & DevOps

  • Git (Version Control)
  • GitHub Actions (CI/CD)
  • Babel (Transpiler)
  • Metro (Bundler)
  • Jest (Testing)

Deployment Platforms

  • Netlify (Deployed)
  • Vercel (Deployed)
  • GitHub Pages (Hosted)

Libraries & Frameworks

  • React Navigation v7.4.7
  • Expo Linear Gradient v15.0.7
  • AsyncStorage v2.2.0

Platform-Specific Details

Web Application

  • Framework: Vanilla JavaScript with ES6+ features
  • Styling: CSS3 with animations, gradients, and glassmorphism
  • PWA Features: Service workers, manifest.json, offline support
  • APIs: RESTful integrations with currency and crypto providers
  • Performance: Optimized animations, lazy loading, efficient DOM manipulation

Mobile (React Native)

  • Framework: React Native v0.81.4 with Expo SDK 54
  • Navigation: React Navigation v7.x with bottom tabs
  • State Management: React Hooks (useState, useEffect, useContext)
  • UI Components: Custom glassmorphism effects
  • Storage: AsyncStorage for persistent data
  • Animations: React Native Animated API with native drivers

Desktop (Python)

  • Framework: Python 3.x with Tkinter GUI
  • Architecture: Object-oriented design with modular conversion logic
  • CLI Support: Command-line interface for terminal usage
  • Dependencies: Standard library only (no external packages)

Development Tools & Practices

  • Version Control: Git with GitHub
  • Code Quality: ESLint, Prettier, TypeScript for type safety
  • Testing: Jest for unit tests
  • Package Management: npm, pip
  • Build Tools: Babel, Metro Bundler, Gradle
  • Documentation: Comprehensive Markdown files

Performance Metrics

  • API response time: 200-500ms average
  • API success rate: 99%+ with fallback system
  • App load time: <2 seconds
  • Animation performance: 60fps with native drivers
  • Bundle size: Optimized via code splitting

Security Features

  • Content Security Policy (CSP) headers
  • Input sanitization and validation
  • Rate limiting (60 requests/minute)
  • API response validation
  • HTTPS enforcement
  • XSS protection

Architecture & Implementation

Platform Breakdown

Platform Technology Status Key Features
Web PWA React, HTML5, CSS3, JavaScript ✅ Production Real-time rates, dark/light mode, offline support
Mobile (Expo) React Native, Expo SDK 54 ✅ Production Cross-platform, native animations, glassmorphism UI
Mobile (RN) React Native CLI, Kotlin, Swift ✅ Production Native modules, platform-specific optimizations
Desktop Python 3, Tkinter ✅ Production GUI application, command-line interface

Key Features

  • Real-time API integration with a 3-tier redundancy fallback system
  • Progressive Web App (PWA) with service workers for offline capabilities
  • Responsive, mobile-first design with adaptive layouts
  • Advanced UI/UX: Glassmorphism effects, animated backgrounds, smooth transitions
  • State management via React Hooks and Context API
  • Robust error handling with try-catch blocks and fallback mechanisms
  • Security measures: CSP, input sanitization, rate limiting
  • Performance optimizations: Memoization, lazy loading, efficient rendering

Deployment & CI/CD

Deployment Platforms

  • Netlify: Primary hosting with automatic deployments
  • Vercel: Secondary hosting for redundancy
  • GitHub Pages: Documentation and static site hosting

Build Commands

# Web Development Server
npm start

# React Native (Expo)
expo start
expo run:android
expo run:ios

# React Native (CLI)
react-native run-android
react-native run-ios

# Python Desktop
python smart_unit_converter/main.py

Documentation


Key Achievements

  • Developed 3 complete platform implementations (web, mobile, desktop)
  • Integrated 6+ external APIs with real-time data synchronization and multi-tier fallback
  • Built a production-ready PWA with offline capabilities
  • Created cross-platform mobile apps for iOS and Android
  • Achieved 99%+ API reliability
  • Optimized for 60fps animations and efficient rendering
  • Implemented comprehensive security measures

License

MIT License - See LICENSE file for details.


Developer

David Omokagbor
GitHub Portfolio


Built with modern web and mobile technologies

About

Smart Unit Converter is a scalable, multi-platform unit conversion application with a shared core engine powering Web, Desktop GUI, and CLI interfaces. It supports 120+ units across 15+ categories, delivering fast, accurate, and consistent conversions across all clients

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published