Eenvoudige flutter app voor het aanmaken en bewerken van notities.
- aanmaken, lezen, wijzigen en verwijderen van notities
- share notities
- multi-select
- onboarding
- light/dark mode support
- reset app
- demo notities
De app gebruikt Bloc als state management oplossing. De business logica is ondergebracht in een 3-tal cubits; NotesCubit, OnboardingCubit, SettingsCubit. De cubits halen en schrijven data van en naar verschillende repositories. De repositories gebruiken api's waar de daadwerkelijk opslag van data is geimplementeerd.
De notes en settings api's implementeren een abstracte interface waardoor het mogelijk is om de api's te mocken in test scenarios (wat verder niet geimplementeerd is).
Voor navigatie wordt de standaard Flutter Navigation 1.0 gebruikt, met push, pop om te navigeren tussen de verschillende (modal) pagina's.
Notities worden opgeslagen in een sqlite database, ontsloten met de sqflite package. De database toegang is volledig asynchroon. Instellingen worden opgeslagen in async shared preferences (nsuserdefaults).