All Projects β†’ behrad-kzm β†’ QuickDB

behrad-kzm / QuickDB

Licence: MIT license
A Generic CoreData Manager to accept any type of objects. Fastest way for adding a Database to your project.

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to QuickDB

Easystash
πŸ—³Easy data persistence in Swift
Stars: ✭ 303 (+1793.75%)
Mutual labels:  storage, codable
CodablePersist
Store and Cache Anything Codable
Stars: ✭ 18 (+12.5%)
Mutual labels:  storage, codable
birthday.py
πŸŽ‰ A simple discord bot in discord.py that helps you understand the usage of SQL databases
Stars: ✭ 30 (+87.5%)
Mutual labels:  storage
moosefs-csi
Container Storage Interface (CSI) for MooseFS
Stars: ✭ 44 (+175%)
Mutual labels:  storage
redux-storage
Persistence layer for redux with flexible backends
Stars: ✭ 218 (+1262.5%)
Mutual labels:  storage
awesome-storage
A curated list of storage open source tools. Backups, redundancy, sharing, distribution, encryption, etc.
Stars: ✭ 324 (+1925%)
Mutual labels:  storage
Part-DB
Open Source Electronic Parts Database using PHP and MySQL
Stars: ✭ 143 (+793.75%)
Mutual labels:  storage
Hangfire.AzureDocumentDB
Azure DocumentDB storage provider for Hangfire
Stars: ✭ 14 (-12.5%)
Mutual labels:  storage
Warehousing
πŸ—οΈ Mod for Factorio. Store all the things! (We heard you like boxes, you packrat you!)
Stars: ✭ 27 (+68.75%)
Mutual labels:  storage
CodableWrapper
@codec("encoder", "decoder") var cool: Bool = true
Stars: ✭ 143 (+793.75%)
Mutual labels:  codable
homebrew-ceph-client
Homebrew tap for ceph client libraries
Stars: ✭ 22 (+37.5%)
Mutual labels:  storage
generic
generic streamlink plugin
Stars: ✭ 18 (+12.5%)
Mutual labels:  generic
BlobHelper
BlobHelper is a common, consistent storage interface for Microsoft Azure, Amazon S3, Komodo, Kvpbase, and local filesystem written in C#.
Stars: ✭ 23 (+43.75%)
Mutual labels:  storage
metal-chests
Better alternative to IronChests
Stars: ✭ 13 (-18.75%)
Mutual labels:  storage
TableViewExtension
This extension simplify registering any cell, reusing and other verbosity steps.
Stars: ✭ 13 (-18.75%)
Mutual labels:  generic
h5pp
A C++17 interface for HDF5
Stars: ✭ 60 (+275%)
Mutual labels:  storage
Generic-SQL-Audit-Trail
A generic audit trail based on triggers and dynamic SQL.
Stars: ✭ 15 (-6.25%)
Mutual labels:  generic
linode-blockstorage-csi-driver
Container Storage Interface (CSI) Driver for Linode Block Storage
Stars: ✭ 50 (+212.5%)
Mutual labels:  storage
kesho
store cache any data type string, boolean, jsonObject, jsonArray, .....
Stars: ✭ 19 (+18.75%)
Mutual labels:  storage
SACK
System Abstraction Component Kit
Stars: ✭ 18 (+12.5%)
Mutual labels:  generic

QuickDB

FileManager + CoreData

❗️Save and Retrieve any thing in JUST ONE line of code❗️

Fast usage dataBase to avoid struggling with dataBase complexity. Just save every object with a simple function.

Other languages: (δΈ­ζ–‡)

The QuickDB uses CoreData with a SUPER easy use case that you can store any codable objects and query for them in just 1 line of code. This component is highly recommended for small scale applications to store user data and settings with custom class types.

CI Status Version License Platform

HOW?

Step 1:

Confirm your codable to have a UUID with protocol QuickIndexable

struct MyModel: QuickIndexable {
  var uid = UUID()
  ...
}

Step 2:

Save your object to QuickDB

  QuickDB.shared.insert(model: myModel)

Step 3:

Retrieve all your objects from QuickDB

QuickDB.shared.getAll(LatestObjects: { (items: [MyModel]) in
      //use your inserted items here
	print(items)
}) { (error) in
	print(error)
}

QuickDB uses generic functions to query all records that matches with your Model type.self

Note

πŸ’’ Check the example to see how you can bachInsert, delete, update and tag your models.

πŸ’’ There are usecases that optimized for storing large files like Image, Audio, etc.

Store An Image:

	UIImage(imageLiteralResourceName: "Image").pngData()?.asQuickFile(fileName: "MyImage").store()

You can convert any Data models to quickFile and store it in the FileManager:

Step 1:

Save your Data object:

	Data().asQuickFile(fileName: "MyData").store()

Step 2:

Load your saved Data:

QuickDB.shared.data(fileName: "MyImage", fileType: .png) { (items) in
	//items is an array of [Data] matches with your file name
}

πŸ’’ QuickFM save any files in the QuickDBStorage folder inside your device, you can get all saved files inside the function of QuickDB.shared.getAll(LatestObjects: { (items: [QuickDataRecord]) in}.

πŸ’’ QuickFM allows you to save Data objects with same fileNames and retrieve all of them in data(fileName:fileType:completion).

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

iOS +11.0 swift 5.0 xcode +11

Installation

QuickDB is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'QuickDB'

Author

behrad-kzm, [email protected]

Special Thanks

Salar Soleimani

License

QuickDB is available under the MIT license. See the LICENSE file for more info.

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].