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

Overview

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.

You might also like...
Listens to changes in a PostgreSQL Database and via websockets.

realtime-swift Listens to changes in a PostgreSQL Database and via websockets. A Swift client for Supabase Realtime server. Usage Creating a Socket co

Realm is a mobile database: a replacement for Core Data & SQLite

Realm is a mobile database that runs directly inside phones, tablets or wearables. This repository holds the source code for the iOS, macOS, tvOS & wa

WCDB is a cross-platform database framework developed by WeChat.
WCDB is a cross-platform database framework developed by WeChat.

WCDB 中文版本请参看这里 WCDB is an efficient, complete, easy-to-use mobile database framework used in the WeChat application. It's currently available on iOS,

Sync Realm Database with CloudKit
Sync Realm Database with CloudKit

IceCream helps you sync Realm Database with CloudKit. It works like magic! Features Realm Database Off-line First Thread Safety Reactive Programming O

Movies Information DataBase (Add - Delete - Edit - Search)

MoviesInformation Movies Information DataBase (Add - Delete - Edit - Search) This Code Provide Simple Program About Movies Information This Program Ca

Safe and easy wrappers for common Firebase Realtime Database functions.

FirebaseHelper FirebaseHelper is a small wrapper over Firebase's realtime database, providing streamlined methods for get, set, delete, and increment

A sample application showcasing Vapor 4 connecting to an Oracle database using SwiftOracle package.

vapor-oracle A sample application showcasing Vapor 4 connecting to an Oracle database using SwiftOracle package. In this Vapor application, we create

A property wrapper for displaying up-to-date database content in SwiftUI views

@Query Latest release: November 25, 2021 • version 0.1.0 • CHANGELOG Requirements: iOS 13.0+ / macOS 10.15+ / tvOS 13.0+ / watchOS 6.0+ • Swift 5.5+ /

A food delivery app using firebase as the database.
A food delivery app using firebase as the database.

FDA-ONE Food Delivery Application is a mobile application that users can use to find the best restaurant around their location and order the meals the

Owner
Behrad Kazemi
🤲🏻 I Believe in Open-Source #Swift #Typescript #Python #ShellScript | IG:@codebybehrad
Behrad Kazemi
CodableCloudKit allows you to easily save and retrieve Codable objects to iCloud Database (CloudKit)

CodableCloudKit CodableCloudKit allows you to easily save and retrieve Codable objects to iCloud Database (CloudKit) Features ℹ️ Add CodableCloudKit f

Laurent Grondin 65 Oct 23, 2022
A simple order manager, created in order to try Realm database

Overview A simple order manager, created in order to get acquainted with the features and limitations of the local Realm database. The project is writ

Kirill Sidorov 0 Oct 14, 2021
PRGTipView is a drop-in solution for adding onboarding tips to your apps

PRGTipView PRGTipView is a drop-in solution for adding onboarding tips to your apps. It supports: Title, detail and dismissal button Give focus on a p

Iannis Spiropoulos 25 Aug 12, 2022
This Project domonstrate the latest Swift on Server to create RESTFul API's connected via Database: MongoDB NoSql

Swift is a general-purpose programming language built using a modern approach to safety & performance that make it specifically suitable for Server applications. Vapor is a web framework for Swift, allowing you to write backends, web apps APIs and HTTP servers in Swift

Furqan 3 Aug 23, 2022
Easy direct access to your database 🎯

OHMySQL ★★ Every star is appreciated! ★★ The library supports Objective-C and Swift, iOS and macOS. You can connect to your remote MySQL database usin

Oleg 210 Dec 28, 2022
Innova CatchKennyGame - The Image Tap Fun Game with keep your scores using Core Database

Innova_CatchKennyGame The Image Tap Fun Game with keep your scores using Core Da

Alican Kurt 0 Dec 31, 2021
ObjectBox Swift - persisting your Swift objects superfast and simple

ObjectBox Swift ObjectBox is a superfast, light-weight object persistence framework. This Swift API seamlessly persists objects on-device for iOS and

ObjectBox 380 Dec 19, 2022
🛶Shallows is a generic abstraction layer over lightweight data storage and persistence.

Shallows Shallows is a generic abstraction layer over lightweight data storage and persistence. It provides a Storage<Key, Value> type, instances of w

Oleg Dreyman 620 Dec 3, 2022
CoreData/Realm sweet wrapper written in Swift

What is SugarRecord? SugarRecord is a persistence wrapper designed to make working with persistence solutions like CoreData in a much easier way. Than

Modo 2.1k Dec 9, 2022
MagicData - A replacement of SQlite, CoreData or Realm.

MagicData A replacement of SQlite, CoreData or Realm. It is very easy to use and is a light version. Guides MagicData We use MagicData manage all the

Underthestars-zhy 20 Jul 4, 2022