n6g7 / Redux Saga Firebase
Licence: mit
A redux saga integration for firebase.
Stars: ✭ 279
Programming Languages
javascript
184084 projects - #8 most used programming language
Labels
Projects that are alternatives of or similar to Redux Saga Firebase
React Social Network
Simple React Social Network
Stars: ✭ 409 (+46.59%)
Mutual labels: firebase, redux-saga
Todo Redux Saga
Todo app with Create-React-App • React-Redux • Redux-Saga • Firebase • OAuth
Stars: ✭ 184 (-34.05%)
Mutual labels: firebase, redux-saga
react-enterprise-starter-kit
Highly Scalable Awesome React Starter Kit for an enterprise application with a very easy maintainable codebase. 🔥
Stars: ✭ 55 (-80.29%)
Mutual labels: redux-saga
movies
Real world isomorphic application for movies search, based on Webpack 5 / Express / React 17 + Redux-Saga / Bootstrap 4.6 + CSS Modules / i18next / SSR
Stars: ✭ 20 (-92.83%)
Mutual labels: redux-saga
Nora
Nora is a Firebase abstraction layer for FirebaseDatabase and FirebaseStorage
Stars: ✭ 270 (-3.23%)
Mutual labels: firebase
Octopus
🐙 Octopus - Internal wiki with diagrams for software and product teams
Stars: ✭ 274 (-1.79%)
Mutual labels: firebase
react-redux-crud
An example react-redux-saga CRUD application
Stars: ✭ 47 (-83.15%)
Mutual labels: redux-saga
Generator React Firebase
React Firebase (Redux optional) yeoman generator
Stars: ✭ 272 (-2.51%)
Mutual labels: firebase
Setwithfriends
🎮 A frictionless multiplayer web app that lets you play Set with friends
Stars: ✭ 268 (-3.94%)
Mutual labels: firebase
React Admin Firebase
A firebase data provider for the react-admin framework
Stars: ✭ 269 (-3.58%)
Mutual labels: firebase
create-react-redux-app
React boilerplate based on create-react-app
Stars: ✭ 49 (-82.44%)
Mutual labels: redux-saga
Material Kit React
React Dashboard made with Material UI’s components. Our pro template contains features like TypeScript version, authentication system with Firebase and Auth0 plus many other
Stars: ✭ 3,465 (+1141.94%)
Mutual labels: firebase
MyReads
📚 MyReads is @udacity React Nanodegree Project. This is a book tracking app allows you to select and categorize books you have read, are currently reading, or want to read. The project emphasizes using React to build the application and provides an API server and client library that it should be persisted information as user’s interacts with th…
Stars: ✭ 13 (-95.34%)
Mutual labels: redux-saga
Nuxt Ssr Firebase
Nuxt.js Universal App with SSR via Firebase Functions and Firebase Hosting
Stars: ✭ 273 (-2.15%)
Mutual labels: firebase
React Redux Firebase Authentication
🔥Boilerplate Project for Authentication with Firebase in React and Redux
Stars: ✭ 265 (-5.02%)
Mutual labels: firebase
React Native Navigation Redux Starter Kit
React Native Navigation(v2) Starter Kit with Redux, Saga, ESLint, Babel, Jest and Facebook SDK 😎
Stars: ✭ 271 (-2.87%)
Mutual labels: redux-saga
redux-saga-firebase
A redux-saga integration for firebase.
- Try out the example app and browse its code.
- It also works with React Native 📱! Here's a very simple example: https://github.com/n6g7/cat/tree/master/rn.
- Browse the docs at https://redux-saga-firebase.js.org/.
Quick start
Install with:
yarn add redux-saga-firebase
Initialize a firebase app and instantiate redux-saga-firebase:
import firebase from 'firebase'
import '@firebase/firestore' // 👈 If you're using firestore
import ReduxSagaFirebase from 'redux-saga-firebase'
const myFirebaseApp = firebase.initializeApp({
apiKey: 'qosjdqsdkqpdqldkqdkfojqjpfk',
authDomain: 'my-app.firebaseapp.com',
databaseURL: 'https://my-app.firebaseio.com',
})
const reduxSagaFirebase = new ReduxSagaFirebase(myFirebaseApp)
You can now use reduxSagaFirebase
methods in your sagas:
function* syncSaga() {
yield fork(reduxSagaFirebase.database.sync, 'todos', {
successActionCreator: syncTodos,
})
}
Make sure your client provides a implementation of fetch
, either natively or via a polyfill (whatwg-fetch
is a pretty good one).
API
Authentication
*auth.applyActionCode(code)
auth.channel()
*auth.confirmPasswordReset(code, newPassword)
*auth.createUserWithEmailAndPassword(email, password)
*auth.deleteProfile()
*auth.linkWithPopup(authProvider)
*auth.linkWithRedirect(authProvider)
*auth.sendEmailVerification(actionCodeSettings)
*auth.sendPasswordResetEmail(email, actionCodeSettings)
*auth.signInAndRetrieveDataWithCredential(credential)
*auth.signInAnonymously()
*auth.signInWithCredential(credential)
*auth.signInWithCustomToken(token)
*auth.signInWithEmailAndPassword(email, password)
*auth.signInWithPhoneNumber(phoneNumber, applicationVerifier)
*auth.signInWithPopup(authProvider)
*auth.signInWithRedirect(authProvider)
*auth.signOut()
*auth.unlink(authProvider)
*auth.updateEmail(email)
*auth.updatePassword(password)
*auth.updateProfile(profile)
Database
*database.read(path)
*database.create(path, data)
*database.update(path, data)
*database.patch(path, data)
*database.delete(path)
database.channel(path, event, buffer)
*database.sync(path, options, event)
Firestore
*firestore.addDocument(collectionRef, data)
firestore.channel(pathOrRef, type, buffer)
*firestore.deleteDocument(documentRef)
*firestore.getCollection(collectionRef)
*firestore.getDocument(docRef)
*firestore.setDocument(docRef, data, options)
*firestore.syncCollection(pathOrRef, options)
*firestore.syncDocument(pathOrRef, options)
*firestore.updateDocument(docRef, ...args)
Functions
Messaging
messaging.channel()
*messaging.syncMessages(options)
*messaging.syncToken(options)
messaging.tokenRefreshChannel()
Storage
storage.uploadFile(path, file, metadata)
storage.uploadString(path, string, format, metadata)
*storage.getDownloadURL(path)
*storage.getFileMetadata(path)
*storage.updateFileMetadata(path, newMetadata)
*storage.deleteFile(path)
Contributing
- Clone
- Link lib to example site:
-
yarn link
in root directory -
yarn link redux-saga-firebase
inexample
directory
-
- Run tests:
yarn test
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].