A data synchronization tool based on Event Sourcing and CQRS. An "event" is analogous to a serialized command that can be executed. An event's order of execution within the system is relatively subjective until it has been added to the server, at which point it has a permanently fixed order in the history of events.
This package is designed to communicate with a specific API specification.
Some benefits of our sync design include:
- offline-first - continue to work while offline or online.
- eventual consistency - everyone will eventually see the same data.
- ZERO data loss - every single edit is permanently recorded in a read-only log.
- invisible conflict resolution - conflicting edits are automatically and silently resolved without user intervention.
- historical reporting - view historical snapshots of the data.
- data recovery - any edit can be reverted.
TODO: List what your package can do. Maybe include images, gifs, or videos.
Events can be optionally pooled together.
TODO: List prerequisites and provide or point to information on how to start using the package.
TODO: Include short and useful examples for package users. Add longer examples
to /example
folder.
const like = 'sample';
TODO: Tell users more about the package: where to find more information, how to contribute to the package, how to file issues, what response they can expect from the package authors, and more.
We are using some packages and features that generate code for us automatically. Run the following command to generate the code.
flutter packages pub run build_runner build