Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/refirebase/refirebase

🔥 New easiest Firebase API
https://github.com/refirebase/refirebase

firebase firebase-auth firebase-authentication firebase-database firebase-firestore firebase-realtime-database firebase-storage

Last synced: 26 days ago
JSON representation

🔥 New easiest Firebase API

Awesome Lists containing this project

README

        



Refirebase Logo


Refirebase










Refirebase is a simple library that allows you to use Firebase Realtime Database, Firestore, Storage and Authentication as a state management solution in your JavaScript application.

## Installation

Use your favorite package manager to install Refirebase:

### NPM

```bash
npm install refirebase
```

### Yarn, PNPM, BUN

```bash
yarn add refirebase
```

```bash
pnpm add refirebase
```

```bash
bun add refirebase
```

## Usage

Import the `Refirebase` class:

```javascript
import { Refirebase } from 'refirebase';
```

You can use the `Refirebase` class to get the Firebase objects:

```javascript
const refirebase = new Refirebase({
apiKey: 'YOUR_API_KEY',
authDomain: 'YOUR_AUTH_DOMAIN',
databaseURL: 'YOUR_DATABASE_URL',
projectId: 'YOUR_PROJECT_ID',
storageBucket: 'YOUR_STORAGE_BUCKET',
messagingSenderId: 'YOUR_MESSAGING_SENDER_ID',
appId: 'YOUR_APP_ID',
measurementId: 'YOUR_MEASUREMENT_ID',
});
```

Or you can use destructuring to get other objects:

```javascript
const { db, auth } = new Refirebase({
apiKey: 'YOUR_API_KEY',
authDomain: 'YOUR_AUTH_DOMAIN',
databaseURL: 'YOUR_DATABASE_URL',
projectId: 'YOUR_PROJECT_ID',
storageBucket: 'YOUR_STORAGE_BUCKET',
messagingSenderId: 'YOUR_MESSAGING_SENDER_ID',
appId: 'YOUR_APP_ID',
measurementId: 'YOUR_MEASUREMENT_ID',
});
```

> If you prefer to copy empty strings to the `Refirebase` class:

```javascript
const refirebase = new Refirebase({
apiKey: '',
authDomain: '',
databaseURL: '',
projectId: '',
storageBucket: '',
messagingSenderId: '',
appId: '',
measurementId: '',
});
```

## Examples

### Databases

#### Firestore Database Example

```javascript
// Import the Refirebase class
import { db } from '@/config/firebase';

// Get ALL data from the 'users' collection
const users = db.firestore.get("users");
```

#### Realtime Database Example

```javascript
// Import the Refirebase class
import { db } from '@/config/firebase';

// Get ALL data from the 'users' collection
const users = db.realtime.get("users");
```

#### Storage

```javascript
// Import the Refirebase class
import { db } from '@/config/firebase';

// Get a file from the storage
const file = db.storage.get("path/to/file");
```

### Features

#### Authentication Example

```javascript
// Import the Refirebase class
import { auth } from '@/config/firebase';

// Sign in with Google
const result = await auth.handleProviderSignIn("google");

if (!result) {
// Handle error
}

const user = result.user;
```

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.