{"id":18968637,"url":"https://github.com/r100-stack/flutter-weekly-series-5-currency-exchanger-app","last_synced_at":"2025-04-19T14:45:00.223Z","repository":{"id":120424684,"uuid":"308469819","full_name":"r100-stack/Flutter-Weekly-Series-5-Currency-Exchanger-App","owner":"r100-stack","description":"Week 5: Beginners' Guide to Flutter Development","archived":false,"fork":false,"pushed_at":"2021-03-09T04:18:41.000Z","size":26817,"stargazers_count":5,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T08:51:09.140Z","etag":null,"topics":["algorithms","dart","flutter","http","http-requests","json","json-parsing"],"latest_commit_sha":null,"homepage":"https://youtu.be/IUzJ4WSbptc?t=48","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/r100-stack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-29T23:00:40.000Z","updated_at":"2023-12-11T06:44:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"01ad3bb3-06c3-46e7-a9fe-6fb23b3e867c","html_url":"https://github.com/r100-stack/Flutter-Weekly-Series-5-Currency-Exchanger-App","commit_stats":null,"previous_names":["r100-stack/flutter-weekly-series-5-currency-exchanger-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r100-stack%2FFlutter-Weekly-Series-5-Currency-Exchanger-App","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r100-stack%2FFlutter-Weekly-Series-5-Currency-Exchanger-App/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r100-stack%2FFlutter-Weekly-Series-5-Currency-Exchanger-App/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r100-stack%2FFlutter-Weekly-Series-5-Currency-Exchanger-App/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r100-stack","download_url":"https://codeload.github.com/r100-stack/Flutter-Weekly-Series-5-Currency-Exchanger-App/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249213755,"owners_count":21231096,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","dart","flutter","http","http-requests","json","json-parsing"],"created_at":"2024-11-08T14:48:08.973Z","updated_at":"2025-04-19T14:45:00.216Z","avatar_url":"https://github.com/r100-stack.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Beginners' Guide to Flutter Development\n\nWelcome to the Beginners' Guide to Flutter Development hosted by Google's Developer Student Club (DSC) program!\n\nThis is an eight week workshop series every Thursday, 7:00 - 8:30 EDT from Oct 1, 2020 to Nov 19, 2020.\n\nThis series will cover all the Flutter skills all the way from the basics to the advanced level.\nBy the end of this series, you'll be able to build complex, robust, and attractive Flutter apps for iOS, Android and the web.\n\nRegister now on EventBrite: [bit.ly/flutterdate](https://bit.ly/flutterdate)\n\nHave questions? Then [join our Google Classroom today](https://classroom.google.com/c/MTYyMzE1MDQwMDcx?cjc=5irho7x)!\n\n## 5. Currency Exchanger 🤑\n\nSee how much 1 USD equals in almost all major currencies!\n\n### Screenshot\n\n\u003cimg src=\"assets/screenshot_3.gif\"\u003e\n\n### Structure\n\n* The app has been divided into steps.\n* Each step has starter and solution code.\n* You can access each code set using the respective branches.\n* Also, each step has detailed TODOs along with explanations on why we're doing each TODO.\n\n### How to follow this repo?\n\n* Complete the given TODOs in order.\n* Compare the starter and solution branches for each step. You can do this on GitHub or in Android Studio/VS Code.\n\n[How to compare branches on GitHub](https://docs.github.com/en/free-pro-team@latest/github/committing-changes-to-your-project/comparing-commits#comparing-branches)\n\n[How to compare branches on Android Studio](https://medium.com/better-programming/how-to-use-git-in-android-studio-part-2-93cec67b91b0#:~:text=Go%20to%20%E2%80%9CVSC%E2%80%9D%20%2D%3E,choose%20%E2%80%9CCompare%20with%20current%E2%80%9D.\u0026text=A%20popup%20%E2%80%9CCompare%20feature%20with,to%20commits%2C%20files%20to%20files.)\n\n[How to compare branches on Android Studio](https://stackoverflow.com/a/57833947/11547064)\n\n### Steps\n\n1. Setup app\n\u003cimg src=\"assets/screenshot_v1.png\"\u003e\n2. Creating CurrencyCard and setting up the dark theme\n\u003cimg src=\"assets/screenshot_v2.png\"\u003e\n3. Implement Advanced State Management for storing the currency information\n\u003cimg src=\"assets/screenshot_v3.png\"\u003e\n4. Downloading exchange rates from the [Currency Layer API](https://currencylayer.com/)\n\u003cimg src=\"assets/screenshot_v4.gif\"\u003e\n5. Adding filtering functionality\n\u003cimg src=\"assets/screenshot_3.gif\"\u003e\n6. Dynamic screen width for large screens\n\u003cimg src=\"assets/screenshot_6.gif\"\u003e\n\n### Skills Learned\n\n* Advanced State Management\n  * Provider package \n* Advanced http requests\n* JSON parsing\n  * jsonDecode (dart:convert)\n* ListTile\n  * leading\n  * title\n  * trailing\n* CircleAvatar\n* BorderRadius\n* Advanced Dart coding to filter results\n* Dynamic screen widths for large screens\n* Flutter Web","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr100-stack%2Fflutter-weekly-series-5-currency-exchanger-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fr100-stack%2Fflutter-weekly-series-5-currency-exchanger-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr100-stack%2Fflutter-weekly-series-5-currency-exchanger-app/lists"}