Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mattrltrent/clean_architecture_example_app
👨💻 Simple-as-can-be weather app to showcase clean archiecture.
https://github.com/mattrltrent/clean_architecture_example_app
Last synced: 5 days ago
JSON representation
👨💻 Simple-as-can-be weather app to showcase clean archiecture.
- Host: GitHub
- URL: https://github.com/mattrltrent/clean_architecture_example_app
- Owner: mattrltrent
- Created: 2022-07-17T01:43:06.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-07-17T01:58:34.000Z (over 2 years ago)
- Last Synced: 2024-11-02T13:50:24.100Z (12 days ago)
- Language: C++
- Homepage:
- Size: 203 KB
- Stars: 22
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Flutter weather app (simple, meant to showcase clean architecture)
Note: some elements of the project exist but aren't used. For example, multiple screens. The router exists for the sole purpose of showing it is possible.
#### Cloning and running
- Clone the project to your local machine by running the command `git clone `.
- Inside the project's root directory, run `flutter pub get`. This will retrieve the project's dependencies.
- Navigate to `root > lib > features > weather_data > data > datasources > weather_remote_data_source.dart` and add your free API key from [OpenWeatherMap](https://openweathermap.org/api) to the `API_KEY` constant.
- From the project's root directory, run `flutter run --no-sound-null-safety`. The latter flag is because a package the project depends on hasn't yet been upgraded to null safety.
- Your app should now be running!#### Additional note
This project closely echos [Reso Coder's](https://www.youtube.com/watch?v=dc3B_mMrZ-Q&t=338s) tutorial series on clean Flutter architecture. However, it differs in a few ways: not a trivia app, uses CUBIT instead of BLOC, doesn't include testing, and doesn't cache API results (weather data needs to be live).