A flashcard learning app, made with Flutter.
- Flashcard Management: Seamlessly create and edit flashcards, empowering users to personalize their learning experience.
- Advanced Learning System: Engage with new and review existing flashcards, enhanced by a modern spaced repetition algorithm algorithm that optimizes the learning curve.
- Secure Account Management: Offers a straightforward process for account deletion, ensuring user data privacy and control.
- Cross-Device Synchronization: Synchronize your learning progress across multiple devices, providing a consistent and uninterrupted learning experience.
- Theme Customization: Choose between light and dark themes to suit your visual preference, facilitating a comfortable reading environment day or night.
- Adjustable Text Size: Customize the text size for optimal readability, accommodating individual visual requirements.
- Multilingual Support: Access the application in multiple languages, making it accessible and user-friendly for a global audience.
- Onboarding/UI guide on how to use the app (Video link)
- Sign up flow (Video link)
- Configurable theme, multiple languages, and text sizes (Video link)
- Sync across devices (Video link)
- Complete setup of memori sync backend before proceed, as mentioned in Dev requirements.
- Follow this official guide on how to add firebase to flutter project to add missing credential files. (links)
- Go to Firebase console > Firebase remote config, create a property named
sync_backend_url
. - Set the value as the URL where your sync backend is hosted at.
- For example, memori sync backend is hosted at local machine port 8080. Set to
http://localhost:8080
for debugging purposes.
- Run the command below to download required packages.
flutter pub get
- Run the command below to generate the JSON serialized annotated files and drift files.
dart run build_runner build --delete-conflicting-outputs
- Run the command below to generate the localization files.
flutter gen-l10n
- Run the command below to build android APK.
flutter build apk --release
- Run the command below to build android app bundle.
flutter build appbundle --release
- Run the command below to build iOS app. macOS and Apple developer account is required.
flutter build ios --release
- Flutter bloc
- Go router
- Drift
- Firebase remote config
- Business illustrations from Storyset (links)
- Event illustrations from Storyset (links)
- Happy illustrations from Storyset (links)
- Internet illustrations from Storyset (links)
- Online illustrations from Storyset (links)
- People illustrations from Storyset (links)
- Web illustrations from Storyset (links)
- Flag icons from Freepik - Flaticon (links)
Distributed under the MIT License. See LICENSE for more information.