All Projects → SD10 → Nora

SD10 / Nora

Licence: mit
Nora is a Firebase abstraction layer for FirebaseDatabase and FirebaseStorage

Programming Languages

swift
15916 projects
swift3
66 projects

Projects that are alternatives of or similar to Nora

Firebase Esp8266
ESP8266 Firebase RTDB Arduino Library
Stars: ✭ 228 (-15.56%)
Mutual labels:  database, firebase, firebase-database
Firebase Server
Firebase Realtime Database Server Implementation
Stars: ✭ 673 (+149.26%)
Mutual labels:  database, firebase, firebase-database
Rxfirebase
Rxjava 2.0 wrapper on Google's Android Firebase library.
Stars: ✭ 509 (+88.52%)
Mutual labels:  database, firebase, firebase-database
Salada
Firebase model framework Salada. Salada is the best Firebase framework.
Stars: ✭ 228 (-15.56%)
Mutual labels:  database, firebase, firebase-database
Cocorico
👐 Cocorico is an open source marketplace solution for services and rentals. More information right here: https://www.cocorico.io/en/ 🚀 Cocorico is also available in an off-the-shelf SaaS package, check out https://www.hatch.li to launch your platform today. 😍 We are hiring (telecommute welcome 🏡): https://www.welcometothejungle.com/en/companies/cocorico/jobs/candidatures-spontanees#apply
Stars: ✭ 765 (+183.33%)
Mutual labels:  database, open-source
Pizzaql
🍕 Modern OSS Order Management System for Pizza Restaurants
Stars: ✭ 631 (+133.7%)
Mutual labels:  database, open-source
Mongo Cxx Driver
C++ Driver for MongoDB
Stars: ✭ 792 (+193.33%)
Mutual labels:  database, networking
Deveeldb
DeveelDB is a complete SQL database system, primarly developed for .NET/Mono frameworks
Stars: ✭ 80 (-70.37%)
Mutual labels:  database, open-source
Ceras
Universal binary serializer for a wide variety of scenarios https://discord.gg/FGaCX4c
Stars: ✭ 374 (+38.52%)
Mutual labels:  database, networking
Ethereumdb
Stars: ✭ 21 (-92.22%)
Mutual labels:  database, open-source
React Native Firebase
🔥 A well-tested feature-rich modular Firebase implementation for React Native. Supports both iOS & Android platforms for all Firebase services.
Stars: ✭ 9,674 (+3482.96%)
Mutual labels:  database, firebase
Space Cloud
Open source Firebase + Heroku to develop, scale and secure serverless apps on Kubernetes
Stars: ✭ 3,323 (+1130.74%)
Mutual labels:  database, firebase
Sol Journal
✎ Simple, personal journaling progressive web app
Stars: ✭ 470 (+74.07%)
Mutual labels:  database, firebase
Firebase Instagram
📸 Instagram clone with Firebase Cloud Firestore, Expo, and React Native 😁😍
Stars: ✭ 389 (+44.07%)
Mutual labels:  database, firebase
Combinefirebase
Combine wrapper on Google's iOS Firebase library.
Stars: ✭ 126 (-53.33%)
Mutual labels:  database, firebase
React Redux Firebase Authentication
🔥Boilerplate Project for Authentication with Firebase in React and Redux
Stars: ✭ 265 (-1.85%)
Mutual labels:  firebase, firebase-database
Datahike
A durable datalog implementation adaptable for distribution.
Stars: ✭ 1,073 (+297.41%)
Mutual labels:  database, open-source
Knime Core
KNIME Analytics Platform
Stars: ✭ 302 (+11.85%)
Mutual labels:  database, open-source
Sapphiredb
SapphireDb Server, a self-hosted, easy to use realtime database for Asp.Net Core and EF Core
Stars: ✭ 326 (+20.74%)
Mutual labels:  database, firebase
Computer Science Resources
A list of resources in different fields of Computer Science (multiple languages)
Stars: ✭ 1,316 (+387.41%)
Mutual labels:  database, networking

codebeat badge Build Status Swift Xcode MIT Contributions Welcome Open Source Love


Nora is a Firebase abstraction layer for working with FirebaseDatabase and FirebaseStorage.

Stop spending all that time cleaning up your view controllers and trying to write reusable Firebase code.

Let Nora handle that for you. Your time is better spent on what you do best. Writing great Apps!

Simply put, working with Firebase just got whole lot easier.


Installation

CocoaPods Recommended

  pod 'Nora'

Example

Working with FirebaseDatabase

After setting up a target making requests is simple.

let database = DatabaseProvider<Users>()

database.request(.getUser(id: "1")) { result in
  switch result {
  case .success(let response):
    let snapshot = response.snapshot
  case .failure(let error):
    print(error.localizedDescription)
  }
}

Database Response Decoding

Provide a JSON initializer for your custom types and easily convert the database response:

let database = DatabaseProvider<Users>()

database.request(.getUser(id: "1")) { result in
  switch result {
  case .success(let response):
    let user = try? response.mapTo(User.init)
  case .failure(let error):
    print(error.localizedDescription)
  }
}


Working with FirebaseStorage

let storage = StorageProvider<Avatars>()
let avatarData = Data()
var meta = FIRStorageMetadata?

storage.request(.upload(avatarData, meta)) { result in
  switch result {
  case .success(_):
    print("Upload Success!")
  case .failure(let error):
    print(error.localizedDescription)
  }
}


Documentation (In Progress)

DatabaseTarget Documentation

DatabaseProvider Documentation


Get involved

You can contribute to this project in more ways than just code:

  • Improving the README
  • Improving Documentation
  • Bug reporting
  • New feature suggestions
  • Answering questions

We really encourage everyone to get involved in open source.

Your feedback is always welcome and much appreciated!

REGARDLESS, of your level of experience.

You will never be put down for having an opinion. So take a chance, open a pull request, or submit that issue!


Inspiration

This project was inspired and based off the Moya networking abstraction layer in Swift.

Check out their project if you're using traditional networking!


License

Nora is released under an MIT license. See LICENSE.md for more information.

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