pimphand/firemoo

Laravel package for Firestore-like API and WebSocket integration

Installs: 2

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/pimphand/firemoo

dev-master 2025-11-14 06:48 UTC

This package is auto-updated.

Last update: 2025-12-14 07:00:57 UTC


README

Latest Version on Packagist Total Downloads

Laravel package untuk integrasi dengan Firestore-like API dan WebSocket realtime.

Features

  • ✅ Firestore-like API integration (Collections & Documents)
  • ✅ WebSocket realtime connections
  • ✅ Clean code architecture dengan dependency injection
  • ✅ File-based logging (bukan console)
  • ✅ Support API Key dan JWT authentication
  • ✅ Laravel Facades untuk kemudahan penggunaan
  • ✅ Fully tested dan documented

Installation

Install package via Composer:

composer require pimphand/firemoo

Configuration

Tambahkan ke .env:

FIRESTORE_API_URL=http://127.0.0.1:9090
FIRESTORE_WS_URL=ws://127.0.0.1:9090/websocket
FIRESTORE_AUTH_METHOD=api_key
FIRESTORE_API_KEY=your-api-key
FIRESTORE_WEBSITE_URL=https://your-website.com

Quick Start

Firestore Operations

use Firemoo\Firemoo\Facades\Firestore;

// Create collection
$collection = Firestore::createCollection('tasks');

// Create document
$document = Firestore::createDocument($collectionId, [
    'title' => 'Task 1',
    'status' => 'pending'
]);

// Get documents
$documents = Firestore::getDocuments($collectionId, page: 1, limit: 10);

WebSocket Operations

use Firemoo\Firemoo\Facades\WebSocket;

// Connect
$socket = WebSocket::connect(
    apiKey: 'your-api-key',
    websiteUrl: 'https://your-website.com'
);

// Subscribe to channel
WebSocket::subscribe($socket, 'tasks');

// Read messages
while (true) {
    $message = WebSocket::read($socket, timeout: 30);
    if ($message) {
        // Handle message
    }
}

Documentation

Lihat FIREMOO_USAGE.md untuk dokumentasi lengkap.

Requirements

  • PHP >= 8.2
  • Laravel >= 10.0

License

The MIT License (MIT). Please see License File for more information.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support

Jika ada pertanyaan atau issue, silakan buat issue di GitHub repository.