Simple PHP package to get any Facebook Page posts

Overview

Get Facebook Page Feed

Build Status Coverage Packagist

It is simple wrapper class written in php to fetch posts from certain Facebook page.

Currently I am using Facebook graph API with cool guzzle and dotenv

Tested in PHP 7.0, 7.1, 7.4, 8.0

Requirement

  • PHP 7.0+

Installation

Step 1: Getting Facebook App

  • Go to Facebook developer website
  • Click "Add a New App" and fill in details
  • On your Dashboard, get the "App ID" and "App Secret"
  • Yeah, you are ready to code

Step 2: Install from composer

composer require xmhafiz/fb-page-feed

Alternatively, you can specify as a dependency in your project's existing composer.json file

{
   "require": {
      "xmhafiz/fb-page-feed": "^1.2"
   }
}

Usage

After installing, you need to require Composer's autoloader and add your code.

$data = fb_feed()->setAppId($fbAppId)
        ->setSecretKey($fbSecretKey)
        ->setPage($fbPageName)
        ->fetch();

$data = fb_feed()->fetch(); // must have .env

$config = [
    'secret_key' => '',
    'app_id' => '',
    'page_name' => '',
    'access_token' => '',
];
$data = fb_feed($config)->fetch();
$data = FbFeed::make($config)->fetch();

Default (maximum post is 100)

$data = fb_feed()->setAppId($fbAppId)
        ->setSecretKey($fbSecretKey)
        ->setPage($fbPageName)
        ->fetch();

Set Module

$data = fb_feed()->setAppId($fbAppId)
        ->setSecretKey($fbSecretKey)
        ->setPage($fbPageName)
        ->setModule("feeds")
        ->fetch();

Custom Maximum Post Shown

// only show 5 post maximum
$data = fb_feed()->setAppId($fbAppId)
        ->setSecretKey($fbSecretKey)
        ->setPage($fbPageName)
        ->feedLimit(5)
        ->fetch();

Filter By Keyword

// only show 5 post maximum
$data = fb_feed()->setAppId($fbAppId)
        ->setSecretKey($fbSecretKey)
        ->setPage($fbPageName)
        ->findKeyword("#LaravelCommunity")
        ->fetch();

Change Request Field

// only show 5 post maximum
$data = fb_feed()->setAppId($fbAppId)
        ->setSecretKey($fbSecretKey)
        ->setPage($fbPageName)
        ->fields("id,message") //default 'id,message,created_time' 
        ->fields(["id","message"]) // can be array
        ->fetch();

To get owner's fb page feed using userAccessToken

Details to get userAccessToken can refer here.

$data = fb_feed()
        ->setAccessToken($userAccessToken)
        ->setPage($fbPageName)
        ->fetch();

Code Example

Change the $fbSecretKey and $fbAppId based on the "App ID" and "App Secret" in Step 1

<?php

require_once 'vendor/autoload.php';

$fbSecretKey='580c7...';
$fbAppId='237...';
$fbPageName='LaravelCommunity';

$response = fb_feed()->setAppId($fbAppId)->setSecretKey($fbSecretKey)->setPage($fbPageName)->findKeyword("#tutorial")->fetch();

//or

$response = fb_feed()->setCredential($fbAppId, $fbSecretKey)->setPage($fbPageName)->findKeyword("#tutorial")->fetch();

header('Content-type: application/json');
echo json_encode($data);

Using ENV

FB_SECRET_KEY=absbo123o233213
FB_APP_ID=123123123123
FB_PAGENAME=pagename

Then, Just

$response = fb_feed()->findKeyword("#AirSelangor")->fetch();

Method

Method Param Description
setAppId String FB Application ID (Default is in .env)
setSecretKey String FB Application Secret ID (Default is in .env)
setCredential String, String Set Both Secret and App Id (Default is in .env)
fields String List of Attributes (Default : id,message,created_time,from,permalink_url,full_picture)
setPage String Set Page Name (Default is in .env)
findKeyword String | Array Filter String by certain Keywords
feedLimit Integer Set result count limit

Result

You should getting data similarly like below:

{
    "error": false,
    "status_code": 200,
    "data": [
        {
            "id": "365155643537871_1321961834523909",
            "message": "The APPDATA or COMPOSER_HOME environment variable must be set for composer to run correctly\"\nwhat bug?",
            "created_time": "2017-05-14T15:45:30+0000",
            "from": {
                "name": "Phạm Nam",
                "id": "424522607913714"
            },
            "permalink_url": "https://www.facebook.com/LaravelCommunity/posts/1321961834523909"
        },
        {
            "id": "365155643537871_1766722286972894",
            "message": "https://www.youtube.com/channel/UCQ6fynaWa81JqPzOBMmBTSw\nLaravel BAsic To Advance LEarning Step by STep",
            "created_time": "2017-05-13T07:18:53+0000",
            "from": {
                "name": "Wasiim Khan",
                "id": "1766622610316195"
            },
            "permalink_url": "https://www.facebook.com/photo.php?fbid=1766722286972894&set=o.365155643537871&type=3",
            "full_picture": "https://scontent.xx.fbcdn.net/v/t1.0-9/18403359_1766722286972894_2242179936023685636_n.jpg?oh=679c3e230ef55759ebe0e42239318e27&oe=597B1F7D"
        },
        {
            "id": "365155643537871_1320698884650204",
            "message": "ai cho em hou noi nay bi sao vay.\nIntegrity constraint violation: 1048 Column 'order' cannot be null",
            "created_time": "2017-05-13T05:05:27+0000",
            "from": {
                "name": "Trong Phạm Sr.",
                "id": "891899864284241"
            },
            "permalink_url": "https://www.facebook.com/LaravelCommunity/posts/1320698884650204"
        }
    ]
}

Notes

To use 'Page Public Content Access', your use of this endpoint must be reviewed and approved by Facebook. To submit this 'Page Public Content Access' feature for review please read our documentation on reviewable features: https://developers.facebook.com/docs/apps/review.

To use with dotenv

  • Look at example code
  • copy the env.example file to .env and make sure fill all the required environment variable (FB_SECRET_KEY, FB_APP_ID, FB_PAGENAME)

License

Licensed under the MIT license

Comments
  • upgrade to guzzle v7+

    upgrade to guzzle v7+

    when guzzle v7+ is in composer

    - xmhafiz/fb-page-feed 1.1.4 requires guzzlehttp/guzzle ~6.0 -> satisfiable by guzzlehttp/guzzle[6.0.0, 6.0.1, 6.0.2, 6.1.0, 6.1.1, 6.2.0, 6.2.1, 6.2.2, 6.2.3, 6.3.0, 6.3.1, 6.3.2, 6.3.3, 6.4.0, 6.4.1, 6.5.0, 6.5.1, 6.5.2, 6.5.3, 6.5.4, 6.5.5, 6.5.x-dev] but these conflict with your requirements or minimum-stability.
        - Installation request for xmhafiz/fb-page-feed ^1.1.4 -> satisfiable by xmhafiz/fb-page-feed[1.1.4].
    
    opened by nekromoff 3
  • Fatal error: Uncaught Error: Call to undefined function fb_feed()

    Fatal error: Uncaught Error: Call to undefined function fb_feed()

    Hi there, I did everything as it was in tutorial, but it does not work at all :/. For more information, see my screenshot or https://beta.runwaycamp.cz/assets/test.php . snimek z 2018-02-10 23-01-04

    opened by osimer 3
  • Add setLocale

    Add setLocale

    I post in multiple idioms on my page so I need to be able to select the language when requesting the feed. I updated my version of your package locally but it would be nice if you could add it to the base code. Here are the changes :)

    line 17 private $locale = null;

    line 80

        /**
         * @param $locale
         * @return $this
         */
        function setLocale($locale) {
            $this->locale = $locale;
            return $this;
        }
    

    line 142

                if ($this->locale) {
                    $query['query']['locale'] = $this->locale;
                }
    
    enhancement 
    opened by fiote 2
  • Bump guzzlehttp/guzzle from 7.3.0 to 7.4.3

    Bump guzzlehttp/guzzle from 7.3.0 to 7.4.3

    Bumps guzzlehttp/guzzle from 7.3.0 to 7.4.3.

    Release notes

    Sourced from guzzlehttp/guzzle's releases.

    Release 7.4.3

    See change log for changes.

    Release 7.4.2

    See change log for changes.

    Release 7.4.1

    See change log for changes.

    Release 7.4.0

    See change log for changes.

    Changelog

    Sourced from guzzlehttp/guzzle's changelog.

    7.4.3 - 2022-05-25

    • Fix cross-domain cookie leakage

    7.4.2 - 2022-03-20

    Fixed

    • Remove curl auth on cross-domain redirects to align with the Authorization HTTP header
    • Reject non-HTTP schemes in StreamHandler
    • Set a default ssl.peer_name context in StreamHandler to allow force_ip_resolve

    7.4.1 - 2021-12-06

    Changed

    • Replaced implicit URI to string coercion #2946
    • Allow symfony/deprecation-contracts version 3 #2961

    Fixed

    • Only close curl handle if it's done #2950

    7.4.0 - 2021-10-18

    Added

    Fixed

    • Make sure we always call restore_error_handler() #2915
    • Fix progress parameter type compatibility between the cURL and stream handlers #2936
    • Throw InvalidArgumentException when an incorrect headers array is provided #2916, #2942

    Changed

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump guzzlehttp/psr7 from 2.1.0 to 2.2.1

    Bump guzzlehttp/psr7 from 2.1.0 to 2.2.1

    Bumps guzzlehttp/psr7 from 2.1.0 to 2.2.1.

    Release notes

    Sourced from guzzlehttp/psr7's releases.

    2.2.1

    See change log for changes.

    2.2.0

    See change log for changes.

    2.1.2

    See change log for changes.

    2.1.1

    See change log for changes.

    Changelog

    Sourced from guzzlehttp/psr7's changelog.

    2.2.1 - 2022-03-20

    Fixed

    • Correct header value validation

    2.2.0 - 2022-03-20

    Added

    • A more compressive list of mime types
    • Add JsonSerializable to Uri
    • Missing return types

    Fixed

    • Bug MultipartStream no uri metadata
    • Bug MultipartStream with filename for data:// streams
    • Fixed new line handling in MultipartStream
    • Reduced RAM usage when copying streams
    • Updated parsing in Header::normalize()

    2.1.1 - 2022-03-20

    Fixed

    • Validate header values properly
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • "An access token is required to request this resource."

    Hi,

    Should the API request work without manually setting an access token?

    $config = [
      'secret_key' => '0101010101',
      'app_id' => '0101010101',
      'page_name' => 'mypage'
      'access_token' => '',
    ];
    $data = FbFeed::make($config)->fetch();
    var_dump($data);
    

    Because, when leaving the access token empty(or commented out) I get:

    "An access token is required to request this resource."

    I think something goes wrong here, this returns false instead of the merged app_id with secret_key.

    opened by huubl 1
  •  Call to undefined method Xmhafiz\FbFeed\FbFeed::setAccessToken()

    Call to undefined method Xmhafiz\FbFeed\FbFeed::setAccessToken()

    This is from the example:

    $data = fb_feed() ->setAccessToken($accessToken) ->setPage($fbPageName) ->fetch();

    However, I can't find the function in the code

    opened by emerika 1
  • Added possibility to use Page Access Token

    Added possibility to use Page Access Token

    Code didn't work for me in the case getting the latest posts from my own Facebook page. Found out that i had to review my app (public content access or manage pages permissions), but there seems to be a much easier and quicker way to get this working:

    https://sujipthapa.co/blog/generating-never-expiring-facebook-page-access-token

    To use this i had to set the (page) access token directly. Modified the code to allow this optionally (and omnit app ID and secret key if the access token is set).

    Again, this is only working for pages that are owned by the user/developer account. Furthermore i'm not sure, if that works on other (not owned) pages anymore as Facebook is very strict in the review process (had two failed attempts so far).

    opened by sascha53 1
  • Endpoint must be reviewed and approved

    Endpoint must be reviewed and approved

    Hello Im getting the following msg: To use 'Page Public Content Access', your use of this endpoint must be reviewed and approved.

    i guess it will never work if your app isn't reviewed and approved by facebook, is that true ?

    is there any kind of solution to bypass this issue.

    Thank you for sharing

    opened by ayoub-bousetta 1
  • Revamp certain method

    Revamp certain method

    • method chaining
    • can set limit
    • can set keyword
    • can set fields
    • can set page name
    • add helper

    example : $response = fb_feed()->setAppId($fbAppId)->setSecretKey($fbSecretKey)->setPage($fbPageName)->findKeyword("#JomPAY")->fetch();

    opened by afiqiqmal 1
  • Bump guzzlehttp/guzzle from 7.3.0 to 7.4.4

    Bump guzzlehttp/guzzle from 7.3.0 to 7.4.4

    Bumps guzzlehttp/guzzle from 7.3.0 to 7.4.4.

    Release notes

    Sourced from guzzlehttp/guzzle's releases.

    Release 7.4.4

    See change log for changes.

    Release 7.4.3

    See change log for changes.

    Release 7.4.2

    See change log for changes.

    Release 7.4.1

    See change log for changes.

    Release 7.4.0

    See change log for changes.

    Changelog

    Sourced from guzzlehttp/guzzle's changelog.

    7.4.4 - 2022-06-09

    • Fix failure to strip Authorization header on HTTP downgrade
    • Fix failure to strip the Cookie header on change in host or HTTP downgrade

    7.4.3 - 2022-05-25

    • Fix cross-domain cookie leakage

    7.4.2 - 2022-03-20

    Fixed

    • Remove curl auth on cross-domain redirects to align with the Authorization HTTP header
    • Reject non-HTTP schemes in StreamHandler
    • Set a default ssl.peer_name context in StreamHandler to allow force_ip_resolve

    7.4.1 - 2021-12-06

    Changed

    • Replaced implicit URI to string coercion #2946
    • Allow symfony/deprecation-contracts version 3 #2961

    Fixed

    • Only close curl handle if it's done #2950

    7.4.0 - 2021-10-18

    Added

    Fixed

    • Make sure we always call restore_error_handler() #2915
    • Fix progress parameter type compatibility between the cURL and stream handlers #2936
    • Throw InvalidArgumentException when an incorrect headers array is provided #2916, #2942

    Changed

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5

    Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5

    Bumps guzzlehttp/guzzle from 7.4.4 to 7.4.5.

    Release notes

    Sourced from guzzlehttp/guzzle's releases.

    Release 7.4.5

    See change log for changes.

    Changelog

    Sourced from guzzlehttp/guzzle's changelog.

    7.4.5 - 2022-06-20

    • Fix change in port should be considered a change in origin
    • Fix CURLOPT_HTTPAUTH option not cleared on change of origin
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Releases(1.2)
Owner
Mohd Hafiz
Code lover | iOS Developer | Swift | Writer
Mohd Hafiz
Blogs System(Posts ,Comment and Notification)

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

null 1 Oct 24, 2021
Self-hosted platform to keep and share your content: web links, posts, passwords and pictures.

Shaark is a self-hosted platform to keep and share your content: web links, posts, passwords and pictures. All of your data can be private, public or

MarceauKa 482 Dec 30, 2022
A Simple Facebook Video Downloader using PHP.

Facebook Video Downloader A simple Facebook Video Downloader using PHP. Feature Download Public Video Download Private Video All Quality How to use Co

Tran Viet Hoang 2 Sep 5, 2022
Online All in One PHP Video & Audio Downloader From YouTube,Facebook,Twitter,Pinterest,Instagram,MXtakatak,IPL, Tiktok and 1000+ More Sites too

DLhut Contact me If You Find ANy Bug ... PHP Search and Download any Videos from any site. Online All in One Video & Audio Downloader From YouTube,Fac

Vijay Kumar 4 Nov 8, 2021
Online All in One Video & Audio Downloader From YouTube,Facebook,Twitter,Pinterest,Instagram,MXtakatak,IPL, Tiktok and 1000+ More Sites too

DLhut Contact me If You Find ANy Bug ... PHP Search and Download any Videos from any site. Online All in One Video & Audio Downloader From YouTube,Fac

Vijay Kumar 6 Oct 11, 2021
Facebook & Instagram Ads API for Laravel

Laravel Facebook Ads Get ads infos (campaigns, ads, insights, etc...) from Facebook & Instagram Ads API Supported Facebook API version: >= v3.0 Instal

Eduardo Bizarro 108 Dec 5, 2022
Package to get a free id (for example: in XML)

Get Free ID Description Package to get a free id (for example: in XML) Requirements PHP >= 7.3 Installation composer require vitkuz573/get-free-id Usa

Vitaly Kuzyaev 0 Dec 19, 2022
📥 A simple web page to download addons through the GmodStore API.

?? GmodStore Downloader In French Ce petit site Internet permet le téléchargement d'addons en provenance du GmodStore sans passer le site en ligne mai

Florian Trayon 3 Nov 2, 2022
📛 An open source status page system for everyone.

Cachet is a beautiful and powerful open source status page system. Overview List your service components Report incidents Customise the look of your s

Cachet 13k Jan 3, 2023
Add instagram feed to page from JSON Data

Custom Instagram Feed Add instagram feed to page from URL ?? Edit - As of 13th April 2021 - This code does not work. Solution is being looked into, ho

tdrayson 21 Aug 29, 2022
Single Page Chat Application

About A single page chat application developed in PHP OOP, Mysql and AJAX. Users email (password) [email protected] (abrazzaq) [email protected] (john)

Abdul Razzaq 1 Oct 15, 2021
Laravue - a sensible starting point for single-page apps

Laravue - a sensible starting point for single-page apps Note: The vast majority of the functionality of this project has essentially been added into

null 222 Oct 7, 2021
Cachet is a beautiful and powerful open source status page system.

Cachet is a beautiful and powerful open source status page system. Overview List your service components Report incidents Customise the look of your s

Cachet 12.5k Dec 5, 2021
Create and Control Page Redirects through Filament

Create and Control Page Redirects through Filament A Filament resource to create and maintain page redirects for your website. Installation You can in

James Harley 7 Nov 4, 2022
This is my final project to get bachelor degree

credit-union ini adalah projek tugas akhir yang saya buat menggunakan bahasa programming PHP (native), pada aplikasi ini dibuat dengan tujuan mempermu

Fauzan Ahmad 1 Oct 26, 2021
Schedule your OLX searches and get notified by email when something new is published 📆

Olx.ba search scheduler Missing scheduler for Olx.ba searches. Production-ready small web application which notifies you by email when something new i

Benjamin Fajić 8 Nov 8, 2022
GET API Covid-19 Indonesia

About APP Covid-19 GET API Indonesia,dibuat dengan Laravel Framework,silahkan di clone dan di kembangkan sesuka hati. Menampilkan total data positif C

M.Agung 3 Aug 31, 2022
Automatic SASS-to-CSS compiling for Laravel 4 (and any other framework too), config-free, in pure PHP, works with latest SASS 3.2 .scss syntax, imports and mixins

laravel-sass Automatic Sass-to-CSS compiling for Laravel 4 (and any other framework by the way) while being in development. Every time you run your ap

Chris 71 Nov 29, 2022
Translate laravel resource, vendor, folder or file from google translation without requiring any api information

⚡ ⚡ ⚡ Laravel Go Translate Translate laravel resource, vendor, folder or file from google translation without requiring any api information. Table of

CodeBugLab 37 Jun 18, 2022