greenbits / Brick
An intuitive way to work with persistent data in Dart
Stars: ✭ 159
Programming Languages
dart
5743 projects
Projects that are alternatives of or similar to Brick
sync-client
SyncProxy javascript client with support for all major embedded databases (IndexedDB, SQLite, WebSQL, LokiJS...)
Stars: ✭ 30 (-81.13%)
Mutual labels: offline, sqlite
Canvas-Vision
📷 Wallpaper Downloading Android App
Stars: ✭ 14 (-91.19%)
Mutual labels: offline, sqlite
Appkernel
API development made easy: a smart Python 3 API framework
Stars: ✭ 152 (-4.4%)
Mutual labels: rest
React Native Offline
Handy toolbelt to deal nicely with offline/online connectivity in a React Native app. Smooth redux integration ✈️
Stars: ✭ 2,000 (+1157.86%)
Mutual labels: offline
Tortoise Orm
Familiar asyncio ORM for python, built with relations in mind
Stars: ✭ 2,558 (+1508.81%)
Mutual labels: sqlite
Cachew
Transparent and persistent cache/serialization powered by type hints
Stars: ✭ 155 (-2.52%)
Mutual labels: sqlite
Restcountries
Get information about countries via a RESTful API
Stars: ✭ 2,054 (+1191.82%)
Mutual labels: rest
Modernarchitectureshop
The Microservices Online Shop is an application with a modern software architecture that is cleanly designed and based on.NET lightweight technologies. The shop has two build variations. The first variant is the classic Microservices Architectural Style. The second one is with Dapr. Dapr has a comprehensive infrastructure for building highly decoupled Microservices; for this reason, I am using Dapr to achieve the noble goal of building a highly scalable application with clean architecture and clean code.
Stars: ✭ 154 (-3.14%)
Mutual labels: sqlite
Axion Technologies Hnh
Hotter’n Hell Hundred is the largest one hundred mile cycling events in the United States and the world. Held in Wichita Falls, TX, this event brings thousands of registrants within the city limits, resulting in a spike in revenue throughout local businesses, restaurants, and hotels, and overall for the city of Wichita Falls. There are several sub-events within the Hotter’n Hell Hundred, such as different races, dining events, consumer shows and a medical symposium. The proposed Hotter’n Hell Hundred mobile application serves as the ultimate source of information for the events, enabling users to quickly register for events and explore local places. In addition, the mobile application allows users to navigate through race during the event, tracking their speed, nearby rest stops, alternate routes, and finish line, ensuring the best possible experience during their stay in Wichita Falls.
Stars: ✭ 155 (-2.52%)
Mutual labels: mobile-development
Hikaku
A library that tests if the implementation of a REST-API meets its specification.
Stars: ✭ 154 (-3.14%)
Mutual labels: rest
Atdatabases
TypeScript clients for databases that prevent SQL Injection
Stars: ✭ 154 (-3.14%)
Mutual labels: sqlite
Angular2 Crud Rest
Sample Angular (2.x and 4.x) app: CRUD example + routing
Stars: ✭ 152 (-4.4%)
Mutual labels: rest
Persist Queue
A thread-safe disk based persistent queue in Python
Stars: ✭ 157 (-1.26%)
Mutual labels: sqlite
Cmissync
Synchronize content between a CMIS repository and your desktop. Like Dropbox for Enterprise Content Management!
Stars: ✭ 153 (-3.77%)
Mutual labels: offline
Middleware Acl
middleware-acl Access Control Library RBAC casbin
Stars: ✭ 155 (-2.52%)
Mutual labels: rest
Kotlin Openapi Spring Functional Template
🍃 Kotlin Spring 5 Webflux functional application with api request validation and interactive api doc
Stars: ✭ 159 (+0%)
Mutual labels: rest
An intuitive way to work with persistent data in Dart.
Full documentation
Why Brick?
- Out-of-the-box offline access to data
- Handle and hide complex serialization/deserialization logic
- Single access point and opinionated DSL
- Automatic, intelligently-generated migrations
- Legible querying interface
What is Brick?
Brick is an extensible query interface for Dart applications. It's an all-in-one solution responsible for representing business data in the application, regardless of where your data comes from. Using Brick, developers can focus on implementing the application, without concern for where the data lives. Brick was inspired by the need for applications to work offline first, even if an API represents your source of truth.
Quick Start
- Add the packages:
dependencies: brick_offline_first: any dev_dependencies: brick_offline_first_with_rest_build: git: url: https://github.com/greenbits/brick.git path: packages/brick_offline_first_with_rest_build build_runner: any
- Configure your app directory structure to match Brick's expectations:
mkdir -p lib/app/adapters lib/app/db lib/app/models;
- Add models that contain your app logic. Models must be saved in
lib/app/models/<class_as_snake_name>.dart
. - Run
flutter pub run build_runner run
to generate your models (orpub run build_runner run
if you're not using Flutter) and sometimes migrations. Rerun after every new model change orflutter pub run build_runner watch
for automatic generations. - Extend an existing repository or create your own:
// lib/app/repository.dart import 'package:brick_offline_first/offline_first_with_rest.dart'; import 'package:audio_journal/app/brick.g.dart'; export 'package:brick_offline_first/offline_first_with_rest.dart' show And, Or, Query, QueryAction, Where, WherePhrase; class Repository extends OfflineFirstWithRestRepository { Repository() : super( migrations: migrations, restProvider: RestProvider( 'http://localhost:3000', modelDictionary: restModelDictionary, ), sqliteProvider: SqliteProvider( _DB_NAME, modelDictionary: sqliteModelDictionary, ), ); }
- Profit.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].