Git Product home page Git Product logo

vikash-8090-yadav / solidity-pathshala Goto Github PK

View Code? Open in Web Editor NEW
42.0 2.0 55.0 2.24 MB

One place for the smart contract developer. This repo will have all the smart contract written in the remix ide .It contains all the source code with the screen shot.

License: MIT License

Solidity 99.27% JavaScript 0.73%
remix-ide smartcontract solidity collaborate github hacktoberfest open-source

solidity-pathshala's Introduction

Open in Gitpod

Solidity-Pathshala



Open Source Love svg1 PRs Welcome Visitors GitHub forks GitHub Repo stars GitHub contributors GitHub last commit

GitHub repo size

Github GitHub issues GitHub closed issues GitHub pull requests GitHub closed pull requests

๐Ÿ“Œ Open Source Program

This project is a part of following Open Source Programs

Hack

ย  ย  ย 

About Solidity-Pathshala

The one place for smart contract developers to showcase their ideas and code. This repo will have all the smart contract written in the remix IDE. It contains all the source code with the screen shot.

How to Contribute?

  • Take a look at the existing Issues or create a new issue!
  • Fork the Repo, create a branch for any issue that you are working on and commit your work.
  • Create a Pull Request (PR), which will be promptly reviewed and given suggestions for improvements by the community.
  • Add screenshots or screen captures to your Pull Request to help us understand the effects of the changes that are included in your commits.

How to make a Pull Request?

1. Start by making a fork the Solidity-pathshala repository. Click on the symbol at the top right corner.

2. Clone your new fork of the repository:

git clone https://github.com/<your-github-username>/Solidity-Pathshala

3. Navigate to the new project directory:

cd Solidity-Pathshala

4. Set upstream command:

git remote add upstream https://github.com/Vikash-8090-Yadav/Solidity-Pathshala.git

5. Create a new branch:

git checkout -b YourBranchName

6. Sync your fork or local repository with the origin repository:

  • In your forked repository click on "Fetch upstream"
  • Click "Fetch and merge".

Alternatively, Git CLI way to Sync forked repository with origin repository:

git fetch upstream
git merge upstream/main

Github Docs for Syncing

7. Make your changes to the source code.

8. Stage your changes and commit:

โš ๏ธ Make sure not to commit package.json or package-lock.json file

โš ๏ธ Make sure not to run the commands git add . or git add *. Instead, stage your changes for each file/folder

git add file/folder
git commit -m "<your_commit_message>"

9. Push your local commits to the remote repository:

git push origin YourBranchName

10. Create a Pull Request!

11. Congratulations! You've made your first contribution! ๐Ÿ™Œ๐Ÿผ


How to Setup Locally

1. Follow the PR STEPS , after cloning repo in your local system

2. You can copy and pate the code in the Remix ide https://remix.ethereum.org/

3. If u don't know how to use the remix check this , How to use Remix Ide

4. Congratulations ๐Ÿ™Œ๐Ÿผ , You have setup the Solidity programme in your PC ,It's time to check the code and Raise a PR

Project Admin


Vikash Kumar Yadav

Project Contributors

Show some โค๏ธย  by giving to this repo

solidity-pathshala's People

Contributors

0xscratch avatar anishaga avatar anmolsirola avatar apoorva1823000 avatar ashishkumar2411 avatar ayushpathak3011 avatar devswayam avatar envoy-vc avatar harshit-raj-14 avatar kamalbuilds avatar kaushan-dutta avatar khushimarothi avatar kunal232i avatar nirban256 avatar omega12pirme avatar prakhar3062 avatar riddhiraj avatar sadashaykanungo avatar saikishore222 avatar sanitya7 avatar shobhit9070 avatar siddharthamadhav avatar source-404 avatar surjyaneeh avatar suyashmadhesia avatar syashu16 avatar tripathishyaamal avatar vikash-8090-yadav avatar vryan-06 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

Watchers

 avatar  avatar

solidity-pathshala's Issues

Create P.R template

Greetings of the day folks !!
If anyone want's to create the issue template then feel free to comment
The template should look like this shown below

Screenshot from 2022-07-25 18-06-45

A smart contract about Inheritance

Project title

Inheritance

Project Description

I want to write a smart contract which tells the use of inheritance and also explaining inheritance in general.

Domain

  • Solidity

Are you contributing under any open-source program ?

SSOC


If-Else Based basic Programs

Project title

If-Else Programs

Project Description

This file consists of basic program constructed by using conditional statements

  • Check Odd-Even
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

contract check_even
{
    function even_odd( uint _num) public pure returns ( int )
    {
        if ( _num % 2 == 0 ){
            return 1;
        } else {
            return 0;
        }
    }
}
  • Max of Two Integers
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

contract greattwoCheck
{
    function checkBig( uint _x, uint _y) public pure returns ( uint )
    {
        if ( _x > _y ){
            return _x;
        } else if ( _x == _y ){
            return 0;
        } else {
            return _y;
        }
    }
}
  • Min of Two Integers
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

contract getMIN
{
    function get_min( uint _x, uint _y) public pure returns ( uint )
    {
        if ( _x > _y )
        {
            return _y;
        }
        else if ( _x < _y )
        {
            return _x;
        }
        else 
        {
            return 0;
        }
    }
}
  • Which Quadrant it is ?
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

contract whichQuadrant
{
    function quad( int _x, int _y) public pure returns ( int )
    {
        if ( _x > 0 ){
            if ( _y > 0 ){
                return 1;
            }
            else {
                return 4;
            }
        }
        if ( _x < 0 ){
            if ( _y > 0 ){
                return 3;
            }
            else {
                return 2;
            }
        }
    }
}
  • Min 10
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

contract moreThan10
{
    function getNum( int _num) public pure returns ( int )
    {
        if ( _num > 10 ){
            return 1 ;
        } else {
            return 0; 
        }
    }
}
  • Age Valid for voting or not ?
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

contract VotingAgeLimit{
    uint public Age ;
    bool public Valid ;
    //function for checking the age 
    function Check_Age_Limit( uint _x ) public payable returns( bool ){
        Age = _x ;
        if (Age >= 18){
            Valid = true ;
            return Valid; 
        } else {
            Valid = false ;
            return Valid ;
        }
    }
}
  • Grade For Students
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

contract ScoreCard{
    uint public percentage ;
    string public grade ;
    //Function for checking the grade at the percentage 
    function giveGrades( uint _percent ) public payable returns( string memory ){
        string memory gradeA = 'A';
        string memory gradeB = 'B';
        string memory gradeC = 'C';
        string memory gradeD = 'D';
        string memory gradeE = 'E';
        percentage = _percent ;
        if (percentage >= 90 ){
            grade = gradeA ;
            return grade ;
        } else if ( percentage >= 80 ){
            grade = gradeB;
            return grade ;
        } else if ( percentage >= 70 ){
            grade = gradeC ;
            return grade ;
        } else if ( percentage >= 60 ){
            grade = gradeD;
            return grade ;
        } else {
            grade = gradeE ;
            return grade ;
        }
    }
}
  • Bonus For Employee Based on Years they have served in the company
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

contract GiveTimeBonus{
    uint public time ;
    string public Bonus ;
    //Function for time worked by Employee 
    function GetTime( uint _yearsWorked ) public {
        time = _yearsWorked;
    }
    //Function for Deciding Bonus 
    //Basic salary for worker -> 10,000
    function DecideBonus() public payable returns( string memory ){
        string memory percent10 = "10%";
        string memory percent5 = "5%";
        string memory percent8 = "8%";
        if ( time > 10 ){
            Bonus = percent10 ; 
            return Bonus ;
        } else if ( time < 6 ){
            Bonus = percent5 ; 
            return Bonus ; 
        } else if ( time > 6 ){
            if ( time < 10 ){
                Bonus = percent8 ; 
                return Bonus ; 
            }
        }
    }
}
  • Discount on Marked Price in a Shopping Complex
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

contract DiscountedPrice{
    uint public markedPrice ;
    string public Discount ; 
    //Function for getting the marked price of the good
    function getMarkedPrice( uint _price ) public {
        markedPrice = _price ; 
    } 
    //Function for deciding the Discount 
    function decideDiscount( ) public payable returns( string memory ){
        string memory dis20 = "20%";
        string memory dis10 = "10%";
        string memory dis5 = "5%";
        if (markedPrice > 10000) {
            Discount = dis20 ; 
            return Discount ; 
        } else if ( markedPrice < 5000 ){
            Discount = dis5 ;
            return Discount ;
        } else if ( markedPrice > 5000 ){
            if ( markedPrice < 10000 ){
                Discount = dis10 ; 
                return Discount ;
            }
        }
    }
}

-Check the Triangle


// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

contract CheckTriangle{
    uint public sideA ;
    uint public sideB ;
    uint public sideC ;
    //Function for getting the sides by User 
    function getsideA( uint _a ) public {
        sideA = _a ; 
    }

    function getsideB( uint _b ) public {
        sideB = _b ;
    }

    function getsideC( uint _c ) public {
        sideC = _c ; 
    }

    function checktri() public view returns ( string memory ){
        string memory equitri = "Equilateral Triangle";
        string memory isotri = "Isoseles Triangle";
        string memory scatri = "Scalene Triangle";
        if ( sideA == sideB ){
            if ( sideB == sideC ){
                return equitri ;
            } else {
                return isotri ;
            }
        } else {
            if ( sideA == sideC ){
                return isotri ;
            } else if ( sideB == sideC ){
                return isotri ;
            } else {
                return scatri ; 
            }
        }
    }
}
  • Which Day of the Week it is ?
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

contract WhichDay{
    uint public DayNum ;
    string public Day ;
    //Function for getting thr day number by user
    function getnum( uint _x) public {
        DayNum = _x ;
    }
    //Function for getting day 
    function getDay() public payable returns( string memory){
        string memory day1 = "Monday";
        string memory day2 = "Tuesday";
        string memory day3 = "Wednesday";
        string memory day4 = "Thursday";
        string memory day5 = "Friday";
        string memory day6 = "Saturday";
        string memory day7 = "Sunday";
        if ( DayNum == 1 ){
            Day = day1 ;
            return Day ;
        } else if ( DayNum == 2){
            Day = day2 ;
            return Day ;
        } else if ( DayNum == 3 ){
            Day = day3 ;
            return Day ;
        } else if ( DayNum == 4 ) {
            Day = day4 ;
            return Day ;
        } else if ( DayNum == 5 ) {
            Day = day5 ;
            return Day ;
        } else if ( DayNum == 6 ) {
            Day = day6 ;
            return Day ;
        } else if ( DayNum == 7 ) {
            Day = day7 ;
            return Day ;
        } else {
            Day = "Not Valid";
            return Day ;
        }
    }
}

All the Programs are duly run on Remix IDE and are giving the required result.

Domain

  • Solidity

Are you contributing under any open-source program ?

Yes, SSOC'22 ( Contributor )


Creating our own crypto coin (which allows only creator to create new coins).

Project title

Crypto Coin

Project Description

The contract allows only its creator to mint new coins.
Anyone can send coins to each other without the need of registering (with a username and password) all u need is a ethereum keypair.

Domain

  • Solidity

Are you contributing under any open-source program ?

SSOC'22


Creating NFTs

Project title

About NFT and its Creation

Project Description

About NFT
How to create a NFT and sell them

Domain

  • [] Solidity
  • [] Python
  • [] JavaScript
  • [] Golang
  • [] Other, feel free to mention below

Are you contributing under any open-source program ?

SSOC


HotelRoom

Project title

Hotel Room Contract

Project Description

With this contract we can book an hotel room by paying come ether.

Domain

  • Solidity

Are you contributing under any open-source program ?

SSOC


Basics of the Blockchain

Write a blog on Basics of the Blockchain .

This file should be under :-> Blog/Basic of blockchain/Readme.md
Made image folder if u r using any image under the blog section.
f anyone want's take this issue feel free to comment . Below are the points need to keep in mind while writing blog

  1. Introduction
  2. Pre requesite
  3. Main content
  4. Flow diagram
  5. Conclusion
  6. Refrence

Need tests

Tests and automations are needed in hardhat/truffle, when a function is added/modified the test is run and it is clarified if everything works the same as always

Add SSOC logo

Add SSOC logo in the readme after HSOC logo

Adjust the height and width accordingly .
The logo is attached below

IMG-20220820-WA0008

Creating a Wallet with various useful functions

Project title

Creating a wallet

Project Description

With the help of which a user can
1> deposit ether to his wallet ,
2> send ether to another account and
3> check his own ether account balance.

This also comes with various restrictions imposed like only the owner can transfer ether to the reciever which is much needed in this case.

Domain

  • Solidity

Are you contributing under any open-source program ?

SSOC22


Create Issue temaplate

Greetings of the day folks !!
If anyone want's to create the issue template then feel free to comment

The issue template should contains -> Bug report , Feature request and other .
like shown below

Screenshot from 2022-07-25 17-32-13

Interface

Project title

Interface in Solidity

Project Description

A smart contract which tells us about interface in solidity

Domain

  • Solidity

Are you contributing under any open-source program ?

SSOC


Add Readme in Hello_World Folder

Description of the change

Add a Readme file in Hello_World Folder
image

Domain

  • Readme

Are you contributing under any open-source program?

HSOC'22

Smart Contract for dynamic NFTs

Project title

Dynamic NFT smart contract

Project Description

A smart contract that helps in minting dynamic NFTs which evolve after an interval of time.

Domain

  • Solidity
  • [] Python
  • [] JavaScript
  • [] Golang
  • [] Other, feel free to mention below

Are you contributing under any open-source program ?

SSOC '22


Unresponsive Readme

Description of the change

Readme on the main page is Unresponsive for mobile version

Screenshot_2022-08-01_200151

Domain

  • Readme
  • [] Solidity
  • [] Python
  • [] JavaScript
  • [] Golang
  • [] Other , feel free to mention below

Are you contributing under any open-source program ?

Yes under SSOC


Solidity basic syntax with code

Project title

Solidity basic syntax with code

Project Description

The file contains the code containing everything related to Solidity like: Data types, Inheritance, Interfaces, Eth transfer and various other operations. It will be better to understand from the notes that I previously uploaded and then looking at this code.

Domain

  • Solidity

Are you contributing under any open-source program ?

SSOC
b
a

How to use Remix ide

In this you have to tell how anyone beginner can use the remix Ide in this you have to cover these topics as follow :

  1. Introduction
  2. why to use remix (with diagram )
  3. How to deploy , compile , where is abi , byte code
  4. How to give the input
  5. Where to see the oputput
  6. Refrence if any

Polymorphism

Project title

Polymorphism in Solidity

Project Description

A smart contract which tells us about Polymorphism in solidity

Domain

  • Solidity

Are you contributing under any open-source program ?

SSOC


Smart Contract for Dynamic NFTs

Project title

Dynamic NFT smart contract

Project Description

A smart contract that helps in minting dynamic NFTs which evolve after an interval of time.

Domain

  • Solidity
  • [] Python
  • [] JavaScript
  • [] Golang
  • [] Other, feel free to mention below

Are you contributing under any open-source program ?

SSOC '22


Multi Call Contract

Project title

Multi Call

Project Description

A contract that aggregates multiple queries using a for loop.

Domain

  • Solidity

Are you contributing under any open-source program ?

SSOC


Modifying sendTo_Ether contract

Description of the change

Modifying and bringing new changes to https://github.com/Vikash-8090-Yadav/Solidity-Pathshala/tree/main/Level1/sendTo_Ether

This currently has these problems ->

  1. No step by step guide for new users to use the smart contract.
  2. Balance returns in default Wei which is 12 digit and quite confusion to new users.
  3. Does not cover the end cases i.e. what if the contract has 0 balnce or the contract has more balance than to be transferred or both have equal balance.

Domain

  • Readme
  • Solidity
  • [] Python
  • [] JavaScript
  • [] Golang
  • [] Other , feel free to mention below

Are you contributing under any open-source program ?

SSOC22


Adding more codes to Level0 folder

Project title

(Write project title over here)
A new list of contracts based upon explaining pure vs view + other smart contracts.

Project Description

1> a contract explaining function modifiers like view vs pure when to use what.
2> Reversing an array
3> checking palindrome for strings (currently we have just for numbers)

Domain

  • Solidity
  • [] Python
  • [] JavaScript
  • [] Golang
  • [] Other, feel free to mention below

Are you contributing under any open-source program ?


A smart contract about Abstract Contracts

Project title

Abstract Contracts

Project Description

I want to write a smart contract which tells about abstract contracts and also explaining it in general.

Domain

  • Solidity

Are you contributing under any open-source program ?

SSOC


Data Types in Solidity

Project title

Data types in Solidity

Project Description

An Ultimate guide on data types of Solidity, A great place to get started with solidity and its data types.

Domain

  • [] Solidity
  • [] Python
  • [] JavaScript
  • [] Golang
  • [] Other, feel free to mention below

Are you contributing under any open-source program ?

SSOC


Some great Solidity tools and integrated environment to learn

Project title

Some Solidity Tools to get started with

Project Description

To create a readme file for some great solidity tools and integration with examples which makes writing solidity easy and robust.

Domain

  • [] Solidity
  • [] Python
  • [] JavaScript
  • [] Golang
  • [] Other, feel free to mention below

Are you contributing under any open-source program?

SSOC


Require

Project title

Require

Project Description

Explaining what is require and how to use it in our code , because it is very important to know .

Domain

  • Solidity

Are you contributing under any open-source program ?

SSOC


Creating a ERC-721 Contract

Project title

ERC-721 Contract

Project Description

Making a ERC-721 smart contract which fulfills all the requirement of erc-721 standard.

Domain

  • Solidity

Are you contributing under any open-source program ?

SSOC


Sum of two integers

Project Title

Arithmetic Operators - Programs

Project Description

A simple but handy program for beginners( Level 0 ), showing addition of two integers
This program gives

  • Addition of Two Numbers
  • Subtraction of Two Numbers
  • Multiplication of Two Numbers
  • Division of Two Numbers

๐Ÿ”น Addition of Two Numbers :

pragma solidity 0.6.0;
contract sum_of_num{
    int public num1;
    int public num2;
    int public sum;
    //Function for sum of two numbers
    function add(int a, int b) public 
    {
        num1 = a ;
        num2 = b ;
        sum = num1 + num2;
    }
    //Function for printing sum of two numbers
    function print_sum() public view returns ( int )
    {
        return sum ; 
    }
}

๐Ÿ”น Subtraction of Two Numbers

pragma solidity ^0.6.0;
contract Sub
{
    function get_sub( int x, int y ) public view returns ( int )
    {
        int num1 = x ;
        int num2 = y ;
        int result = x - y ;
        return result ;
    }
}

๐Ÿ”น Multiplication of Two Numbers :

pragma solidity ^0.6.0;
contract Product_of_num
{
    function get_product(int x, int y ) public view returns ( int )
    {
        int num1 = x ;
        int num2 = y ;
        int product = num1 * num2 ;
        return product ;
    }
}

๐Ÿ”น Division of Two Numbers :

pragma solidity ^0.6.0 ;
contract division 
{
    int public divisor ;
    int public dividend ;
    int public quotient ; 
    int public remainder ; 
    function do_division(int x,int y) public 
    {
        divisor =  x ;
        dividend = y ;
        quotient = y / x ;
        remainder = y % x ; 
    }
}

Domain

  • Solidity

Are you contributing under any open-source program ?

yes, SSOC'22


Defi App

Project title

A decentralised Finance Buy me a coffee dApp

Project Description

(Describe the project over here)
Buy me a coffee is found on various websites but you need a credit card for doing it. The idea is to take it on the blockchain and ease the effort

Domain

  • Solidity
  • JavaScript

Are you contributing under any open-source program ?

SSOC22


Structure of a Smart Contract

Project title

Structure of a Smart Contract

Project Description

Each contract can contain declarations of State Variables, Functions, Function Modifiers, Events, Errors, Struct Types, and Enum Types. Showing examples of each of the declarations.

Domain

  • [] Solidity
  • [] Python
  • [] JavaScript
  • [] Golang
  • [] Other, feel free to mention below

Are you contributing under any open-source program?

SSOC


Adding comment in the Hello world solidity file

Description of the change

Some things like view and memory keywords need to be clear for a person looking at the code for the first time.

Domain

  • Solidity

Are you contributing under any open-source program ?

SSOC

Add Readme in Greeting Folder

Description of the change

add readme in the greeting folder

Domain

  • Readme

Are you contributing under any open-source program?

HSOC'22


Code to implement ERC-721 smart contracts

Project title

Code to implement ERC-721 smart contracts

Project Description

solidity code for implementation of the ERC-721 token

Domain

  • Solidity
  • [] Python
  • [] JavaScript
  • [] Golang
  • [] Other, feel free to mention below

Are you contributing under any open-source program ?

SSOC'22


Buy Me A Coffee Smart Contract

Project title

Buy Me A Coffee Smart Contract

Project Description

With the help of this smart contract, users will be able to tip the owner of the smart contract with Ethereum. The owner can then withdraw the tips from the smart contract.

Domain

  • Solidity

Are you contributing under any open-source program?

SSOC '22


How to connect Reix ide with ganche and Metamask

Topics to be covered

  1. Introduction ( in this include the link of "How to use remix ide")
  2. What is ganache , metamask , why to use them
  3. How to connect remix to ganache.
  4. How to connect metamask to the Remix ( also tell about how can you get the Free assets like rinkeby , ropste, etc in metmask )
  5. Video needed

CrowdFunding smartcontract

Project title

CrowdFunding smartcontract

Project Description

New Campaign -> Users will be able to start a new crowdfunding project by entering campaign details such as the title, story, and goal amount to be raised.
View Project ->users can view all of the existing projects and campaign details.
Make Donation -> Anyone can donate to a project they want to support.

Domain

  • Solidity

Removing repetitive work

Description of the change

Describe more about the change.

We are taking the same ss of compiling and deploying process which is becoming a friction as it is the same process in any contract ,
So we can make a simple file to tell everyone of how to run the contract on Remix.

Domain

  • Readme
  • [] Solidity
  • [] Python
  • [] JavaScript
  • [] Golang
  • Other , feel free to mention below

Are you contributing under any open-source program ?

SSOC22


changement- Grammer errors

Description of the change

Grammer/Typos Errors in the files which are named below.

###Files

  1. Level0/Greeting/README.md
  2. Level2/Marketplace/Marketplace.sol
  3. Level2/banking/banking.sol

Are you contributing under any open-source program?

SSOC

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.