From 89260892f5891d13a6fd60cb9f169db30d6e0d9b Mon Sep 17 00:00:00 2001 From: Oleksandr Prokhorenko Date: Thu, 30 Nov 2023 10:16:14 +0100 Subject: [PATCH] feat: add flutter adr, update catalyst_voices_assets (#164) --- .config/dictionaries/project.dic | 3 ++ .../internal_resources/README.md | 4 ++ .../internal_resources/animations/.gitkeep | 0 .../internal_resources/fonts/.gitkeep | 0 .../internal_resources/icons/.gitkeep | 0 .../internal_resources/images/.gitkeep | 0 .../09_architecture_decisions/0003-flutter.md | 51 +++++++++++++++++++ .../09_architecture_decisions/index.md | 4 +- 8 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 catalyst_voices/packages/catalyst_voices_assets/internal_resources/README.md create mode 100644 catalyst_voices/packages/catalyst_voices_assets/internal_resources/animations/.gitkeep create mode 100644 catalyst_voices/packages/catalyst_voices_assets/internal_resources/fonts/.gitkeep create mode 100644 catalyst_voices/packages/catalyst_voices_assets/internal_resources/icons/.gitkeep create mode 100644 catalyst_voices/packages/catalyst_voices_assets/internal_resources/images/.gitkeep create mode 100644 docs/src/architecture/09_architecture_decisions/0003-flutter.md diff --git a/.config/dictionaries/project.dic b/.config/dictionaries/project.dic index 888451b950..ef118a0842 100644 --- a/.config/dictionaries/project.dic +++ b/.config/dictionaries/project.dic @@ -51,6 +51,7 @@ mitigations moderations nanos netkey +Oleksandr oneshot openapi opentelemetry @@ -63,12 +64,14 @@ podfile podhelper preprod projectcatalyst +Prokhorenko psql Ptarget pubkey pubspec rapidoc redoc +ripgrep rustc rxdart saibatizoku diff --git a/catalyst_voices/packages/catalyst_voices_assets/internal_resources/README.md b/catalyst_voices/packages/catalyst_voices_assets/internal_resources/README.md new file mode 100644 index 0000000000..03d6c51299 --- /dev/null +++ b/catalyst_voices/packages/catalyst_voices_assets/internal_resources/README.md @@ -0,0 +1,4 @@ +# Internal Resources + +This directory contains resources that are used by the Catalyst Voices Assets package and +are intended to be used by designers and developers working on the Catalyst Voting App. diff --git a/catalyst_voices/packages/catalyst_voices_assets/internal_resources/animations/.gitkeep b/catalyst_voices/packages/catalyst_voices_assets/internal_resources/animations/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/catalyst_voices/packages/catalyst_voices_assets/internal_resources/fonts/.gitkeep b/catalyst_voices/packages/catalyst_voices_assets/internal_resources/fonts/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/catalyst_voices/packages/catalyst_voices_assets/internal_resources/icons/.gitkeep b/catalyst_voices/packages/catalyst_voices_assets/internal_resources/icons/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/catalyst_voices/packages/catalyst_voices_assets/internal_resources/images/.gitkeep b/catalyst_voices/packages/catalyst_voices_assets/internal_resources/images/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/src/architecture/09_architecture_decisions/0003-flutter.md b/docs/src/architecture/09_architecture_decisions/0003-flutter.md new file mode 100644 index 0000000000..65e297b236 --- /dev/null +++ b/docs/src/architecture/09_architecture_decisions/0003-flutter.md @@ -0,0 +1,51 @@ +--- + title: 0003 Flutter for Catalyst Voting Frontend + adr: + author: Oleksandr Prokhorenko + created: 29-Nov-2023 + status: accepted + tags: + - flutter + - dart +--- + +## Context + +The need for a versatile and efficient framework to develop applications across multiple platforms +(Web, iOS, Android, macOS, Linux, and Windows) led us to consider various options. +Flutter emerged as the most promising solution due to its wide-ranging platform support, +single codebase feature, and robust widget library. + +## Assumptions + +* Flutter's capabilities extend efficiently to web and desktop platforms, in addition to mobile. +* The development team is capable of learning and adapting to Flutter and Dart for cross-platform development. +* The performance and compatibility of Flutter-built applications are adequate across all targeted platforms. + +## Decision + +We have decided to use Flutter as our primary framework for developing applications on Web, iOS, Android, macOS, +Linux, and Windows platforms. +This decision leverages Flutter's ability to provide a single codebase for multiple platforms, +its robust widget library, and its growing support for desktop and web applications. + +## Risks + +* Potential complications in accessing some native features and hardware-specific functionalities on each platform. +* The need for additional testing across different platforms to ensure consistency and performance. +* Flutter's desktop and web support is less mature than its mobile support, which might lead to unforeseen challenges. + +## Consequences + +* Streamlined development process with a unified codebase, reducing development and maintenance costs. +* Increased ability to rapidly deploy updates and new features across all platforms simultaneously. +* Dependency on a single technology stack, which may pose challenges if Flutter does not evolve as expected. + +## More Information + +* [Flutter](https://flutter.dev/) +* [Dart](https://dart.dev/) +* [Build more with Flutter](https://flutter.dev/development) +* [Flutter apps in production](https://flutter.dev/showcase) +* [A strong ecosystem, powered by open source](https://flutter.dev/ecosystem) +* [Flutter’s roadmap](https://github.com/flutter/flutter/wiki/Roadmap) diff --git a/docs/src/architecture/09_architecture_decisions/index.md b/docs/src/architecture/09_architecture_decisions/index.md index 025822f75e..c70c65fbc1 100644 --- a/docs/src/architecture/09_architecture_decisions/index.md +++ b/docs/src/architecture/09_architecture_decisions/index.md @@ -4,9 +4,9 @@ icon: material/arrow-decision-auto # Architecture Decisions -