Ml App
🎯
Most Learned Utilize self-reflection and spaced-repetition to hammer into your brain anything and everything that makes you the better version of you.
- Enter learnings and assign them a repetition pattern.
- Visit the 'Today's Review' tab daily to see the curated list for the day.
- Get wicked smart.
Learning Goals
This app currently serves as my primary project for learning software development. Applied learnings include:
Tools
- VSCode, Android Studio, Xcode
- various VSCode extensions
- Vim bindings
- Git
- using CLI
- Firebase
- Authentication
- Cloud Firestore
- CLI
- Dart/Flutter CLI
- GitHub CLI tool
- Firebase CLI
Dart / Flutter
- State management
- Bloc (current)
- Provider (initial solution)
- Riverpod (implemented in another repo for learning purposes)
- Storage
- Client persistence (Shared Preferences)
- Cloud Firestore
- Utilized repository pattern to easily swap from Shared Pref to cloud (see packages/entries_packages/)
- Routing
- FlowBuilder (utilizing GoRouter in another repo for learning purposes)
- Internal Packages
- Created packages for auth and entries APIs (see packages/)
- Graphics
- Implemented CustomPaint widget to create dynamic circular progress indicator (see Stats page)
- Select External Packages
- equatable (heavily utilized in Bloc)
- json_serializable & build_runner (creation of entries model)
- flow_builder (currently utilizing GoRouter in another repo and plan to migrate)
- url_launcher (opening external links)
- very_good_analysis (a personal preference to utilize VGV's heavily opinionated lints for learning 'best' practices)