Skip to content

rohan-kadkol/Flutter-Weekly-Series-5-Currency-Exchanger-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Beginners' Guide to Flutter Development

Welcome to the Beginners' Guide to Flutter Development hosted by Google's Developer Student Club (DSC) program!

This is an eight week workshop series every Thursday, 7:00 - 8:30 EDT from Oct 1, 2020 to Nov 19, 2020.

This series will cover all the Flutter skills all the way from the basics to the advanced level. By the end of this series, you'll be able to build complex, robust, and attractive Flutter apps for iOS, Android and the web.

Register now on EventBrite: bit.ly/flutterdate

Have questions? Then join our Google Classroom today!

5. Currency Exchanger 🤑

See how much 1 USD equals in almost all major currencies!

Screenshot

Structure

  • The app has been divided into steps.
  • Each step has starter and solution code.
  • You can access each code set using the respective branches.
  • Also, each step has detailed TODOs along with explanations on why we're doing each TODO.

How to follow this repo?

  • Complete the given TODOs in order.
  • Compare the starter and solution branches for each step. You can do this on GitHub or in Android Studio/VS Code.

How to compare branches on GitHub

How to compare branches on Android Studio

How to compare branches on Android Studio

Steps

  1. Setup app

2. Creating CurrencyCard and setting up the dark theme

3. Implement Advanced State Management for storing the currency information

4. Downloading exchange rates from the [Currency Layer API](https://currencylayer.com/)

5. Adding filtering functionality

6. Dynamic screen width for large screens

Skills Learned

  • Advanced State Management
    • Provider package
  • Advanced http requests
  • JSON parsing
    • jsonDecode (dart:convert)
  • ListTile
    • leading
    • title
    • trailing
  • CircleAvatar
  • BorderRadius
  • Advanced Dart coding to filter results
  • Dynamic screen widths for large screens
  • Flutter Web