Giter Site home page Giter Site logo

cambiatus / frontend Goto Github PK

View Code? Open in Web Editor NEW
24.0 5.0 15.0 11.13 MB

Cambiatus Web based frontend using Elm

Home Page: https://app.cambiatus.io

License: GNU Affero General Public License v3.0

JavaScript 5.57% HTML 0.26% Elm 92.72% CSS 1.45%
eosio currency elm-lang social-currency

frontend's Introduction

Cambiatus frontend

Elm-book deploy status

This project is bootstrapped with Create Elm App.

You must have yarn installed to develop or build.

Development

yarn install
yarn start

To update the GraphQL Elm files, run:

yarn generate-graphql

Code Quality

We check JS with StandardJS and Elm with elm-review before the git push using husky. You can also run yarn standard and yarn review at any moment to make sure your code is passing the linters.

You can also use elm-analyse to get even more insights about the code. This package is not included in the repo, you should install it manually:

yarn global add elm-analyse

elm-analyse              # view analyse result in terminal
elm-analyse -p 3001 -s   # show extended analyse in the browser on `localhost:3001`

Build

yarn install
yarn build

Configurations

Our app have a somewhat complex configuration stack, allowing the app to run without any changes, connecting to the staging environmnent. Here is an outline of all the configuration files and how the interact:

  • src/scripts/config.js is the bottom level config. All the defaults are stored here for DEV and PROD environments.
  • env-config.js is the config for the dev/prod/demo servers. This file overwrites the defaults from the config.js above. Currently, this file is not used in the local dev environment, on the localhost it won't be loaded correctly. In the repo, this file contains the data for the Staging server (in Demo it will be different, in a dedicated server for a community it will be different, etc.).
  • src/elm/Flags.elm is the Elm configuration file. We start our Elm app and send a port with all that comes from src/scripts/config.js. Since we need to decode JSON values on Elm, it comes with some default values so the app won't fail to load, we default it to some values specified there.

frontend's People

Contributors

alissonfpmorais avatar altjohndev avatar amiskov avatar dependabot[bot] avatar dev-danilosilva avatar gustavonmartins avatar henriquecbuss avatar jerrynyoike avatar lucca65 avatar marcjal avatar pancakem avatar skyleite avatar victorgdev avatar zacck avatar zequez 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

Watchers

 avatar  avatar  avatar  avatar  avatar

frontend's Issues

Confirmation of purchase

Is your feature request related to a problem? Please describe.
Currently, when you press buy, it instantly goes back to offers and the user is not sure of what happened... what the product purchased? How much was I charged? What is my balance now?

Describe the solution you'd like
A confirmation message that responds to the questions above.

Describe alternatives you've considered

Also, we might want to consider an extra step in the purchase in order to avoid error. Like in any other service, you are always asked to confirm if you REALLY want to purchase the products that you haev in your basket.

Additional context
Screen Shot 2019-11-13 at 13 19 26

Handle blockchain erros on Claim page

Is your feature request related to a problem? Please describe.

When I verify someone's action, the app just remains in the same page, there is no confirmation that the verification has been done.

Describe the solution you'd like
A confirmation that the verification has been done, and that after the app takes me to a page in which pending verifications are shown, or if there is no verifications it shows: "You don't have any verifications pending"

Describe alternatives you've considered
See above

Additional context
Screen Shot 2019-11-14 at 08 10 22

Ignore uppercase letters during account creation

Describe the bug
Some people during the sign up process happen to use uppercase letters, this will make the account creation process fail.

To Reproduce
Steps to reproduce the behavior:

  1. Go to app.cambiatus.io
  2. Click on create account
  3. use an account name with uppercase letters
  4. See error

Expected behavior
Just ignore the uppercase letters, make it downcase before pushing to the blockchain

Buy Button unresponsive in Borboins Env

ISSUE

As reported by @muguika ,

my actual balance is 10 BOR, but inside the shop it shows that i have 0 BOR ...  I'm not able to buy it either, after clicking "comprar" it just reloads the shop and nothing happens.

ENV: "Borboins"

image

Buy form is broken

Describe the bug
The value input and label touches the quantity input and label please see the screen grab below

To Reproduce
Steps to reproduce the behavior:

  1. Log into the app
  2. Click on Shop
  3. Scroll down to an item and click on it '.
  4. Click on buy'
  5. See value element and quantity element are touching

Expected behavior
The form should be displayed in a manner that is understandable and usable without confusion

Screenshots
Screenshot 2019-12-04 at 11 08 34

Cambiatus Env you are using
https://app.cambiatus.io/shop/7

Desktop (please complete the following information):

  • OS: mac Os Catalina
  • Browser: Brave
  • Version 1.0.1 Chromium: 78.0.3904.108 (Official Build) (64-bit)

Additional context
Issue happens on desktop only this is likely a good reason to migrate to the new shop interface as shown here
https://www.figma.com/file/GyRvSEQNS91DOLgMIk3u77/shop-desk?node-id=325%3A0

Got duplicate transaction due to lack of feedback during action claim

Describe the bug
While trying to claim an action in a mobile network, I get an error

To Reproduce
Steps to reproduce the behaviour:

  1. Turn on "slow network" setting in your browser
  2. Try claiming an action
  3. Don't wait, hit it again before the transaction is sent to the blockchain
  4. See error

Expected behaviour
We need to disable the buttons until the transaction is back with success or error, if not we'll push two transactions

Session automatically finished whilst doing a transfer

Describe the bug
Session automatically finished whilst doing a transfer

Cambiatus Env you are using
borboins.cambiatus.io

Smartphone (please complete the following information):

  • Device: Xiaomi A1N1
  • OS:
  • Browser Mozilla Firefox
  • Version 68.1.1

Additional context
Ranulfo's phone

Claims not working on Borboins env

  1. claims on desktop are not working, tried with Firefox and Chrome... after clicking claim on an action, nothing happens. On mobile I can complete the process but is not showing the green confirmation message that was showing before.
  2. As a verifier I can see that a verification is pending on my dashboard, but when I click on it, is showing me this error message

Screenshot_20191112-173738

Display a user friendlier message when Javascript is disabled

Is your feature request related to a problem? Please describe.
I always ashamed of the user message I run into when my browser has Javascript disabled and I am trying to access the website.
All one sees is a single line of text at the top right of the screen saying one needs to enable Javascript

Describe the solution you'd like
Since we are going to be catering for low powered device usage I am fairly sure this will occur/ has occured in the field a number of time and Ideally the way we can mitigate this is by showing some styled HTML content that identifies our application and perhaps helps the user to correct the settings issue

Screen In Question
Screenshot 2019-11-26 at 09 42 17

Is Cutting the "12 words" at the pdf

Describe the bug

To Reproduce
Steps to reproduce the behavior:

  1. Create account
  2. Download the pdf with 12 words and private key
  3. Open the document

Expected behavior
Do not cut the words

Screenshots

Cambiatus Env you are using
muda.cambiatus.io

Desktop (please complete the following information):

  • OS: OSX
  • Browser: Safari
  • Version: --

Smartphone (please complete the following information):

  • Device: iPhone 7
  • Browser: Safari
  • Version: --

Additional context

Objectives are not being created

Describe the bug
After creating an objective, this does not show in the community page

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'borboins.cambiatus.io'
  2. Click on 'communities'
  3. Click on 'New Objective'
  4. Write objective
  5. Save
  6. See error

Expected behavior
New objective is not created

Screenshots
Screen Shot 2019-11-14 at 08 44 25
Screen Shot 2019-11-14 at 08 45 02

Cambiatus Env you are using
borboins.cambiatus.io

Desktop (please complete the following information):
OS: MacOS Catalina version 10.15.1
Browser: Firefox
Version : Quantum 66.0.3 (64-bit)

Smartphone (please complete the following information):

  • Device: LEG
  • OS: Android 7.0
  • Browser Chrome
  • Version 78.0.3904.96

Over imposed text

Describe the bug
Over imposed text when searching for a user to do a transfer. [iphone]
Over imposed numbers in PIN [Dell Computer]

Expected behavior
over imposed text

Screenshots
WhatsApp Image 2019-11-14 at 16 48 26

WhatsApp Image 2019-11-14 at 17 00 02

Cambiatus Env you are using
borboins.cambiatus.io

Desktop (please complete the following information):

  • OS: Windows
  • Browser Chrome
  • Version

Smartphone (please complete the following information):

  • Device: iPhone 7
  • OS:
  • Browser Safari
  • Version

Transfers are not reflected in receiver's account

Describe the bug

Tried sending BOR from the admin account to nataliaborbo and nataliasolan account. The balance in the admin account reflects the transfer, however, it the receiver does not get the BOR.

NOTE that when nataliasolan send BORs to admin, it DOES reflect the transfer, but it does not show in "recent transfers"

Borboins Top left corner in Spanish

Is your feature request related to a problem? Please describe.
Currently the top left corner in the Borboins environment is in catalan.

Describe the solution you'd like
This should be in Spanish

Describe alternatives you've considered

Additional context
In Annex
Screen Shot 2019-11-13 at 09 53 59

track Units

Is your feature request related to a problem? Please describe.
When creating an offer, you have the option of tracking units. This is not very clear to me at first hand, but since I know the project I can make an idea of it. However, we need something clearer.

Describe the solution you'd like

Maybe say: "Would you like to track how many units have been sold?"

OR

Have a clarification box that explains the function of this selection.

Additional context
Screen Shot 2019-11-13 at 13 10 36

Session automatically ends

Describe the bug

Session automatically ends and user is required to login again. It happened several times for various users in different phones.

borboins.cambiatus.io

iOS safari zoom causes miscrolls and misclicks

Describe the bug
Menu scroll don't work if the screen is zoomed in

To Reproduce
Steps to reproduce the behavior:

  1. Go to the Dashboard
  2. Zoom in a little with double pinch
  3. try clicking in the menu items
  4. clicks gets harder to do

Expected behavior
Clicks works as expected

Smartphone (please complete the following information):

  • Device: iPhone 8
  • OS:
  • Browser safari

Allow edit of invited_reward and inviter_reward

Right now on the Community Editor page we have a few fields that allow changing the name, description and logo of a community. We need to add two more fields to it. invited_reward and inviter_reward. Those fields are currently hard coded in the function that pushes the edit action to the blockchain. We just need to hook those input values into the ports call to edit the community

User needs type "/dashboard" at URL to enter on the app

Describe the bug
User needs write "/dashboard" at URL to enter (example: muda.cambiatus.io/dashabord).

To Reproduce
Steps to reproduce the behavior:

  1. Open browser and type muda.cambiatus.io

Expected behavior
Should work even not typing /dashboard

Screenshots

Cambiatus Env you are using
Put the URL of the page you are trying to use

Desktop (please complete the following information):

  • OS: all
  • Browser: all
  • Version all

Smartphone (please complete the following information):

  • Device: all
  • OS: all
  • Browser: all
  • Version: all

Additional context

  • Occurs only when user accesses a second time;
  • Muda is only an example, should to work for all;

Forms should works with enter (keyboard)

Describe the bug
Forms do not send the data when user click enter on the keyboard.

To Reproduce
Steps to reproduce the behavior:

  1. Go to any form
  2. Enter the data
  3. Click enter on the keyboard

Expected behavior

  • When user click enter on the keyboard , send the data.

Screenshots

Cambiatus Env you are using

  • muda.cambiatus.io

Desktop (please complete the following information):

  • not apply

Smartphone (please complete the following information):

  • Device: Samsung (several) and Xiaomi;
  • OS: Android;
  • Browser: Chrome;
  • Version: --

Additional context

Logo too small on desktop and smartphone

Describe the bug
Logo too small at desktop, users can not see.

To Reproduce
Steps to reproduce the behavior:

  1. Go to muda.cambiatus.io

Expected behavior
Logo visible to the user at desktop and a bit bigger at smartphone

Screenshots

Screen Shot 2019-12-05 at 11 55 09

Cambiatus Env you are using

  • muda.cambiatus.io

Desktop (please complete the following information):

  • All

Smartphone (please complete the following information):

  • All;

Additional context

  • Lets talk about before start this task;

Invitations are not being sent

Describe the bug

Tried sending an invitation, but it says that invitation failed.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'borboins.cambiatus.io'
  2. Click on 'communities'
  3. Click on Borboins community
  4. insert email adrees
  5. Click send invitations
  6. See error

Expected behavior
"invitation failed" message

Screenshots
Screen Shot 2019-11-14 at 08 41 00

Cambiatus Env you are using
borboin.cambiatus.io

Desktop (please complete the following information):
OS: MacOS Catalina version 10.15.1
Browser: Firefox
Version : Quantum 66.0.3 (64-bit)

Smartphone (please complete the following information):

  • Device: LEG
  • OS: Android 7.0
  • Browser Chrome
  • Version 78.0.3904.96

When I approve a verification (claim) the reward of 100 BOR is not shown in my account

Describe the bug
When I approve a verification (claim) the reward of 100 BOR is not shown in my account.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'borboins.cambiatus.io
  2. Click on 'Activities for your analysis'
  3. Click on "Approve"
  4. Go back to Dashboard

Expected behavior
When you check the account (balance) you won't have the 100 BORs that you were meant to earn

Screenshots

Cambiatus Env you are using
borboins.cambiatus.io

Verifications translation to ESP

Describe the bug

In the verifications Pending and Approved, for the Spanish version it should read : "Pendiente" and "Aprobado"

Claim buble not showing

Describe the bug
When clicking to claim an action, the bubble in which you confirm your claim does not show.

Expected behavior
the background of the page goes darker (in gray) but the bubble is not visible

Screenshots
If applicable, add screenshots to help explain your problem.

Cambiatus Env you are using
borboins.cambiatus.io

Desktop (please complete the following information):

  • OS: Windows
  • Browser Chome
  • Version

WhatsApp Image 2019-11-14 at 17 05 41

App fails to render when it uses the root path

Describe the bug
Can't access app.cambiatus.io in Safari, Chrome. NOTE that it DOES work in Firefox.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'app.cambiatus.io'

OR

  1. Go to borboins.cambiatus.io

Expected behavior
a blank page will appear

Screenshots
in the annex.

Cambiatus Env you are using
app.cambiatus.io
borboins.cambiatus.io

Desktop (please complete the following information):

  • OS: Mac OS Catalina 10.15.1
  • Browser: Chrome and Safari
  • Version: Chrome Version 78.0.3904.97 (Official Build) (64-bit) . | Safari Version 13.0.3 (15608.3.10.1.4)

Smartphone (please complete the following information):

  • Device: LG
  • OS: Android 7.0
  • Browser: Chrome
  • Version: 78.0.3904.96

Additional context
Screen Shot 2019-11-13 at 09 35 57

Session finished automatically but it was still on in the background (odd behaviour)

Describe the bug

An user was logged and doing a claim. When he was going to complete the claim, his session was finished automatically and requested to log in again. however if he tap the back button, his session was still on, but when trying to claim again, he will be requested to log in again (including PK).

Expected behavior
As explained

Screenshots

Cambiatus Env you are using
borboins..cambiatus.io

Smartphone (please complete the following information):

  • Device: Huawei P30
  • OS:
  • Browser : Chrome
  • Version 77.0.3865.116

Input "Sale price" does not work when creating offer and accept letters

Describe the bug
Input "Sale price" does not work when creating offer. User types a number (example: 20) and the input show "Number less than 0". And is accepting letters.

To Reproduce
Steps to reproduce the behavior:

  1. Create an offer
  2. Type a number at "Sale price" input or type letters
  3. Click "Create"

Expected behavior

  • Do not show error when the number is bigger than 0 and do not accept letters.

Screenshots

Cambiatus Env you are using

  • muda.cambiatus.io

Desktop (please complete the following information):

  • Not tested

Smartphone (please complete the following information):

  • Device: Xiami; Samsung (several)
  • OS: Android
  • Browser Chrome
  • Version: --

Additional context

Verifiers cannot verify themselves

Is your feature request related to a problem? Please describe.

During the meeting with Borboins the users asked if it was possible to avoid verifiers verifying themselves, in order to avoid inadequate use of the tool .

Describe the solution you'd like
Not allow verifiers to verify themselves

Describe alternatives you've considered

Additional context
Add any other context or screenshots about the feature request here.

Community Logos not showing

Describe the bug
The community logos or icons are not showing.

To Reproduce
Steps to reproduce the behavior:

  1. Go to app.cambiatus.io
  2. Click login
  3. See error

Expected behavior
There would be instead a blank square with a broken paper icon on the top left corner.

Screenshots
in annex

Cambiatus Env you are using
app.cambiatus.io AND borboins.cambiatus.io

Desktop (please complete the following information):

  • OS: MacOS Catalina version 10.15.1
  • Browser: Firefox
  • Version : Quantum 66.0.3 (64-bit)

Smartphone (please complete the following information):

Additional context
Screen Shot 2019-11-13 at 10 02 55
Screen Shot 2019-11-13 at 10 02 48

Language suddenly changes

Describe the bug
For various users, the language changes out of the blue, mainly to CAT. They get really confused.

Expected behavior
Language changes suddenly

Screenshots

Cambiatus Env you are using
cambiatus.borboins.io

Can't scroll on buy shop form

Describe the bug
Some smaller sized devices can't scroll to the "buy" button while trying to buy a new product

To Reproduce
Steps to reproduce the behavior:

  1. Have a small mobile device
  2. Go to the shop in any community env
  3. Try to buy something in the shop
  4. Make sure you are using a sale with units
  5. Try to scroll down to click on "Buy"
  6. See the error

Expected behavior
We should be able to buy it just fine, but the scroll keeps reseting

Smartphone (please complete the following information):

  • OS: Android Motoplaty G6
  • Browser Chrome

PDF is not downloaded

Describe the bug
An user could not download his PDF into his phone. Note that he has a previous version of the 12 words document from a previous meeting.

Screenshots
If applicable, add screenshots to help explain your problem.

Cambiatus Env you are using
borboins..cambiatus.io

Smartphone (please complete the following information):

  • Device: Huawei P30
  • OS:
  • Browser : Chrome
  • Version 77.0.3865.116

Logo not showing in action page

Describe the bug
Logo not showing in action page

To Reproduce
Steps to reproduce the behavior:

Go to app.cambiatus.io
Click login
See error

Expected behavior
broken paper icon instead of image
Screen Shot 2019-11-13 at 10 11 38
Screen Shot 2019-11-13 at 10 14 41

Screenshots
in annex

Cambiatus Env you are using
app.cambiatus.io AND borboins.cambiatus.io

Desktop (please complete the following information):

OS: MacOS Catalina version 10.15.1
Browser: Firefox
Version : Quantum 66.0.3 (64-bit)

After approving a claim, the same claim remains in dashboard to be approved.

Describe the bug
After approving a claim, the same claim remains in dashboard to be approved.

To Reproduce
Steps to reproduce the behavior:
Go to 'borboins.cambiatus.io
Click on 'Activities for your analysis'
Click on "Approve"
Go back to Dashboard

Expected behavior
Previously approved claims, remain in dashboard

Screenshots
Screen Shot 2019-11-14 at 08 33 26
Screen Shot 2019-11-14 at 08 34 03
Screen Shot 2019-11-14 at 08 34 08
Screen Shot 2019-11-14 at 08 34 16

Cambiatus Env you are using
borboins.cambiatus.io

Actions are not being created

Describe the bug
After creating an action, this does not show in the community page

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'borboins.cambiatus.io'
  2. Click on 'communities'
  3. Click on objetive
  4. Click on create new action
  5. Write action
  6. Click on create
  7. Click on objetive (in which you created action)
  8. See error

Expected behavior
New action is not created

Screenshots
Screen Shot 2019-11-14 at 08 55 02
Screen Shot 2019-11-14 at 08 54 52

Cambiatus Env you are using
borboins.cambiatus.io

Desktop (please complete the following information):
OS: MacOS Catalina version 10.15.1
Browser: Firefox
Version : Quantum 66.0.3 (64-bit)

Smartphone (please complete the following information):

  • Device: LEG
  • OS: Android 7.0
  • Browser Chrome
  • Version 78.0.3904.96

Claim box does stays fixed when scrolling down

Describe the bug
Claim box does stays fixed when scrolling down, so ultimately I cannot read the text.

To Reproduce
Steps to reproduce the behavior:

  1. Go to app.cambiatus.io
  2. Login
  3. Press on community
  4. Click on action
  5. Click on objective
    6.Click in claim

Expected behavior
The claim box will appear at the bottom of the page, but the user is unable to read it completely, because when one scrolls down, the box remains at the bottom of the page.

Screenshots
Screen Shot 2019-11-13 at 10 16 51
Screen Shot 2019-11-13 at 10 16 48

Cambiatus Env you are using
https://borboins.cambiatus.io/community/BOR

Desktop (please complete the following information):
OS: MacOS Catalina version 10.15.1
Browser: Firefox
Version : Quantum 66.0.3 (64-bit)

View transfer screen

Screen that shows a transfer, it receives an ID by the URL. The view should change depending on the user. If the user is involved on the transfer it should show "received" or "sent"

Also we should link this page with the transfer notifications

BOR new account did not get 5000 BOR

Describe the bug
New borboin accounts are supposed to receive 5000 BOB when these are created. However, I created a new account leokeagsolan and leosolankeag which did not receive it.

To Reproduce
Create new user

Expected behavior
balance will be on 0 BOR

Screenshots

Screen Shot 2019-11-14 at 10 02 57

WhatsApp Image 2019-11-14 at 10 06 31

Cambiatus Env you are using

borboins.cambiatus.io

Desktop (please complete the following information):
OS: MacOS Catalina version 10.15.1
Browser: Firefox
Version : Quantum 66.0.3 (64-bit)

Smartphone (please complete the following information):

  • Device: LEG
  • OS: Android 7.0
  • Browser Chrome
  • Version 78.0.3904.96

Verification access

Is your feature request related to a problem? Please describe.

When you click in any of the last actions (see red circle in screenshot) it takes you to a page that says: "verification.title . Cannot return null for non-nullable field"

This happens because I have not been assigned the role of verifier.

Describe the solution you'd like
So I think that instead of : "verification.title . Cannot return null for non-nullable field" it should say something more along the lines of : "You have not been assigned as a verifier"

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Screen Shot 2019-11-13 at 13 04 11
Screen Shot 2019-11-13 at 13 04 06

PIN cannot be inserted

Describe the bug
When creating an account, PIN cannot be inserted

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'borboins.cambiatus.io
  2. Click on 'Create account'
  3. Scroll down to 'PIN'
  4. Try and insert number and See error

Expected behavior
The cursor will be active in the first box of the PIN, but when you type a number, this will not show in the screen

Screenshots

Cambiatus Env you are using
borboins.cambiatus.io

Desktop (please complete the following information):

Smartphone (please complete the following information):

  • Device: Samsung Galaxy A70
  • OS:
  • Browser Chrome
  • Version 78.0.3904.96

AND

  • Device: Samsung S9
  • OS:
  • Browser Chrome
  • Version 78.0.3904.96

Additional context
Add any other context about the problem here.

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.