The flutter application is the frontend for the Memri pod. Flutter is a framework to build natively compiled, multi-platform (web/desktop/ios/android) applications from a single codebase. The current flutter application codebase is focussed on publishing in flutter-web.
The pre-alpha version of the Memri frontend is freely available at dev.app.memri.io, and can be used by connecting to your local pod or the public memri hosted pod (alpha) at dev.pod.memri.io. Regardless of your setup: only you have access to the data in your pod. After first login, your credentials will be stored locally for re-use when you revisit the app. To create a new account after first login, delete your browser database or connect from an incognito tab (in this case your data will be lost after closing the tab). Note that this is a very early release, for help or questions reach out on Discord.
flutter pub run build_runner watch --delete-conflicting-outputs
To build the Memri flutter-app locally, you need to either install the Flutter environment locally, or use the docker build. Currently the app is tested and built for flutter web.
flutter run -d chrome --profile --web-port=3667
flutter run -d chrome --debug --web-port=3667
Setting web port to 3667 with
--web-port=3667 is important as external authorisation flows rely on https://localhost:3667 as the redirect url.
The Memri flutter application uses an inhouse language, CVU, that allows you to define your UI by creating elements in the POD. As the UI definition lives in the database, the Memri UI is dynamic, which allows users to dynamically redefine their UI without recompiling the app or downloading a new release. Additionally, it allows for a microservices architecture, in which community built plugins can easily define their own UI. Read more here.