GithubHelp home page GithubHelp logo

informaticacba / ga-dev-tools Goto Github PK

View Code? Open in Web Editor NEW

This project forked from googleanalytics/ga-dev-tools

1.0 0.0 0.0 9.15 MB

A showcase of demos and tools built with the various Google Analytics APIs and Libraries.

Home Page: https://ga-dev-tools.web.app/

License: Other

JavaScript 5.16% TypeScript 94.84%

ga-dev-tools's Introduction

GA Demos & Tools

A showcase of demos and tools built with the various Google Analytics APIs and Libraries. View the Site

Submitting Feedback / Reporting Bugs

For the Demos & Tools site

For the Google Analytics platform

  • Documentation for all Google Analytics API, libraries and SDKs can be found on Google Analytics Developers.
  • If you have questions, please refer to the getting help section of the developers site to find the best place to get your questions answered.

Building and running the site locally

Requirements

  • Yarn

    This site is only tested and developed using yarn.

Running

To run the site locally, first make sure you have all the dependencies installed:

yarn

Also make sure to install the dependencies in the lib directory.

cd lib
yarn
cd ..

Then run the following (from the top level directory) and answer all prompts:

yarn start:app:production

All prompts can be skipped, but certain demos rely on prompt answers to fully function. Notably, any demo that requries authentication will require you to put in a valid Google client ID.

This will set up a local hot-reloading instance of the app that can try out at http://localhost:5000

Testing

To run tests, first make sure you have all the dependencies installed:

yarn

Then run the following:

yarn test

Whats in this repo

./src

This is where the majority of the client-side code lives. All of our demo code can be found here.

./gatsby-browser.js

This file is useful to decorate our app with functionality that is needed at runtime.

Of note, we use:

  • wrapRootElement

    Lets us wrap the root element in any necessary context/providers. We use it for injecting a material-ui Theme provider, and a Redux store.

  • onInitialClientRender

    Any code that should run once after the client renders goes here.

    This code pulls in and configures gapi, a Google library that makes calling Google APIs from javascript a breeze.

Also see Gatsby browser APIs.

gatsby-config.js

This is the main configuration file for our Gatsby site. All of our gatsby plugins are configured here.

  • gatsby-plugin-prefetch-google-fonts

    Allows us to download/prefetch Google Fonts. From their docs: "Can increase performance as opposed to loading webfonts from Google's external stylesheet."

  • gatsby-plugin-react-svg

    Makes it easy to load in SVGs as React components via the following stanza:

    import SVGComponentName from "-!svg-react-loader!../images/svg-name.svg"
    
  • gatsby-plugin-typescript

    Provides drop-in support for Typescript and TSX. <opinion>For a site like this, with demos that will live over many years, typescript is a handy way to make it easier to jump back in the code.</opinion>

  • gatsby-source-filesystem

    Lets us source data into the app that can be queried via graphql.

Also see Gatsby Config API.

ga-dev-tools's People

Contributors

anweshan avatar dependabot[bot] avatar diminishedprime avatar dspattison-google avatar grano avatar jfyles avatar lucretiel avatar mcohoon avatar n2o avatar philipwalton avatar tiembo avatar

Stargazers

 avatar

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.