8000 GitHub - rayk/wrkateedge: Doing work at the edge reference implementation of some basic key concepts.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

rayk/wrkateedge

Repository files navigation

WrkAteEdge Reference Implementation

An implementation of a simple working-at-the-edge architecture is intended as a reference for a broader implementation. As a reference implementation, this project/repository does include 'extra file', which are not expected to be found in a production implementation. For example, IDE and environment files are included to demonstrate changes to the development workflow and environment.

As security and integration with external providers is beyond the scope of this reference, the included env files can be considered free of sensitive information.

Rationale

We invested work into this reference implementation, to flesh out optimal solutions of the various challenged of implementing a multi-platform offline client, that does a large amount of data processing on different client devices and operating systems.

Goals

The essence of this reference implementation

  • Demonstrate dataflow from user interface to persistence, which is just a stub of a datastore.
  • Demonstrate dependency management and injection.
  • Demonstrate the interaction between the user interactions and the edge worker.
  • Demonstrate the architectures portability cross various devices.
  • Demonstrate testing approaches.
  • Developer tooling and workflow.
  • Demonstrate the architecture ability to exist in a automated deployment pipeline.

Non-Goals

Those things/challenges that we have explicit excluded from this reference implementation for the sake of brevity

  • Beyond data bind to the GUI Widget and dependency management, issues of animations and other UI/UX are non-goals.
  • Persistence and serialization optimization are non-goals.

Assumptions

Those things/challenges which we have assumed a generally accepted solutions shall deliver, hence is not included in this reference implementation.

  • Mono-repo for all code. ~ Melos
  • All libraries declared in the pubspec.yaml are the minimum required to deliver the reference implementation.
  • Environment config secrets are handled via a service like Doppler or similar, pushed into variables at build time.
  • IDE environment is IntelliJ.
  • Gui Localization is handled in the standard flutter way ~ il18
  • Data Model will be handled using DDD Principles.

Documentation

Given the audience of this work are experienced with the applied technology we have opted to leverage code comments and a clear terse code style instead of a collection of verbose markdown down files. After setting up the documentation generator you can build the documentation by running the commands below from the root of the project.

Documentation Generator Setup

Set it up once if you have not already done so.

dart pub global activate dartdoc
dart pub global activate dhttpd

Build the doc and server it locally for your own consumption.

dart doc .
dhttpd --path doc/api

About

Doing work at the edge reference implementation of some basic key concepts.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0