Code Monkey home page Code Monkey logo

gitdash's People

Contributors

alixedi avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

gitdash's Issues

Data Source at Client Side

As easy as pasting comma separated values in an input/Text box while in DataView Mode and pressing the button "AnalyzeThis" to see the visualizations. All Client End.

Example:
http://davidguttman.github.io/react-pivot/

Client Side Data can also be achieved by github's new feature of Drag and Drop any file easily to your repo and BAM! , you can analyze your data with a click of button!
Checkout how easy it is now to upload a file. An amateur with little knowledge of github interface can do it:
https://github.com/blog/2105-upload-files-to-your-repositories

Write a decent "How to contribute guide"

We should have a clear guide for developers on how to contribute to the project. This should detail how to set-up jekyll for local development as well as any guidelines wrt pull requests.

Logo

I was sitting the other day drawing stuff with Abbas and I drew this:

img_20160305_135224

Like? If yes, I need your help in digitising it.

Make mini select boxes

So I have used a pretty small font overall to save on screen area.

The select boxes however are still fat.

We need this.

The URL is not loading up the pivot

At this moment, if you share a URL, it will not set up the pivot properly - specifically, the rows, columns and value drop areas will not get populated like they are supposed to.

Drill-down

Drilldowns are interesting. They might work as a filter (?)

For instance, consider this data:

Category, Thing
Animal, Cat
Animal, Dog,
Fruit, Apple
Fruit, Orange
Animal, Horse

Pivoting by category, we get 2 bar charts - side by side - One of them titled "Animal", the other titled "Fruit". If we click on "Animal", it naturally should mean that we would like more on "Animal" and so in the next screen, you basically only see the data that has "Animal" as a category.

The following is a good-ish example although, if you look at the code, the data is laid out hierarchically - which in my opinion is not necessary.

http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/drilldown/basic/

Trim CSV cells

So, right now if you look at our example data, you will notice 3 parties called "Democratic". This is because of leading and trailing whitespaces.

The solution should be simple - make sure each cell of the CSV goes through a trim().

Google analytics

We should allow people to put in a Google Analytics ID in the _conf.yml file.

Column filters.

The original pivottable had filters: https://jsfiddle.net/nicolaskruchten/w86bgq9o/

Myself and @alirazabhayani did not include filters in Dripl because we did not know how to represent them in the querystring.

Now, I have an interesting idea: What if we only do filters for classifier fields. I define classifiers as following:

is_classifier = lambda data: len(set(data)) < len(data)/20

IPE: For data with 100 records, a classifier is a field that has less than (for instance) 20 unique values.

This means that in our example POTUS data, fields titled "Party" and "Home State" are classifiers -http://bit.ly/1QWf4IG and http://bit.ly/1RqGIQa.

There is absolutely no need to have filters or indeed any pivot-table functionality for non-classifiers. What is the point of filtering a given president (only) from the dataset? E.g. http://bit.ly/20M3vfs

Problem with onboarding

So in the step when we tell the user to filter Took office [Months], the onboarding popup disappears and never re-appears.

Get rid of geek-charts and geek-aggregations

So in charts, there is no need for:

  • Table
  • Table bar chart
  • Row heatmap
  • Column heatmap
  • Line chart

Bring back pie chart.

In aggregation functions, get rid of:

  • All percentages
  • Both binomials
  • intSum
  • sumOverSum
  • etc.

Problem with DnD and placeholder

If you try and drag a label off Rows or Columns when it's the only label in the area, but instead of dropping it in some other area, drop it back in the same area you started from, you end up with the label as well as the placeholder.

screen shot 2016-03-10 at 20 58 32

Use CDN for pivot and parse js

At the moment, we are referencing pivot.js and jquery.parse.js locally.

Both of these libraries are available via CDN. We should use it.

GitDash standup #2

  • We need to write a "How to contribute" guide @alirazabhayani had to waste time in setting up the branches, jekyll etc. This should not be the case. I am on it.
  • The importance of pivottable library that we use I was chatting with @osamakhn about this. Our pivot library is an asset. It's the only thing that works every single time. We should keep it as our technical debt. Only to be replaced when the rest of the stuff is up to scratch.
  • Importance of having competitors Found another one. Its not the same but not too different either. It is super-important to have these projects because it provides reassurance that whatever we are trying to do is important enough for other people as well.
  • Miscellaneous Myself and @osamakhn also chatted about onboarding and README etc. I am going to add the findings of our discussions to the respective tickets.
  • Unrelated but interesting I did a survey on FB asking devs the reasons they do not participate in FOSS. Most of them apparently do not have time.

Make README.md awesome

It would be really nice to have images showing every single step and what needs to be done.

Expand date columns

If we have a date column called Birthday e.g. 04 Jan 1989, we should expand it into 3 columns: Birthday Year, Birthday Month and Birthday itself.

We can ask our user which columns to expand and by how many using _config.yml.

This should allow us to do queries like - How many *** were born in 1989?

GitDash standup #1?

  • What do we want to get out of this exercise? An MVP: Same pivot table. GitHub backend. Awesome documentation, great onboarding, filters.
  • What is the broader goal of the project? We think we have made the best instant dashboard on the web. We want people to use it. We want to build a community around it. We want to be able to improve it in the future.
  • How can we make it happen? Spare some of your spare time for picking up issues, we can also plan a 1-day hackathon to make some quick progress if we feel it may be useful.
  • How do we give credit to founders? We can have a section in the README that mentions the founders for the project.

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.