Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/refirebase/refirebase
- Owner: refirebase
- License: mit
- Created: 2024-09-16T18:36:51.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-11-20T17:35:05.000Z (about 1 month ago)
- Last Synced: 2024-11-20T18:33:17.668Z (about 1 month ago)
- Topics: firebase, firebase-auth, firebase-authentication, firebase-database, firebase-firestore, firebase-realtime-database, firebase-storage
- Language: TypeScript
- Homepage: https://refirebase.github.io
- Size: 107 KB
- Stars: 18
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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.