Code Monkey home page Code Monkey logo

memori-app's Introduction

Memori App

A flashcard learning app, made with Flutter.

Table of Contents

Features

  1. Flashcard Management: Seamlessly create and edit flashcards, empowering users to personalize their learning experience.
  2. Advanced Learning System: Engage with new and review existing flashcards, enhanced by a modern spaced repetition algorithm algorithm that optimizes the learning curve.
  3. Secure Account Management: Offers a straightforward process for account deletion, ensuring user data privacy and control.
  4. Cross-Device Synchronization: Synchronize your learning progress across multiple devices, providing a consistent and uninterrupted learning experience.
  5. Theme Customization: Choose between light and dark themes to suit your visual preference, facilitating a comfortable reading environment day or night.
  6. Adjustable Text Size: Customize the text size for optimal readability, accommodating individual visual requirements.
  7. Multilingual Support: Access the application in multiple languages, making it accessible and user-friendly for a global audience.

App Demo

  1. Onboarding/UI guide on how to use the app (Video link)
Demo Video
  1. Sign up flow (Video link)
Demo Video
  1. Configurable theme, multiple languages, and text sizes (Video link)
Demo Video
  1. Sync across devices (Video link)
Demo Video

Dev Requirements

  1. Flutter
  2. Flutterfire CLI (links)
  3. Memori Sync Backend (links)

Getting Started

  1. Complete setup of memori sync backend before proceed, as mentioned in Dev requirements.
  2. Follow this official guide on how to add firebase to flutter project to add missing credential files. (links)

Firebase

  1. Go to Firebase console > Firebase remote config, create a property named sync_backend_url.
  2. Set the value as the URL where your sync backend is hosted at.
  3. For example, memori sync backend is hosted at local machine port 8080. Set to http://localhost:8080 for debugging purposes.

IDE setup

  1. Run the command below to download required packages.
flutter pub get
  1. Run the command below to generate the JSON serialized annotated files and drift files.
dart run build_runner build --delete-conflicting-outputs
  1. Run the command below to generate the localization files.
flutter gen-l10n
  1. Run the command below to build android APK.
flutter build apk --release
  1. Run the command below to build android app bundle.
flutter build appbundle --release
  1. Run the command below to build iOS app. macOS and Apple developer account is required.
flutter build ios --release

Main Packages

  1. Flutter bloc
  2. Go router
  3. Drift
  4. Firebase remote config

Image Credit

  1. Business illustrations from Storyset (links)
  2. Event illustrations from Storyset (links)
  3. Happy illustrations from Storyset (links)
  4. Internet illustrations from Storyset (links)
  5. Online illustrations from Storyset (links)
  6. People illustrations from Storyset (links)
  7. Web illustrations from Storyset (links)
  8. Flag icons from Freepik - Flaticon (links)

License

Distributed under the MIT License. See LICENSE for more information.

memori-app's People

Contributors

polarbearyap avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.