Giter Club home page Giter Club logo

native-starter-kit's Introduction

Discontinued in favour of ReactNativeSeed.com

Native Starter Kit v6.1.0

A Starter Kit for React Native + NativeBase + React Navigation + Redux + CodePush Apps (iOS & Android)

Brought to you by NativeBase

Native-Starter-Kit

A simple starter project for React Native + NativeBase + React Navigation + Redux + CodePush apps on iOS and Android.

Note: Shifted to React Navigation from React Native Router Flux in the master branch. React Navigation has become standard for navigation solution in React Native. We are just keeping up with the current trend.

No need of reinventing the wheel. To have immediately something to continue building on, it would be best to start from some starter kit for getting React Native - based applications off the ground in a hurry.

This is a starter kit that you can install on the fly to get the basic plumbing of React Native with NativeBase, Redux and CodePush.

Find out more Free React JS Themes and React Native Themes.

Content

Screens

ios-demo

Technologies

Technologies used in Native Starter Kit

React Native helps in making the development work easier and allowing the developers to focus on the core app features in every new release. It is the fastest-developing mobile app development that essentially permits you to create an isolated product with often outcomes.

The hymn of React Native β€” learn once, write anywhere.

React Native takes charge of the view controllers and programmatically generates native views using javascript. This means that you can have all the speed and power of a native application, with the ease of development that comes with React.

NativeBase is a free and open source framework.

This framework enable developers to build high-quality mobile apps using React Native iOS and Android apps with a fusion of ES6. NativeBase builds a layer on top of React Native that provides you with basic set of components for mobile application development.

The applications stack of components is built using native UI components and because of that, there are no compromises with the User Experience of the applications. NativeBase is targeted specially on the look and feel, and UI interplay of your app.

NativeBase without a doubt fits in well with mobile applications which cut downs one huge part of your app The Front end.

As the requirements for JavaScript single-page applications have become increasingly complicated, our code must manage more state than ever before. UI state is also increasing in complexity, as we need to manage the active route, the selected tab, whether to show a spinner or not, should pagination controls be displayed, and so on.

Redux is a predictable state container for JavaScript apps. It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test.

Redux attempts to make state mutations predictable by imposing certain restrictions on how and when updates can happen. These restrictions are reflected in the steps of three.

  • The state of whole application is stored in an object tree within a single store.
  • The only way to mutate the state is to emit an action, an object describing what happened.
  • To specify how the state tree is transformed by actions, you write pure reducers.

React Native app is composed of JavaScript files, images, which are bundled together by the packager and distributed as part of a platform-specific binary (i.e. an .ipa or .apk file). Once the app is released, updating either the JavaScript code or image assets, requires you to recompile and redistribute the entire binary.

The CodePush plugin helps get product improvements in front of your end users instantly, with the aid of preserving your javascript and images synchronized with updates you launch to the CodePush server. This way, your app gets the benefits of an offline mobile experience, as well as the "web-like" agility of side-loading updates as soon as they are available.

React Navigation is a routing package that allows you to:

  • Declare different kinds of Routers.
  • Routers fall into the category of StackNavigator , DrawerNavigator , and TabNavigator.
  • We can also nest these Routers for more complex transitions.

React Native Easy Grid is an open source package for grid layout from the team of NativeBase.

The layout system is an essential concept that needs to be mastered in order to create great layouts and UIs. React Native uses Flexbox to create the layouts, which is great when we need to accommodate our components and views in different screen sizes or even different devices. Flexbox is awesome but it could be tiresome for newbies.

Easy Grid is very powerful and flexible layout system. No more worries about props of Flexbox such as alignItems, flexDirection, justifyContent, margin, padding, position, width etc. You can create any layout with all the available options that we have. Flexbox makes it look like percentages, however what actually is happening is just ratios. On the easier part, ratios are easier to represent than percentage/decimals. For this reason, the Easy Grid takes in ratios in place of percentage. Performance wise, Easy Grid is noteworthy and works as fine as Flexbox, not much of calculation.

More Examples . . .

React Native-NativeBase Seed is a basic configuration that every React Native app must have.

This is open source and perfect for any newbie to start with React Native.

This is a React Native Project with NativeBase, React Navigation, Redux, CodePush, Push Notification and other basic must-have libraries.

Get Started

1. System Requirements

2. Installation

On the command prompt run the following commands

$ git clone https://github.com/start-react/native-starter-kit.git

$ cd native-starter-kit/

$ npm install
$ react-native link

CodePush plugin installation and key deployment.

3. Simulate for iOS

Method One

  • Open the project in XCode from ios/NativeStarterKit.xcodeproj

  • Hit the play button.

Method Two

  • Run the following command in your terminal
$ react-native run-ios

4. Simulate for Android

  • Make sure you have an Android emulator installed and running.

  • Run the following command in your terminal

$ react-native run-android

Note: If you are building Native Starter Kit for first time on your system, please follow Method One to simulate on iOS. (To link the CodePush plugin through Xcode for iOS)

For apps with more advance designs, please visit NativeBase Market.

native-starter-kit's People

Contributors

alexicum avatar diegorodriguesvieira avatar dsernst avatar geekrishabh avatar heijmans avatar henryw4k avatar himanshu-satija avatar jakedluhy avatar janzenz avatar jasbir23 avatar kentongray avatar kurtmarcink avatar prayagverma avatar s-kaushik avatar sanketsahu avatar sankhadeeproy007 avatar sarika01 avatar shivrajkumar avatar shwetapal avatar supriyakalghatgi 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  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

native-starter-kit's Issues

Failed at the NativeStarterKit

Hi,

I just recently did a fresh install for React-native on my windows machine and am following the steps to install the native-starter-kit kit for a fresh project. When running npm install, I am receiving an error of "Failed at the [email protected] postinstall script 'remotedev-debugger && sh .add-pre-commit-hook'.

It states to ensure i have the latest version of node.js and npm which I do.

Any ideas what the issue is?

P.S. Also because of this if i try to link I get errors such as "Cannot read property '1' of null" in postlink.js and a few other errors.

Thanks!

Code structure is a free for all. Clean it using eslint

Hey cool product, but when I look at the code, my eyes are crying. DoubleQuote instead of singlequote, missing space, no Props validation.
I recommend you to install those devDependencies and check your code to make it clean πŸ˜‰

"devDependencies": {
    "babel-eslint": "^6.0.5",
    "eslint": "^2.13.1",
    "eslint-config-airbnb": "^9.0.1",
    "eslint-plugin-import": "^1.9.2",
    "eslint-plugin-jsx-a11y": "^1.5.3",
    "eslint-plugin-react": "^5.2.2",
    "eslint-plugin-react-native": "^1.1.0-beta",
  }

Support <Header /> with only one button icon on the right

Currently I use this workaround:

        <Header>
          <Button transparent>
            <Icon name='ios-search' style={{ width: 0, height: 0 }}/>
          </Button>
          <Title>Header</Title>
          <Button transparent>
            <Icon name='ios-search' />
          </Button>
        </Header>

Cheers.

How do I pass data while routing

How do I pass data between the routes.
For e.g. I can push another view with replaceRoute('home') or replaceOrPushRoute('home'). But I want to pass some data to home module while replacing route. Ho do I do that?

BackAndroid issue

Hardware Android back button works well in home and login pages. But in Blankpage when I press hardware Android back button app crashed.
This is output:

Can't find variable: popRoute
<unknown>
AppNavigator.js:1266:0

How can I fix it?

Donβ€˜t understand how ProgressBar imported

At this line it said:

import ProgressBar from './components/loaders/ProgressBar';

However there are :
ProgressBar.android.js
ProgressBar.ios.js
Spinner.android.js
Spinner.ios.js

I don't understand how these files are imported. I'm trying to use flowtype to do some type check, but now it will complain about ./components/loaders/ProgressBar Required module not found

Codepush Key, Portrait, Readme, Background

Hi There!

Any plans to make your framework/themes compatible with portrait?
screen shot 2016-09-28 at 3 12 36 pm

Also, could please elaborate how we can add the codepush keys on IOS?
screen shot 2016-09-28 at 3 13 48 pm

Missing some details here for begginers:
Add the codepush production key in place of Release key
Add the codepush staging key in place of Debug key

Is there any problem with images or the background was changed to white in this new version?

Picker delay

There's a delay with picker on NSK, tried to downgrade to NB 0.5.7 but i got the same behaviour.
This doesn't occurs with awesome project and nativebase. Already mentioned in issue #44, but was closed without answer.

pickerlag

The delay increases depending on how many routes we have in application.

import React, { Component } from 'react';
import { connect } from 'react-redux';
import { Container, Header, Title, Content, Text, Button, Icon, Picker } from 'native-base';

import { openDrawer } from '../../actions/drawer';
import { popRoute } from '../../actions/route';
import styles from './styles';

const Item = Picker.Item;

class BlankPage extends Component {

  static propTypes = {
    popRoute: React.PropTypes.func,
    openDrawer: React.PropTypes.func,
    name: React.PropTypes.string,
    index: React.PropTypes.number,
    list: React.PropTypes.arrayOf(React.PropTypes.string),
  }

  constructor(props) {
    super(props);
    this.state = {
      selectedItem: undefined,
      selected1: 'key1',
      results: {
        items: [],
      },
    };
  }

  onValueChange(value: string) {
    this.setState({
      selected1: value,
    });
  }

  popRoute() {
    this.props.popRoute();
  }

  render() {
    const { props: { name, index, list } } = this;

    return (
      <Container style={styles.container}>
        <Header>
          <Button transparent onPress={() => this.popRoute()}>
            <Icon name="ios-arrow-back" />
          </Button>

          <Title>{(name) ? this.props.name : 'Blank Page'}</Title>

          <Button transparent onPress={this.props.openDrawer}>
            <Icon name="ios-menu" />
          </Button>
        </Header>

        <Content padder>
          <Picker
            iosHeader="Select one"
            mode="dropdown"
            selectedValue={this.state.selected1}
            onValueChange={this.onValueChange.bind(this)}
          >
            <Item label="Cats" value="key0" />
            <Item label="Dogs" value="key1" />
            <Item label="Birds" value="key2" />
            <Item label="Elephants" value="key3" />
          </Picker>
        </Content>
      </Container>
    );
  }
}

function bindAction(dispatch) {
  return {
    openDrawer: () => dispatch(openDrawer()),
    popRoute: () => dispatch(popRoute()),
  };
}

function mapStateToProps(state) {
  return {
    name: state.user.name,
    index: state.list.selectedIndex,
    list: state.list.list,
  };
}

export default connect(mapStateToProps, bindAction)(BlankPage);

npm install

I've downloaded the starter pack

And when I run the command
npm install

I receive these errors

> [email protected] postinstall /Users/nedev/apps/native
> remotedev-debugger

PASS Inject RemoteDev monitor into React Native debugger.
npm ERR! Darwin 15.3.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v4.4.0
npm ERR! npm v2.14.20
npm ERR! code EPEERINVALID

npm ERR! peerinvalid The package [email protected] does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer [email protected] wants [email protected] - 15.1.0
npm ERR! peerinvalid Peer [email protected] wants [email protected]
npm ERR! peerinvalid Peer [email protected] wants react@^0.14.0 || ^15.0.0-0

npm ERR! Please include the following file with any support request:
npm ERR! /Users/nedev/apps/native/npm-debug.log

Can u help me fixing it?

State mutation detected inside a dispatch, in the path `route.routes.1`

Hi! I've installed redux-immutable-state-invariant and it has detected a state mutation here: https://github.com/start-react/native-starter-kit/blob/5f37096/js/reducers/route.js#L25-L34

It would be healthy to the project to add this detector in order to don't mutate state when using redux. I've added a PR in order to add state mutation checks. However we need to remove all the state mutations we have so far because they are pretty dangerous.

PR: #34

state_mutation

Entry, ":CFBundleIdentifier", Does Not Exist

Checkedout from repo, ran npm install and link.
Error message while running application:
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/NativeStarterKit.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

please update the reference packages

RN version just 0.27 and Native Base version is 0.4.9 , the List component of Native Base can not support dynamic data source. i try to update all of modules but get a lot of error. i am worry to use this starter kit into my project.

Logout Animation

I'm having problem when logout, the animation its getting stuck between transition.
nsk-logout-lag-export

[Question] License?

Hi All.

I have a little question. What is the license of the repo?
Could I make commercial service with codes and resources of this project?
If could, is there any rules to use this for it.

Thanks.

How to run starter kit on actual iOS and Android devices

Okay... I've successfully installed and ran the starter kit in my iOS simulator (XCODE 8.0) but I would like to run it on actual devices connected to my iMAC.

I tried opening XCODE and loading the project and running it directly - but get compilation and signing errors.

Is there a written guide for this?

CODEPUSH_KEY Error

CodePush Key should be denoted as

buildConfigField "String", "CODEPUSH_KEY", ' "codepush production key" '

how do I start it as it failes

when I do

react-native run-ios

** BUILD FAILED **

The following build commands failed:
CompileC /Users/tzookb/Downloads/native-starter-kit-master/ios/build/Build/Intermediates/RCTWebSocket.build/Debug-iphonesimulator/RCTWebSocket.build/Objects-normal/x86_64/RCTSRWebSocket.o RCTSRWebSocket.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
Installing build/Build/Products/Debug-iphonesimulator/NativeStarterKit.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/NativeStarterKit.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

error running on simulator (android)

Having so many problems getting this running.

I've done the react-native upgrade because was getting another issue, and now am getting this error:

screenshot 2016-06-13 16 26 25

any tips?

anything else you need to know?

running android studio on mac with a 6.0 emulated device

Picker.item style don't work

itemStyle={{fontSize: 25, color: 'red', textAlign: 'left', fontWeight: 'bold'}}
Item labels are white on a white background for IOS
How i can style picker item in native starter kit?

Unfortunately NativeStarter has stopped.

when i build react native starter app, on debug mode everythings work fine, but on release the app is unable to start, i always have this error Unfortunately NativeStarter has stopped.

capture du 2016-05-16 12-33-34

react native 0.25.1
ubuntu 15.04

Any hint please.

Pressing back button on Android causes no key defined error

After Logging in and pressing one of the lines in the home screen I navigate to the blank page. When pressing the (physical) back button of my Android device the App crashes as no key is defined.

Happens in AppNavigator.js in
this.props.popRoute(this.props.navigation.key); (line 45)

I fixed it by
changing
popRoute: () => dispatch(popRoute()), (line 135)
to
popRoute: key => dispatch(popRoute(key)),

working example of fetch in redux?

I seems like your implementation of redux differs from what we've been using so far.

Do you have a working code example of async fetch in redux?

Would be also great for the documentation of this starterkit.

Thanks and best wishes,
Peer

README & rnpm

Hey guys, the readme says to run rnpm but you guys don't say to install it even though you mention installing things like node.

Maybe you guys can mention in system requirements. I did npm install -g rnpm

Android

Interested in your product (pro version) and decied to try the free sample. The following screen displays on genymotion.
capture

Unable to resolve module TextInputState

Unable to resolve module TextInputState from /Users/stplmacmini6/Desktop/native-starter-kit/node_modules/react/lib/NativeMethodsMixin.js: Unable to find this module in its module map or any of the node_modules directories under /Users/node_modules/TextInputState and its parent directories.

I also follow the steps:

  1. Clear watchman watches: watchman watch-del-all.
  2. Delete the node_modules folder: rm -rf node_modules && npm install.
  3. Reset packager cache: rm -fr $TMPDIR/react-* or npm start -- --reset-cache

but did not fix. Also I have upgraded node.js and react-native with latest version.

iOS UN/PW input focus errors out with "view is not a descendant of RCTShadowView"

Pulled down the latest react-native-starter-kit, looks great but when I place focus in the username or password fields on the login component I get the following error:

view <RCTShadowView: 0x60000001d0590; viewName: RCTTextField; reactTag: 24; frame: {{323, 40}}> (tag $24) is not a descendant of <RCTShadowView: 0x6180001d0a40; viewName: RCTView; reactTag: 37; frame: {{10,30}, {290, 79}}> (tag #38)

This does not happen on Android, it happens on iPhone 6, works fine on iPhone 7 plus.

The only article I could find related is this: http://stackoverflow.com/questions/37788069/rcttextfield-is-not-a-descendant-of-rctshadowview-error but I don't seem to be able to resolve issue

simulator screen shot sep 18 2016 2 42 02 pm

Code improvements

Hi, very good job with this project!

Can I perhaps make a few suggestions regarding your code?

  • you have a few unused definitions & code in multiple files - are you planning to use it?
  • you are using a subscribe on the store in AppNavigator.js (this.props.store.getState().drawer.drawerState == 'opened') but as you are using redux, you surely could replace that with a reducer & mapStateToProps.
  • could you perhaps consider using redux-act to reduce a lot the boilerplate definition of actions & reducers? (this would allow you to delete about 40-50 lines...)

Otherwise, excellent job! If you continue in that direction, I will definitely buy one of your premium packs!

Hsvlz.

Ccloned latest and get: Unhandled JS Exception on first run.

this is the error I receive upon first run on a clean project:

Unhandled JS Exception: Invariant Violation

invariant
    index.ios.bundle?platform=ios&dev=true&minify=false:2171:16
genModule
    index.ios.bundle?platform=ios&dev=true&minify=false:7127:10
loadModuleImplementation
    index.ios.bundle?platform=ios&dev=true&minify=false:175:8
loadModuleImplementation
    index.ios.bundle?platform=ios&dev=true&minify=false:175:8
loadModuleImplementation
    index.ios.bundle?platform=ios&dev=true&minify=false:175:8
guardedLoadModule
    index.ios.bundle?platform=ios&dev=true&minify=false:120:37
global code
    index.ios.bundle?platform=ios&dev=true&minify=false:72703:9

Node: v6.1.0
NPM: 3.8.6
RNative: react-native-cli: 1.2.0
react-native: 0.35.0

Change page's transition

I couldn't find any option to change it.
Am I able to change the animation of routing between pages?

Delay using Picker

I'm having issue when opening the modal from picker component.
There's a big delay until the modal is shown.

This is not happening with nativebase and awesome project.

Error during installation

Hi,
I have this error during npm install

npm WARN EPEERINVALID [email protected] requires a peer of react-native@^0.16 but none was installed.

My ENV:

  • node 5.1.0
  • npm 3.3.12
  • react-native-cli: 0.1.7

Thanks for help

Padding problems on Android

Hi, I would like to know if your product only targets iOS apps or if you support Android as well.
I'm asking this because I noticed that the widgets on Android are a little bit weird (look at the AppBar and the Button)
starter

I know its just a simple padding problem but since I will be buying your product (pro version) I would like to know if it's target for Android too

Minor issue ...

Missing comma in package.json line 43.

"es6",
"react-native boilerplate",

the native-starter-kit is not working

I have followed your instructions to install "native-starter key" in my window7 computer, but after started the project by 'react-native start', the error(Module AppRegistry is not registered callable module) is coming as shown in attached image.

Can you please tell me why this is happening ?

error_module

react-native link problem

HI! anyone can help me with this error?

`D:_DEV_Labs\ReactNative\native-starter-kit>react-native link
? What is your CodePush deployment key for Android (hit to ignore) _gi-TBhZ56viRsyUMe6kZPDgcSVV4yodWNPWf
rnpm-install info Linking react-native-code-push android dependency
rnpm-install info Android module react-native-code-push has been successfully linked
rnpm-install info iOS module react-native-code-push is already linked
"CodePush.h" header already imported.
D:_DEV_Labs\ReactNative\native-starter-kit\node_modules\react-native-code-push\scripts\postlink\ios\postlink.js:26
var oldJsCodeLocationAssignmentStatement = appDelegateContents.match(/(jsCodeLocation = .*)\n/)[1];
^

TypeError: Cannot read property '1' of null
at Object. (D:_DEV_Labs\ReactNative\native-starter-kit\node_modules\react-native-code-push\scripts\postlink\ios\postlink.js:26:96)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object. (D:_DEV_Labs\ReactNative\native-starter-kit\node_modules\react-native-code-push\scripts\postlink\run.js:1:63)
at Module._compile (module.js:570:32)
D:_DEV_Labs\ReactNative\native-starter-kit\node_modules\react-native\local-cli\core\makeCommand.js:19
throw new Error(Error occured during executing "${ command }" command);
^

Error: Error occured during executing "node node_modules/react-native-code-push/scripts/postlink/run" command
at ChildProcess.prelink (D:/_DEV/_Labs/ReactNative/native-starter-kit/node_modules/react-native/local-cli/core/makeCommand.js:19:15)`

react-native-cli: 1.2.0
react-native: 0.35.0
npm: 3.10.9

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.