Coder Social home page Coder Social logo

feeds's Introduction

Laravel Feeds

Latest Stable Version SensioLabsInsight License

Total Downloads Monthly Downloads Daily Downloads

A simple Laravel 5/6/7/8/9/10 service provider for including the SimplePie library.

Installation

The Laravel 5/6/7/8/9/10 Feeds Service Provider can be installed via Composer by requiring the willvincent/feeds package in your project's composer.json.

{
    "require": {
        "willvincent/feeds": "2.3.*"
    }
}

Configuration

If you're using Laravel 5.5 or newer you may skip the next step.

To use the Feeds Service Provider, you must register the provider when bootstrapping your Laravel application.

Find the providers key in your config/app.php and register the Service Provider.

    'providers' => [
        // ...
        willvincent\Feeds\FeedsServiceProvider::class,
    ],

Find the aliases key in your config/app.php and register the Facade.

    'aliases' => [
        // ...
        'Feeds'    => willvincent\Feeds\Facades\FeedsFacade::class,
    ],

Usage

Run php artisan vendor:publish --provider="willvincent\Feeds\FeedsServiceProvider" to publish the default config file, edit caching setting withing the resulting config/feeds.php file as desired.

See SimplePie Documentation for full API usage documentation.

The make() accepts 3 paramaters, the first parameter is an array of feed URLs, the second parameter is the max number of items to be returned per feed, and while the third parameter is a boolean which you can set to force to read unless content type not a valid RSS.

$feed = \Feeds::make('http://feed/url/goes/here');
Note: In Laravel 5 and newer, Facades must either be prefixed with a backslash, or brought into scope with a use [facadeName] declaration.

Example controller method, and it's related view:

Controller:

  public function demo() {
    $feed = \Feeds::make('http://blog.case.edu/news/feed.atom');
    $data = array(
      'title'     => $feed->get_title(),
      'permalink' => $feed->get_permalink(),
      'items'     => $feed->get_items(),
    );

    return View::make('feed', $data);
  }

or Force to read unless content type not a valid RSS

  public function demo() {
    $feed = \Feeds::make('http://blog.case.edu/news/feed.atom', true); // if RSS Feed has invalid mime types, force to read
    $data = array(
      'title'     => $feed->get_title(),
      'permalink' => $feed->get_permalink(),
      'items'     => $feed->get_items(),
    );

    return View::make('feed', $data);
  }

Multifeeds example controller method, and it's related view:

Controller:

  public function demo() {
    $feed = \Feeds::make([
        'http://blog.case.edu/news/feed.atom',
        'http://tutorialslodge.com/feed'
    ], 5);
    $data = array(
      'title'     => $feed->get_title(),
      'permalink' => $feed->get_permalink(),
      'items'     => $feed->get_items(),
    );

    return View::make('feed', $data);
  }

or Force to read unless content type not a valid RSS

  public function demo() {
        $feed = \Feeds::make(['http://blog.case.edu/news/feed.atom',
        'http://tutorialslodge.com/feed'
    ], 5, true); // if RSS Feed has invalid mime types, force to read
    $data = array(
      'title'     => $feed->get_title(),
      'permalink' => $feed->get_permalink(),
      'items'     => $feed->get_items(),
    );

    return View::make('feed', $data);
  }

View:

@extends('app')

@section('content')
  <div class="header">
    <h1><a href="{{ $permalink }}">{{ $title }}</a></h1>
  </div>

  @foreach ($items as $item)
    <div class="item">
      <h2><a href="{{ $item->get_permalink() }}">{{ $item->get_title() }}</a></h2>
      <p>{{ $item->get_description() }}</p>
      <p><small>Posted on {{ $item->get_date('j F Y | g:i a') }}</small></p>
    </div>
  @endforeach
@endsection

feeds's People

Contributors

ahmedfawzy avatar ammezie avatar arazprisync avatar art4 avatar arthurkirkosa avatar barisbora avatar blueclock avatar christianesperar avatar daniesy avatar drowningelysium avatar ecodrutz avatar gavro avatar haegemon avatar jonasva avatar koenhoeijmakers avatar laravel-shift avatar matriphe avatar mohamedsabil83 avatar pschaub avatar uitlaber avatar wensonsmith avatar willvincent avatar xvlady avatar yamenarahman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

feeds's Issues

Still an active package?

Will,
I was looking at your package and wanted to try it but wasn't sure if it will remain active. Any insight? Also, I am using Laravel 5.3 with Spark 3.0.

Thank you

Separating Multiple Feeds

So I am attempting to separate the feeds (cnn, yahoo, etc.). I successfully have them separated but once I reach 3 feeds I start getting Undefined variables even though on a var_dump or print_r its showing up correctly.

Example controller

$feed2 = Feeds::make([
'http://feeds.reuters.com/reuters/topNews?format=xml'
],5, true);
$feed3 = Feeds::make([
'http://rss.cnn.com/rss/cnn_us.rss'
],5, true);
$feed4 = Feeds::make([
'http://news.yahoo.com/rss/'
],5, true);

$data2 = array(
'title2' => $feed2->get_title(),
'permalink2' => $feed2->get_permalink(),
'items2' => $feed2->get_items(),
);

$data3 = array(
  'title3' => $feed3->get_title(),
  'permalink3' => $feed3->get_permalink(),
  'items3' => $feed3->get_items(),
);

return View('home.index', $data1, $data2, $data3);

// Blade information

@foreach($items2 as $item) {{ $item->get_title() }}
Posted on {{ $item->get_date('j F Y | g:i a') }}
@Endforeach
@foreach($items3 as $item) {{ $item->get_title() }}
Posted on {{ $item->get_date('j F Y | g:i a') }}
@Endforeach

Unserialized error

I'm experiencing an error on a production server that doesn't appear on local and was previously working on production, but am unsure what changed that caused this error to start appearing.

When running:
$data = Feeds::make($url, $num);
The error is
PHP Notice: unserialize(): Error at offset 32767 of 32768 bytes in /directory/path/simplepie/simplepie/library/SimplePie/Cache/File.php on line 126

This happens no matter what RSS feed is used. Any insight on what could be causing this is appreciated. Thanks

Undefined index: ssl_check.disabled

Encountered this error today after upgrading from 1.1.2 to 1.1.4 when calling FeedsFactory::make();

I can see that 'ssl_check.disabled' => false, exists in feeds.php but it still fails with an undefined index anyway.

Exception trace:

1   Illuminate\Foundation\Bootstrap\HandleExceptions::handleError("Undefined index: ssl_check.disabled", "/vagrant/site/vendor/willvincent/feeds/src/FeedsFactory.php", [])
  /vagrant/site/vendor/willvincent/feeds/src/FeedsFactory.php:75

2   willvincent\Feeds\FeedsFactory::configure()
  /vagrant/site/vendor/willvincent/feeds/src/FeedsFactory.php:30

How get <img> tag in CDATA in description?

Hi,

i'm trying to parse RSS2.0 feed with your package, but I cant get in the description's CDATA.

It goes like this:
<description><![CDATA[<img width="150" height="150" src="http://blog.foodstarz.com/wp-content/uploads/2016/09/RZ_UMSCHLAG_Sweetandsalty_final.jpeg-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="rz_umschlag_sweetandsalty_final-jpeg" style="display: block; margin-bottom: 5px; clear:both;" srcset="http://blog.foodstarz.com/wp-content/uploads/2016/09/RZ_UMSCHLAG_Sweetandsalty_final.jpeg-150x150.jpg 150w, http://blog.foodstarz.com/wp-content/uploads/2016/09/RZ_UMSCHLAG_Sweetandsalty_final.jpeg-235x235.jpg 235w" sizes="(max-width: 150px) 100vw, 150px" />Brinner: the latest food trend Breakfast for night owls and&#8230;]]></description>

How can I get that source?

Cache systems

Hi,
Currently you support caching in the filesystem but it could be great to use the cache used by Laravel (redis, memcache, db, etc.).

The problem is that simplepie->set_cache_location wait for a connection string like redis://127.0.0.1:6379
But I can't find how to get this connection string from the Laravel Cache façade.

Maybe you have an idea ?

Thanks

Recursion detected

Ok so I'm probably just an idiot but for the life of me, I cannot figure out how to make this thing go.

I've tried two different feeds (http://www.playbill.com/rss/news and https://www.broadway.com/feeds/buzz/latest/) but when I do this in my controller with either feed:

$feed = Feeds::make('https://www.broadway.com/feeds/buzz/latest/');

$data = array(
    'title' => $feed->get_title(),
    'permalink' => $feed->get_permalink(),
    'items' => $feed->get_items(),
);
return $data;

I get the error "InvalidArgumentException - Recursion detected"

If I remove this line:
'items' => $feed->get_items(),
it displays the title and permalink just fine.

Right now, I don't want to do anything with the feeds other than confirm they're working and displaying the contents in plaintext; once I know it's actually working, I will work on returning a proper view, etc.

What am I missing here?

get images from feeds

Hi,
Im trying to get an image from news feed writing:
foreach ($feedData->get_items() as $item) {
$content = $item->get_content();
}

But i have a Laravel error saying "Call to undefined method SimplePie::get_content() in ...."
There is no get_content() method?.

Tagging/categorizing individual or groups of feeds

Is there a way to set a tag/category per feed/group of feeds? For example, if I have a two sports related feeds and a weather feed, tag the sports feeds as such and then in the view, echo that custom tag name?

Support for laravel 7

Hello,

Im trying to upgrade one of my applications to Laravel 7, I can't do this because this package doesn't support Laravel 7 yet and my application is dependent on this package.

Will this package support Laravel 7 in the near future?

Class 'simplePie' not found In FeedsFactory.php line 39:

All of a sudden I'm getting this error.
FeedsFactory.php does not have an instantiation of that class with lowercase s.

$ composer dump-autoload

or any other cli command gives the error.

Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1

Limiting Number of Reponses

This is more of a quesiton than an issue, and I apologize if this is the wrong place to post. However, I want to know, if I limit the amount of items to pull from feed--for instnace I limit to five--will it always return the five most recent?

SimplePie support Atom is this also?

I've try to read a XML ATOM for Facebook Catalog and it's not working.

Is there any setting or something?

PRODUCE WITH:

$feed = Feeds::make("https://origincache.facebook.com/developers/resources/?id=dpa_product_catalog_sample_feed_atom.xml");

$items = $feed->get_items();

$data = [];

foreach ($items as $item)
{
	$data[] = [
		"title" => $item->get_title(),
		"desc" => str_limit($item->get_description(), 150),
		"image" => $item->get_thumbnail()['url'],
		"link" => $item->get_permalink(),
	];
}

Result:
array (
0 =>
array (
'title' => NULL,
'desc' => NULL,
'image' => NULL,
'link' => NULL,
),
)

Thanks!

Laravel 5.4 Bug. Call to undefined method Illuminate\Foundation\Application::share()

Steps Reproducing the bug:

  1. Start Fresh Installation Laravel 5.4
  2. Install Package composer require willvincent/feeds
  3. Add Providers to Config/App.php
  4. Run PHP Artisan in console. [ERROR]

Error Message:

[Symfony\Component\Debug\Exception\FatalThrowableError]
Call to undefined method Illuminate\Foundation\Application::share()

What should happened:
php artisan will run normally

TypeError ceil(): Argument #1 ($num) must be of type int|float, string given

Type Error when calling SimplePie_Item::get_permalink()

ceil(): Argument #1 ($num) must be of type int|float, string given

at vendor/simplepie/simplepie/library/SimplePie/Item.php:2871

  
  $type = $this->sanitize($enclosure[0]['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
}
  if (isset($enclosure[0]['attribs']['']['length']))
{
  $length = ceil($enclosure[0]['attribs']['']['length']); **//Here is problem**
}

 // Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
					$this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width));

Occurred when trying to catch Radiolab feed: http://feeds.wnyc.org/radiolab

How to import?

It gives Class 'willvincent\Feeds' not found
error and doesnt work when I try use willvincent\Feeds;

why there's no example how to use it?

set a Proxy

How I can set a proxy? A proxy is easily set in cURL options. Problem is, the files where I changes this are in vendor directory. On release it will be lost. Can you fix this problem?

keep getting error

I keep getting the error below:

Feeds configuration not found. Please run php artisan vendor:publish {"userId":1,"exception":"[object] (RuntimeException(code: 0): Feeds configuration not found. Please run php artisan vendor:publish at xxxxx\vendor\willvincent\feeds\src\FeedsServiceProvider.php:37)

even when I publish the config, I get the same error.

Laravel 6.2.x
PHP 7.4
willvincent/feeds 2.2.*

Can someone please advise?

Convert to JSON Response

Hello, is it possible to return the Feed data as JSON?
Like so?

public function getFeed()
{
    $url = Feeds::make('http://example.com/rss', true);

    $feedData = array(
      'title'     => $url->get_title(),
      'permalink' => $url->get_permalink(),
      'items'     => $url->get_items(),
    );

    return Response::json($feedData)->setCallback(Input::get('callback'));
}

This gives me the error:
The Response content must be a string or object implementing __toString(), "boolean" given.

Laravel package discovery not working.

As the title says, the php artisan package:discover method is not working, this is because the changes to the composer.json in the master branch are not released yet.

Would be nice to see it released as the readme already says it should work, but it doesn't yet :).

No feeds are returned

Hey,

I installed this package without any errors and my application was working fine. Today, I setup my laravel application on another laptop and everything works fine except that no feeds are returned and no errors too :(

I am clueless where to check, as there is nothing in laravel.log nor in my server logs. Any idea, why is it failing and not returning any feeds? Where should I be checking for logs?

I am running the below code and getting no results:

$feed = Feeds::make('http://blog.case.edu/news/feed.atom');
$data = array(
  'title'     => $feed->get_title(),
  'permalink' => $feed->get_permalink(),
  'items'     => $feed->get_items(),
);

print_r($data);

Array
(
    [title] => 
    [permalink] => 
    [items] => Array
        (
        )
)

composer require "simplepie/simplepie ~1.4.1"

Installed Simplepie too, but still not working. :(

Laravel 5.4 - Class 'App\Http\Controllers\Feeds' not found

I put "willvincent/feeds": "dev-master" in composer and followed the rest of the readme.
I then put the following in my PagesController:

$feed  = Feeds::make( 'http://forum.test.dev/forum/4-announcements-information.xml' );
		$announcements = [
			'title'     => $feed->get_title(),
			'permalink' => $feed->get_permalink(),
			'items'     => $feed->get_items(),
		];

		return $announcements;

and I get the following Exception when I try to go to the page:

FatalThrowableError in PagesController.php line 12:
Class 'App\Http\Controllers\Feeds' not found
in PagesController.php line 12
at PagesController->home()
at call_user_func_array(array(object(PagesController), 'home'), array()) in Controller.php line 55
at Controller->callAction('home', array()) in ControllerDispatcher.php line 44
at ControllerDispatcher->dispatch(object(Route), object(PagesController), 'home') in Route.php line 203
at Route->runController() in Route.php line 160
at Route->run() in Router.php line 559
at Router->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 30
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in SubstituteBindings.php line 41
at SubstituteBindings->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in VerifyCsrfToken.php line 65
at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49
at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 64
at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59
at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 102
at Pipeline->then(object(Closure)) in Router.php line 561
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 520
at Router->dispatchToRoute(object(Request)) in Router.php line 498
at Router->dispatch(object(Request)) in Kernel.php line 174
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 30
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in TransformsRequest.php line 30
at TransformsRequest->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in TransformsRequest.php line 30
at TransformsRequest->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ValidatePostSize.php line 27
at ValidatePostSize->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 102
at Pipeline->then(object(Closure)) in Kernel.php line 149
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
at Kernel->handle(object(Request)) in index.php line 53

Update required package version in documentation

The documentation lists "willvincent/feeds": "1.1.*" as a way to install the package for Laravel 5/6/7/8, but only v2 and above works for Laravel 6/7/8. Maybe a good idea to add a compatibility table to clarify, or only mention composer require willvincent/feeds as a way to install.

Below the relevant part of the documentation:

The Laravel 5/6/7/8 Feeds Service Provider can be installed via Composer by requiring the willvincent/feeds package in your project's composer.json.

{
    "require": {
        "willvincent/feeds": "1.1.*"
    }
}

Duplicate header 'Content-Type'

On my local development environment I'm getting a duplicate header error (using MAMP PRO, fcgi mode). I haven't tested this on other environments, so I do not know if this setup is the main culprit...

Is see that in FeedFactory::make() you are calling $this->simplepie->handle_content_type();; when commenting this out everything works fine here. Is there any particular reason you need to use this function? See SimplePie docs concerning this function:

handle_content_type() won't work properly if any content or whitespace has already been sent to the browser, because it relies on PHP's header() function, and these are the circumstances under which the function works.

If you want to use the results in your own blade templates, why would there be any need to let SimplePie determine de content-type? Or am I missing something here?

Thnx! :)

After install not work

When I try to use Feeds I get exception
Class 'willvincent\Feeds\Facades\Feeds' not found

Laravel 5.0.1

updating simple pie useragent

Hi,

I was wondering if there is a way to update simple pie user agent. I was looking into the code and config file but did not see that offered. Is it possible to add a user_agent parameter to the config file?

Error when installing on Laravel 5.8 and PHP 7.2

I've got this error when installing this package on Laravel 5.8

Array to string conversion  
Script @php artisan package:discover --ANSI handling the post-autoload-dump event returned with error code 1```

Looks like this package doesn't compatible with PHP7.2+

update from 1.1.2 to 1.1.3

not sure if it is to do with the problems with packagist today, but i upgraded from 1.1.2 to 1.1.3 and got

Undefined index: ssl_check.disabled
in feedfactory.php

Upgrade to Laravel 6

You can update this package for use on Laravel 6. Congratulations, I like it very much.

Documentation Requires Review

Thanks for the plugin. Im still trying to get it working, some things in the documentation don't work in 5.* or have changed.

return View::make('tickets.bus.index');

There exists a helper-function, view(), which is in the global namespace, and may be used to simplify the syntax:

return view('tickets.bus.index');

You can use compact to add the data to the view

$data = []
return view('tickets.bus.index', compact('data');

Just incase you didnt know 👍

Useragent settings

Hi,

is it possible to set an own Useragent?
$feed = new SimplePie();
$feed->set_useragent('Mozilla/5.0 MYUSERAGENT '. SIMPLEPIE_USERAGENT);

Thank you
Alin

How to get other data values

"xml_lang" => ""
"child" => array:1 [▼
"" => array:8 [▼
"title" => array:1 [▶]
"link" => array:1 [▶]
"description" => array:1 [▶]
"guid" => array:1 [▶]
"creDate" => array:1 [▶]
"pubDate" => array:1 [▶]
"auname" => array:1 [▶]
"uri" => array:1 [▶]
]
]
how do I get uri, and pubDate

Allow config option for set_timeout

I've got a few feeds where the site exposes a lot of feeds and hits the default 10 second timeout. Would it be possible to add a config option to override the default 10 seconds?

Passing in XML as opposed to URL

Hello,

This package seems great but just had a question (or feature if its not available).

Is it possible to pass in an XML string instead of a URL?

The reason I ask is because I wanted to retrieve the XML from multiple feeds myself using Guzzles batching feature (https://guzzle3.readthedocs.io/batching/batching.html) and then pass it in to this package to work with.

Thanks for your help.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.