A small Cross-Platform Wisdom Generator, built using Flutter and a combination of external APIs.
A small Cross-Platform Wisdom Generator, built using Flutter and a combination of external APIs
This Wisdom Generator combines random advice from the the Internet with vaguely fitting and vaguely thought provoking stock images from the Unsplash Source API. You can also save bits of wisdom you like in your favorites or share them with your friends.
| | | | | ————————————————————————————————————– | :————————————————————————————————————: | ————————————————————————————————————-: |
Where do I get the Wisdoms from?
- Advice Slip API
- Advice from 100-Year-Olds
- Life Hacks
- Parent’s Words of Wisdom
- And a few Bits of my own Wisdom
Wanna Contribute? 👪
You can suggest your own peaces of Wisdom a through Pull Request if you want. This is where all the offline wisdoms are saved. The “#” markes the beginning of new type of Wisdom.
Purpose of Wisgen
I used this project to understand how Flutter handles communication with the web and how it implements asynchronous calls. I also got the chance to better understand how Flutter handels state and how to transfer that state over multiple classes withing the Widget Tree.
BLoC Architecture: Dependencies of Wisgen Components
BLoC Architecture: Dataflow of Wisgen Components
Wisgen has been published as a reference project by:
Used Packages 📦
- flutter_bloc (for state handeling)
- http (for API calls)
- cached_network_image (for cashing images)
- flutter_launcher_icons (for easily setting the launcher icon)
- shared_preferences (for accessing shared preferences as offline storage)
- flutter_spinkit (loading animation)
- share (for sending share-intents)
Used Tools 🛠
Some Sources I can recommend 📚
- The Origin of the BLoC Pattern
- Implementing the BLoC Pattern
- Infinite Lists with BLoC
- State handling in Flutter
- Naming Conventions
- Code Readability