Skip to content

A fast and lightweight currency converter built with Flutter, featuring real-time exchange rates, historical trends, and favorite currency tracking. πŸš€

License

Notifications You must be signed in to change notification settings

madboy482/FastForex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

80 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’± FastForex πŸ’±

Platform License Last Updated

Real-time currency conversion in your pocket
A sleek, modern Flutter app for instant currency exchange rates and conversions

Features β€’ Screenshots β€’ Installation β€’ Usage β€’ Tech Stack β€’ Contributing β€’ License


✨ Features

  • πŸ”„ Real-time Currency Conversion β€” Convert between currencies with up-to-date exchange rates
  • πŸ“Š Visual Trend Analysis β€” Track exchange rate history with beautiful interactive charts
  • ⭐ Favorites System β€” Mark currencies for quick access and conversion
  • πŸ“ Conversion History β€” Keep track of your previous conversions
  • πŸŒ“ Light & Dark Themes β€” Switch between visual modes for comfortable viewing
  • πŸ’― Simple & Intuitive Interface β€” Clean design focused on user experience
  • πŸš€ Lightning Fast Calculations β€” Instant results with every input
  • πŸ“± Responsive Design β€” Works beautifully on any screen size

πŸ“± Screenshots

Convert Screen Trends Screen Dark Mode
Convert Screen Trends Screen Dark Mode

πŸ“₯ Installation

Prerequisites

  • Flutter SDK (2.12.0 or later)
  • Dart SDK (2.17.0 or later)
  • Android Studio / VS Code with Flutter plugins
  • An API key from OpenExchangeRates

Setup Instructions

  1. Clone this repository to your local machine:

    git clone https://github.com/madboy482/FastForex.git
  2. Navigate to the project directory:

    cd FastForex
  3. Install dependencies:

    flutter pub get
  4. Configure the API Key:

  • Obtain an API key from OpenExchangeRates by signing up at OpenExchangeRates.

  • Replace "your_api_key" with your actual API key in lib/utils/constants.dart:

    class Constants {
    // API key for OpenExchangeRates
    static const String API_KEY = "your_api_key";
    ...
    ...
    }
  1. Run the app on your preferred platform:
  • Android:

    flutter run
  • Windows:

    flutter run -d windows
  • Web (Run on Chrome):

    flutter run -d chrome
  1. Build for production:

    # Android APK
    flutter build apk --release
    
    # Android App Bundle
    flutter build appbundle --release
    
    # Web application
    flutter build web --release
    
    # Windows application
    flutter build windows --release

πŸ“± How to Use

πŸ’± Currency Conversion

  • Enter the amount you want to convert.
  • Select source and target currencies.
  • Tap "Convert" to see the result.
  • Use the swap button to quickly reverse the conversion.

⭐ Tracking Favorites

  • Star any currency to add it to your favorites.
  • Access your favorite currencies quickly from the Favorites tab.

πŸ“ˆ Viewing Trends

  • Navigate to the Trends tab to visualize exchange rate history.
  • See how rates have changed over the last 14 days.

πŸ•’ Managing History

  • View your past conversions in the History tab.
  • Delete individual history items by swiping.

πŸ› οΈ Tech Stack

  • Framework: Flutter
  • API Integration: OpenExchangeRates API
  • State Management: Flutter’s built-in state management
  • Data Storage: SharedPreferences for local storage
  • Charts & Visualization: fl_chart package
  • Networking: Dart http package

🧩 Project Structure

lib/
β”œβ”€β”€ main.dart            # App entry point
β”œβ”€β”€ models/              # Data models
β”‚   └── currency.dart              # Currency data structure
β”‚   └── conversion_history.dart    # Model for storing past conversions
β”œβ”€β”€ screens/             # App screens
β”‚   β”œβ”€β”€ home_screen.dart           # Main tabbed interface
β”‚   β”œβ”€β”€ convert_screen.dart        # Currency conversion UI
β”‚   β”œβ”€β”€ history_screen.dart        # Conversion history
β”‚   β”œβ”€β”€ trends_screen.dart         # Exchange rate trends
β”‚   └── favorites_screen.dart      # Favorite currencies
β”œβ”€β”€ services/            # API services
β”‚   └── currency_api_service.dart  # OpenExchangeRates API integration
β”œβ”€β”€ utils/              
β”‚   β”œβ”€β”€ constants.dart    # App constants and configurations
β”‚   └── theme.dart        # Theme definitions and utilities
└── widgets/             # Reusable UI components
    └── exchange_rate_chart.dart      # Currency trend chart
    └── conversion_result_card.dart   # Displays converted currency amount
    └── currency_dropdown.dart        # Dropdown for selecting currencies

πŸš€ Future Enhancements

  • Currency Alerts β€” Notifications when exchange rates reach target values
  • Currency Calculator β€” Advanced calculator with multiple operations
  • Widgets β€” Home screen widgets for quick conversion
  • Historical Data β€” Extended historical data with custom date ranges
  • Multi-language Support β€” Interface translations for global users
  • Currency News β€” Latest updates and news affecting exchange rates

🀝 Contributing

Contributions are welcome! If you have ideas for improvements, feel free to fork the repo and submit a PR.

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature-name
  3. Commit changes: git commit -m "Added new feature"
  4. Push to GitHub: git push origin feature-name
  5. Open a Pull Request πŸŽ‰

πŸ“œ License

This project is open-source and available under the MIT License.
See the full license details here.


✨ Connect with Me

🌟 If you like this project, don't forget to star the repo! ⭐

About

A fast and lightweight currency converter built with Flutter, featuring real-time exchange rates, historical trends, and favorite currency tracking. πŸš€

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published