Coder Social home page Coder Social logo

sylius-docs's Introduction

DEPRECATED

Documentation has been merged into our main repository. Please contribute there. Thank you!

sylius-docs's People

Contributors

adamelso avatar advancingu avatar amenophis avatar arminek avatar arnolanglade avatar cordoval avatar diimpp avatar docteurklein avatar drymek avatar elliot avatar jjanvier avatar jmontoyaa avatar lchrusciel avatar michalmarcinkowski avatar michalpipa avatar noresponsemate avatar ojhaujjwal avatar pamil avatar pborreli avatar pilot avatar pjedrzejewski avatar stloyd avatar tuka217 avatar tvlooy avatar umpirsky avatar unknownmark avatar voslartomas avatar winzou avatar wouterj avatar zales0123 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

Watchers

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

sylius-docs's Issues

Contributing guides

As we can't let Pawel make some charm to devs during Symfony's camp without having some contributing guides, I wanted to share ideas.

3 guides :

  1. coding
  2. documentating
  3. translating

Coding

How ?

  • use the repository Sylius/Sylius
  • want to play with Sylius ? check out our demo site and become a terrible bug hunter
  • want to dive into Sylius ? take one of easy pick issue
  • want to help making Sylius the best OS ecommerce solution ? pick up one of the ìmprovement ticket
  • want to develop a brand new awesome feature ? let's write an RFC first and share opinions with everybody

Coding standards and quality

  • PSR2
  • Sylius heavily relies on phpSpec and Behat : explain briefly what is it and what are the benefits
  • license header
  • naming convention

Before submitting a PR :

  • check the ticket we fix has not been resolved already
  • run the tests locally

When submitting a PR :

  • introduce a PR format ?
  • bring the dev to take an interest to :
    • Travis : explain what briefly what it is and he should check
    • Scrutinizer : explain what briefly what it is and he should check
  • explain that the PR will not be merged if it does not respect Sylius quality commitments

Documenting

How ?

  • use the repository Sylius/Sylius-Docs
  • markup language (exactly the same as Symfony ?)

What ?

  • bundles' documentation to explain a missing feature
  • cookbooks to share an example of bundles integration
  • administrator guides to help store owners in the management of their shop
  • (components documentations if they appear one day)

Translating

How ?

  • Crowdin or not ?
  • should explain the workflow of translations

Of course we will not be able to write something similar to Symfony in the time we have. But I do think that we can begin to have something useful for new arrivals. If you like these ideas, I can start writing these guides, even if my English is far from perfect.

To finish, this could be cool to find nice names for these contribution guides. I don't really know what Sylius means, neither exactly what represents the logo, but something related to this would be interesting IMO.

This was my 2 cents, hope you like it and it will lead to an open discussion, good night :)

Sorting by joined values

Is there a way to do sorting from routing by joined value without having to write a custom method? For example to sort by price (variant.price) ?

Cannot load resource "alias: app.book

I am on Symfony v2.8.0

app/AppKernel.php

new FOS\RestBundle\FOSRestBundle(),
new JMS\SerializerBundle\JMSSerializerBundle($this),
new Sylius\Bundle\ResourceBundle\SyliusResourceBundle(),
new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),
new Bazinga\Bundle\HateoasBundle\BazingaHateoasBundle(),

app/config/config.yml

sylius_resource:
    resources:
        app.book:
            classes:
                model: AppBundle\Entity\Book

app/config/routing.yml

app_book:
    resource: |
        alias: app.book
    type: sylius.resource_api

And then when I do
./bin/console debug:router

I get

[Symfony\Component\Config\Exception\FileLoaderLoadException]  
Cannot load resource "alias: app.book                         
".       

Please note that the exception is a FileLoaderLoadException I'd assume that it hasn't even reached Sylus yet.

Would love to provide a PR if somebody gives me a direction.

Implementation of PromotionBundle is unclear

While implementing the PromotionBundle separately we encounter a couple of problems of which it is unclear how to solve them

  • The PromotionType.actions field does result in an error about the fixed_discount service being missing. Uncommenting the actions field does allow the form to render. Do I first need to implement some actions myself before the form will render? Do we need to override the base Actions in the config?
  • How can we (re)use UX of how Rule and Action collections work the PromotionType? The resource bundle has form-collection.js and the promotion bundle has sylius-promotion.js but that does not seems to work. Should an extra data attribute be added to the type?
->add('rules', 'sylius_promotion_rule_collection', array(
        'label' => 'sylius.form.promotion.rules',
        'button_add_label' => 'sylius.promotion.add_rule',
        'attr' => array(
              'data-form-type' => 'collection',
         )
    ))

Get taxonomy url

Hi,

I would like to generate a custom menu without KnpMenuBundle.

I have all taxonomies

$repository = $this->container->get('sylius.repository.taxonomy');
$taxonomies = $repository->findAll(); // Load all the taxonomies!

But I'm dealing with an issue : don't know how to get url of each taxon and parent url in order to do something like this :

-Parent 1
---- Child 1
---- Child 2

-Parent 2
---- Child 1
---- Child 2

can you help me ?

Installation instruction.

Hi.

In the install instruction for your bundles you suggest something like this.

composer require sylius/order-bundle:*

I think that you should suggest something like this.

composer require sylius/order-bundle: "~0.9"

what do you think? do you want to i send the pull request?

Translations for Resource Bundle

Hi,

When I perform CRUD operations, flashbags are generated with the template "%resource% has been...". How can I configure the resource translated name ? I saw nothing concerning that in bundles/SyliusResourceBundle/configuration.rst

Can`t use math extension

Hello,

I need to use mathamatics in my documentation, therefore i want to use the extension sphinx.ext.imgmath. With sphinx version 1.4.1 it does not work. Same error
https://github.com/Sylius/Sylius-Docs/issues/420

then i decided to downgrade my sphinx version now im using 1.3.6 and sphinx.ext.png
extensions = ['sphinx.ext.autodoc','sphinx.ext.pngmath','rst2pdf.pdfbuilder']

now i can build my project without any errors or warnings, however it still dont work -.-
i try to put in this in my rst-file

`.. math::

1/u + 1/v = 1/F_a`

Is there any other syntax for math in sphinx version 1.3.6 ?

thanks for your help

Search feature

Hi, I'm not sure which bundle to ask this, so I'll ask here. Is there a recommended way to add keyword search of products in? or is this a feature that will be added soon please? Where is the best place to ask generic questions?

Thanks

Can't build documentation with sphinx

~/repositories/Sylius-Docs$ sphinx-build -b html . build
Running Sphinx v1.4a1
making output directory...
WARNING: sphinx.ext.pngmath has been deprecated. Please use sphinx.ext.imgmath instead.

Extension error:
Config value 'math_number_all' already present

Running on ubuntu wily

Api Error 403 Acces denied

i use a local server 192.168.1.168 and i generate secret and client id from git bash and i generate a token and when i try to get the users list o add product from the api i get {"code":403,"message":"Access Denied"}

$ curl --include --request GET 'http://192.168.1.168/app_dev.php/api/users/' --
header 'Authorization: Bearer ZjRjNjFlZjQ0ZWIxODY1OTc1ZDUzYTFkNGE0ZTY5OGZmM2U4Z
WI2ODIzNTIyNWU0NzAyNjMzM2Y2MzI5OTBhYQ'
HTTP/1.1 403 Forbidden
Date: Sun, 07 Jun 2015 01:24:55 GMT
Server: Apache/2.4.7 (Win32) PHP/5.4.24
X-Powered-By: PHP/5.4.24
Set-Cookie: PHPSESSID=k5jr84alke288fnjh2ig878s61; path=/
Cache-Control: no-cache
X-Debug-Token: 10da68
X-Debug-Token-Link: /app_dev.php/_profiler/10da68
Content-Length: 38
Content-Type: application/json

{"code":403,"message":"Access Denied"}

any idea how fix it?
perhubs i made error in the commande line?

Question on object property formats

What's the preferred way to document object properties?

I see lots of different examples:
http://docs.sylius.org/en/latest/book/channels.html Does it by a list. Name of property is in bold followed by an indented description.

http://docs.sylius.org/en/latest/book/products.html does it by a list but with property names in italics and their descriptions on the same line

http://docs.sylius.org/en/latest/book/addresses.html Does it by a bulleted list with no description

http://docs.sylius.org/en/latest/book/orders.html Does it by a table with Attribute and Description columns.

Or is there another way that it could be done. Perhaps automatically by a third party application.

Creating custom CartItem, from which extend

Hi there. I'm reading the docs and following for my project. For creating my custom CartItem entity doc suggest to extend from
use Sylius\Component\Cart\Model\CartItem as BaseCartItem;

After that, in the ItemResolver it calls a setVariant function

$item->setVariant($product);

but there's no setVariant in the CartItem i'm extending.

What i see is i have that function defined at https://github.com/Sylius/Core/blob/master/Model/OrderItem.php#L75, in a model extending the same CartItem i'm trying to extend.

so, to use this setVariant, shouldn't we extend from Sylius\Core\Model\OrderItem? or am i understanding it totally wrong?

Thanks

Sylius : add entity administrator to admin panel

*excuse my english . I have created a new entity and i want to add it's adminisrator to admin panel in admin dashboard i've followed the steps in the sylius docs but no changes :
AppBundle/Resources/config.services.yml:

services: app.admin.menu_builder_listener: class: AppBundle\EventListener\MenuBuilderListener tags: - { name: kernel.event_listener, event: sylius.menu_builder.backend.main, method: addBackendMenuItems } - { name: kernel.event_listener, event: sylius.menu_builder.backend.sidebar, method: addBackendMenuItems }
AppBundle\EventListener\MenuBuilderListener.php :

`<?php

namespace AppBundle\EventListener;

use Sylius\Bundle\UiBundle\Menu\Event\MenuBuilderEvent;
use Sylius\Bundle\WebBundle\Event\MenuBuilderEvent as FrontendMenuBuilderEvent;

class MenuBuilderListener
{
/**
* @param MenuBuilderEvent $event
*/
public function addBackendMenuItems(MenuBuilderEvent $event)
{
$menu = $event->getMenu();

$menu->addChild('backend_main')
    ->setLabel('Test Backend Main');

}

/**

  • @param FrontendMenuBuilderEvent $event
    */
    public function addFrontendMenuItems(FrontendMenuBuilderEvent $event)
    {
    $menu = $event->getMenu();

    $menu->addChild('frontend')
    ->setLabel('Frontend Menu Item');
    }
    }`
    its actually not loading the config.services.yml ! why ?! what can be the problem ! plz help

Enhancement

I think that you should rename the section PHP Ecommerce Components in PHP Components because there is the component Registry witch is not related to ecommerce. You should add locale component too. It is the same the bundle. I will add some label too.

@Sylius/core-team What do you think?

build documentation

Hello, im trying to contribute to this documentation. So my first step was to build it. The readme says, just execute

$ bin/build

but this file doesn't exists. Maybe it was removed before? If yes, then why?

I instead use the sphinx-build command.

$ sphinx-build -b html . build

So the readme should be updated or the bin/build should be created.

Sylius\Component\Promotion\Model\PromotionInterface does not exist

When I try to update schema then I got this error. When I look inside my vendors Sylius folder I did not find any component folder there. It seem that composer did not download this because I searched about this and found that
"This package is abandoned and no longer maintained. No replacement package was suggested"
So how can I use Promotion bundle?

[DOC] Add promotionCoupon to Order through API

PATCH /api/v1/carts/{id}

id - url attribute - id of the cart

Example

$ curl http://demo.sylius.org/api/v1/carts/21 \
    -H "Authorization: Bearer SampleToken" \
    -H "Content-Type: application/json" \
    -X PATCH \
    --data '
        {
            "promotionCoupon": "BANANA"
        }
    '

Exemplary Response

STATUS: 204 No Content

Important note: To be performed after the Addressing step!

Doc translation

Hi,

I would like to translate sylius doc to french.

Are you ok ?
How and where ?

[RFC] Versions in docs?

I was initially going to propose docs for each version of Sylius, like Symfony and Doctrine have.

Instead while Sylius is still in development, adding version note blocks before certain descriptions maybe more clearer.

Examples:

These docs have been written for Version 0.13.

and

In versions before 0.10, The Sylius\Component\Cart\Model\CartItem was previously namespaced as Sylius\Bundle\CartBundle\Model\CartItem.

The benefit of this would be that the breaking changes between development versions would be noted.
Fortunately it's through my understand of the codebase that I've been able to make fixes myself where the docs are out of date.

The disadvantage of this would be that this may cause more confusion rather than less.

Cannot install via composer with Symfony 2.2.*

I have Symfony 2.2.* installed
I am running composer require sylius/resource-bundle:0.2.*
I get the following error

Your requirements could not be resolved to an installable set of packages.

Problem 1
- Installation request for sylius/resource-bundle 0.2.* -> satisfiable by sylius/resource-bundle[0.2.x-dev].
- jms/serializer-bundle 0.11.0 requires jms/serializer 0.11.* -> satisfiable by jms/serializer[0.11.0].
- sylius/resource-bundle 0.2.x-dev requires jms/serializer-bundle 0.11.* -> satisfiable by jms/serializer-bundle[0.11.0].
- Conclusion: remove jms/metadata 1.3.0
- jms/serializer 0.11.0 requires jms/metadata >=1.1.0,<1.3-dev -> satisfiable by jms/metadata[1.1.1, 1.2.0-RC].
- Can only install one of: jms/metadata[1.3.0, 1.1.1].
- Can only install one of: jms/metadata[1.3.0, 1.2.0-RC].
- Installation request for jms/metadata == 1.3.0.0 -> satisfiable by jms/metadata[1.3.0].

Your site is down

I want to demonstrate your platform to my management for future usage on big projects, and your website is down... for a week at least since I found this platform. Too bad. You're losing big name clients. :(

Clarify the overriding guide for bundles

Seems like it is a bit confusing when you should extend Core model vs. Component model. We should clarify that in Bundles General Guide and also add overriding guide for the full platform.

Sylius : Could not load type “app.form.type.slider”

the form type service can't be defined !!!

AppBundle/Resources/config/routing.yml:

app_slider_create: path: /sliders/slider/new methods: [GET, POST] defaults: _controller: app.controller.slider:createAction _sylius: form: app.form.type.slider

AppBundle/Resources/config/services.yml:
app.form.type.slider: class: AppBundle\Form\Type\add_img_sliderType tags: - { name: form.type, alias: app_slider } arguments: [@doctrine, @sylius.context.locale]

Addressing Bundle instruction is obsolete/incomplete?

I've followed those instructions: http://docs.sylius.org/en/latest/bundles/SyliusAddressingBundle/installation.html

And I get an error

PHP Fatal error:  Class 'Sylius\Component\Translation\Model\AbstractTranslatable' not found in /var/www/foo/vendor/sylius/addressing/Model/Country.php on line 24

Perhaps this Bundle/Component has some other dependencies that should have been mentioned?

Full output

# composer install --optimize-autoloader --prefer-dist -vvv
Reading ./composer.json
Loading config file ./composer.json
Executing command (CWD): git describe --exact-match --tags
Executing command (CWD): git branch --no-color --no-abbrev -v
Executing command (CWD): hg branch
Executing command (CWD): svn info --xml
Failed to initialize global composer: Composer could not find the config file: /root/.composer/composer.json
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
Reading ./composer.lock
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Reading ./composer.lock
Analyzed 271 packages to resolve dependencies
Analyzed 819 rules to resolve dependencies
Nothing to install or update
Generating optimized autoload files
> post-install-cmd: Incenteev\ParameterHandler\ScriptHandler::buildParameters
Updating the "app/config/parameters.yml" file
> post-install-cmd: Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap
> post-install-cmd: Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache
PHP Fatal error:  Class 'Sylius\Component\Translation\Model\AbstractTranslatable' not found in /var/www/foo/vendor/sylius/addressing/Model/Country.php on line 24
PHP Stack trace:
PHP   1. {main}() /var/www/foo/app/console:0
PHP   2. Symfony\Component\Console\Application->run() /var/www/foo/app/console:27
PHP   3. Symfony\Bundle\FrameworkBundle\Console\Application->doRun() /var/www/foo/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:126
PHP   4. Symfony\Component\HttpKernel\Kernel->boot() /var/www/foo/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:70
PHP   5. Symfony\Component\HttpKernel\Kernel->initializeContainer() /var/www/foo/app/bootstrap.php.cache:2396
PHP   6. Symfony\Component\DependencyInjection\ContainerBuilder->compile() /var/www/foo/app/bootstrap.php.cache:2618
PHP   7. Symfony\Component\DependencyInjection\Compiler\Compiler->compile() /var/www/foo/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ContainerBuilder.php:614
PHP   8. Symfony\Component\HttpKernel\DependencyInjection\MergeExtensionConfigurationPass->process() /var/www/foo/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/Compiler.php:117
PHP   9. Symfony\Component\DependencyInjection\Compiler\MergeExtensionConfigurationPass->process() /var/www/foo/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/DependencyInjection/MergeExtensionConfigurationPass.php:39
PHP  10. Sylius\Bundle\AddressingBundle\DependencyInjection\SyliusAddressingExtension->load() /var/www/foo/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php:55
PHP  11. Sylius\Bundle\ResourceBundle\DependencyInjection\AbstractResourceExtension->configure() /var/www/foo/vendor/sylius/addressing-bundle/DependencyInjection/SyliusAddressingExtension.php:36
PHP  12. Sylius\Bundle\ResourceBundle\DependencyInjection\AbstractResourceExtension->loadDatabaseDriver() /var/www/foo/vendor/sylius/resource-bundle/DependencyInjection/AbstractResourceExtension.php:102
PHP  13. Sylius\Bundle\ResourceBundle\DependencyInjection\Driver\AbstractDatabaseDriver->load() /var/www/foo/vendor/sylius/resource-bundle/DependencyInjection/AbstractResourceExtension.php:272
PHP  14. Sylius\Bundle\ResourceBundle\DependencyInjection\Driver\DoctrineORMDriver->getRepositoryDefinition() /var/www/foo/vendor/sylius/resource-bundle/DependencyInjection/Driver/AbstractDatabaseDriver.php:68
PHP  15. ReflectionClass->__construct() /var/www/foo/vendor/sylius/resource-bundle/DependencyInjection/Driver/DoctrineORMDriver.php:38
PHP  16. spl_autoload_call() /var/www/foo/vendor/sylius/resource-bundle/DependencyInjection/Driver/DoctrineORMDriver.php:38
PHP  17. Hoa\Core\Consistency\Consistency::autoload() /var/www/foo/vendor/sylius/resource-bundle/DependencyInjection/Driver/DoctrineORMDriver.php:0
PHP  18. Hoa\Core\Consistency\Consistency->_import() /var/www/foo/vendor/hoa/core/Consistency.php:329
PHP  19. spl_autoload_call() /var/www/foo/vendor/hoa/core/Consistency.php:285
PHP  20. Symfony\Component\Debug\DebugClassLoader->loadClass() /var/www/foo/vendor/hoa/core/Consistency.php:285
PHP  21. require() /var/www/foo/vendor/symfony/symfony/src/Symfony/Component/Debug/DebugClassLoader.php:153
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-install-cmd event terminated with an exception



  [RuntimeException]                                                         
  An error occurred when executing the "'cache:clear --no-warmup'" command.  



Exception trace:
 () at /var/www/foo/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Composer/ScriptHandler.php:327
 Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::executeCommand() at /var/www/foo/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Composer/ScriptHandler.php:138
 Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:211
 Composer\EventDispatcher\EventDispatcher->executeEventPhpScript() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:167
 Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:92
 Composer\EventDispatcher\EventDispatcher->dispatchScript() at phar:///usr/local/bin/composer/src/Composer/Installer.php:342
 Composer\Installer->run() at phar:///usr/local/bin/composer/src/Composer/Command/InstallCommand.php:131
 Composer\Command\InstallCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:257
 Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:874
 Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:195
 Symfony\Component\Console\Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:146
 Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:126
 Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:82
 Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:43
 require() at /usr/local/bin/composer:25


install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [--ignore-platform-reqs] [packages1] ... [packagesN]

Showing the last modified date on the docs

Obviously there are a lot of pages and parts of the Sylius system that needs to be documented. One of the things that catches me is that something may not be current anymore - this would be handy if I knew when that page was last updated.

Is this possible to add, and what can I do to make this happen?

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.