Giter Site home page Giter Site logo

techslides / stackoverflow-dashboard Goto Github PK

View Code? Open in Web Editor NEW

This project forked from robnyman/stackoverflow-dashboard

0.0 2.0 0.0 184 KB

A dashboard to check the popularity and engagement for tags on Stack Overflow

License: Mozilla Public License 2.0

CSS 13.53% JavaScript 86.47%

stackoverflow-dashboard's Introduction

Stack Overflow Dashboard

A dashboard to check the popularity and engagement for tags on Stack Overflow. Based on the Mozilla tags on Stack Overflow dashboard.

Features

Numbers and developer behavior are always interesting areas, especially to spot trends, common questions, related areas and more. As Stack Overflow is one of the de facto channels where developers ask questions to solve problems I find it very interesting to look at those numbers and see possible correlations.

You can filter the data based on dates and time periods (different data is available through one or the other option), and the areas the dashboard offers information for are:

  • Questions:
    • with activity

    • of unanswered

    • Percentage of unanswered questions (Note that a question must have at least one upvoted answer to be considered answered)
    • List of unanswered questions
    • Frequently asked questions
  • Top answerers
  • Top askers
  • Related tags

The approach

My thinking was to use the Stack Exchange API and do simple requests for various tags end the engagement around them. I also wanted to make it easy for the user and autocomplete values for the tag criteria field. Given how many tags there are on Stack Overflow, though, to avoid massive overload I only get the 100 most popular tags and put them in a <datalist> element, connected to the <input> element where the user enters the tag to look for data for. This is being done directly on page load.

General mindset

The general mindset when building up the dashboard:

  1. Create a simple HTML form with tag, date period input
  2. Use a simple XMLHttpRequest to get the most popular tags for the <datalist> element
  3. For any request, use the basic XHR to get the data directly in JSON
  4. Depending on the requested data - multiple requests are needed to fill the dashboard - parse the returned JSON and present the results

API methods being used

The other API methods that are being called are:

Request throttling

Note that the limit for each IP number is 300 requests per 24 hours (unless you have an access_token, then the limit is 10,000).

Code

The idea has been to keep it as simple and free of dependencies as possible. It doesn't use any JavaScript libraries as I see the use cases here, and where we are right now with HTML5, competent enough not to need that.

Give feedback & hack it

I hope you find this interesting, and a good point to evaluate which areas to focus on and learn more! Also feel more than welcome to use the dashboard, check out the code and issue pull requests, suggest features and more!

stackoverflow-dashboard's People

Contributors

robnyman avatar

Watchers

 avatar  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.