Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/meemalabs/laravel-meema
๐ A blazing-fast Laravel adapter for the official Meema API. An API each Laravel developer will feel welcome to.
https://github.com/meemalabs/laravel-meema
api file-manager image-editing laravel media media-management meema php video-converter video-streaming
Last synced: about 1 month ago
JSON representation
๐ A blazing-fast Laravel adapter for the official Meema API. An API each Laravel developer will feel welcome to.
- Host: GitHub
- URL: https://github.com/meemalabs/laravel-meema
- Owner: meemalabs
- License: mit
- Created: 2020-02-26T05:54:05.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2022-04-27T08:53:09.000Z (over 2 years ago)
- Last Synced: 2024-08-02T05:22:54.358Z (4 months ago)
- Topics: api, file-manager, image-editing, laravel, media, media-management, meema, php, video-converter, video-streaming
- Language: PHP
- Homepage:
- Size: 51.8 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
- awesome-blazingly-fast - laravel-meema - ๐ A blazing-fast Laravel adapter for the official Meema API. An API each Laravel developer will feel welcome to. (PHP)
README
The most simple way to integrate Meema and your Laravel project
Documentation โข
PHP Client โข
Report a bug โข
FAQ โข
Discord## ๐ Features
- Most simple way to implement a fully-functional media management system & more
- Thin, minimal & fast package to interact with Meema's API
- Supports PHP `^7.*`## ๐ก Usage
First, install Meema Laravel Client via the [composer](https://getcomposer.org/) package manager:
```bash
composer require meema/laravel-meema
```Next, you may want to publish the config file with:
```bash
php artisan vendor:publish --provider="Meema\LaravelMeema\Providers\MeemaServiceProvider" --tag="config"
```Now, you can easily interact with your "media items" using the `Media` facade:
```php
use Meema\LaravelMeema\Facades\Media;Media::create('New media name');
Media::get();// specific uuids
Media::get('11a283ed-a64e-424a-aefc-6aa98971d529', '1556fcb8-693e-4431-8b16-3b2b7bb8fcc7');
Media::search('media-name');// this will return a Response instance
$media = Media::find('11a283ed-a64e-424a-aefc-6aa98971d529');// you may chain other methods that require an id
$media->update('updated-media-name')
$media->delete();
$media->archive();
$media->unarchive();
$media->makePrivate();
$media->makePublic();
$media->duplicate();// Relationships with other models.
// Continuing with the chaining methods we used earlier.
$media->folders()->get();
$media->folders()->create('New folder name');
$media->folders()->delete('11a283ed-a64e-424a-aefc-6aa98971d529');
$media->tags()->get();
$media->tags()->associate(['name' => 'Tag Name']);
$media->tags()->disassociate(['name' => 'Tag Name']);
```Using the `Folder` facade:
```php
use Meema\LaravelMeema\Facades\Folder;Folder::create('New folder name');
Folder::get();// specific uuids
Folder::get('11a283ed-a64e-424a-aefc-6aa98971d529', '1556fcb8-693e-4431-8b16-3b2b7bb8fcc7');
Folder::search('folder-name');// this will return a Response instance
$folder = Folder::find('11a283ed-a64e-424a-aefc-6aa98971d529');// you may chain other methods that require an id
$folder->update('updated-folder-name')
$folder->delete();
$folder->archive();
$folder->unarchive();
$folder->duplicate();// Relationships with other models.
// Continuing with the chaining methods we used earlier.
$folder->media()->get();
$folder->tags()->get();
$folder->tags()->associate(['tag_id' => 7]);
$folder->tags()->disassociate(['tag_id' => 7]);
```Using the `Tag` facade:
```php
Tag::get();// specific uuids
Tag::get(1, 2, 3);// this will return a Response instance
$tag = Tag::find(1);// you may chain other methods that require an id
$tag->update('red-500'); // You will have to use tailwind CSS color palettes.
$tag->delete();
$tag->media()->get();
```Using the `Favorite` facade:
```php
Favorite::create(['name' => 'New Favorite Name', 'icon' => 'favorite-icon']);
Favorite::get();// specific uuids
Favorite::get('11a283ed-a64e-424a-aefc-6aa98971d529', '1556fcb8-693e-4431-8b16-3b2b7bb8fcc7');// this will return a Response instance
$favorite = $client->favorites()->find(1);// you may chain other methods that require an id
$favorite->update(['name' => 'Updated Favorite Name', 'icon' => 'updated-favorite-icon']);
$favorite->delete();
```## ๐งช Testing
``` bash
./vendor/bin/pest
```## ๐ Changelog
Please see our [releases](https://github.com/meemalabs/laravel-meema/releases) page for more information on what has changed recently.
## ๐ช๐ผ Contributing
Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.
## ๐ Community
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
[Laravel Meema on GitHub](https://github.com/meemalabs/laravel-meema/discussions)
For casual chit-chat with others using this package:
[Join the Meema Discord Server](https://discord.meema.io)
## ๐จ Security
Please review [our security policy](https://github.com/meemalabs/laravel-meema/security/policy) on how to report security vulnerabilities.
## ๐๐ผ Credits
- [Chris Breuer](https://github.com/Chris1904)
- [All Contributors](../../contributors)## ๐ License
The MIT License (MIT). Please see [LICENSE](LICENSE.md) for more information.