A simple order manager, created in order to try Realm database

Overview

Overview

Products screen Orders screen

A simple order manager, created in order to get acquainted with the features and limitations of the local Realm database. The project is written in Swift 5 using UIKit. App architecture pattern is MVP + Coordinator. The Realm-related code and its objects are isolated with the database layer in order to isolate the database layer and provide the ability to support different database engines.

How it works

Each launch the app creates an empty order with the status "Filling up". A user is allowed to create an unlimited number of products and add them to the cart. Once an order is processed from the Basket screen its status gets changed to "Processing" and new empty order is created for the next interactions.

Contents

The app have following screens:

  • Product list screen -- A screen allowing a user to see all products and existing tags, sort them by several parameters, and delete them.
  • Product add/modify screen -- A screen allowing a user to create a new product or modify an existing product; also provide a way to manage tags.
  • Basket screen -- A screen providing ability to see the current order and remove products from it. It also allows a user to finish the order.
  • Orders list screen -- A screen allowing a user to see all the existing orders, filter them by several parameters, and delete them.

TODO:

  • Provide sync methods for all CRUD operations
  • Convenient method to alter DTOs
  • Generate DTOs with a codegen tool (?)
  • Live wrappers for DTOs
You might also like...
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

Realm-powered Core Data persistent store
Realm-powered Core Data persistent store

RealmIncrementalStore Realm-powered Core Data persistent store Wait, what? I like Realm. Realm's memory-mapped DB blows other databases out of the wat

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

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,

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

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

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+ /

Owner
Kirill Sidorov
iOS Developer, ex web developer
Kirill Sidorov
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

Soledad 1.8k Jan 6, 2023
Realm Manager for iOS

Microservices for RealmSwift. Split realms for easier management and migration

Lê Xuân Quỳnh 2 Aug 13, 2022
A Generic CoreData Manager to accept any type of objects. Fastest way for adding a Database to your project.

QuickDB FileManager + CoreData ❗️ Save and Retrieve any thing in JUST ONE line of code ❗️ Fast usage dataBase to avoid struggling with dataBase comple

Behrad Kazemi 17 Sep 24, 2022
Sometimes you need order

SwiftSortedList Usage All you need is a Comparable object: import SwiftSortedList struct MyObj : Comparable { var id: Int } func ==(x: MyObj, y:

Bemind Interactive 5 Dec 7, 2021
iScheduleYourDay is a watchOS 8.5 app that can help order your daily tasks

Currently developing an App for watchOS 8.5 to help order your tasks daily. The app is a simple approach to the actual Apple App Remainders to become an improved version of it

Marta Granero I Martí 2 Aug 11, 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
A library that provides the ability to import/export Realm files from a variety of data container formats.

Realm Converter Realm Converter is an open source software utility framework to make it easier to get data both in and out of Realm. It has been built

Realm 212 Dec 9, 2022
Unrealm is an extension on RealmCocoa, which enables Swift native types to be saved in Realm.

Unrealm enables you to easily store Swift native Classes, Structs and Enums into Realm . Stop inheriting from Object! Go for Protocol-Oriented program

Artur  Mkrtchyan 518 Dec 13, 2022
Realm GeoQueries made easy

RealmGeoQueries simplifies spatial queries with Realm Cocoa. In the absence of and official functions, this library provide the possibility to do prox

Marc Hervera 142 Jul 21, 2022
Creating a Todo app using Realm and SwiftUI

Realmで作るTodoアプリ note記事「【SwiftUI】Realmを使ってTodoアプリを作る」のソースです。

null 1 Jul 20, 2022