Coder Social home page Coder Social logo

tlent / hacktoberfest-checker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jenkoian/hacktoberfest-checker

0.0 2.0 0.0 1.09 MB

๐ŸŽƒ Check how you're doing in hacktoberfest

Home Page: https://hacktoberfestchecker.herokuapp.com/

License: MIT License

JavaScript 59.45% CSS 13.95% HTML 26.60%

hacktoberfest-checker's Introduction

Hacktoberfest Checker

Useful checker web app to see how close you are to achieving the requirements for a free t-shirt as part of Hacktoberfest.

https://hacktoberfestchecker.herokuapp.com/

Screenshot

Updated for 2016

  • Updated design
  • Hacktoberfest label support

You can get involved by picking up some of the issues labelled hacktoberfest to help toward your tally!

Running the app

  • Generate a GitHub personal access token to ensure you don't get rate limited as often.

  • Export the GitHub token as an environment variable for Node.js to use.

    • Mac/Linux: export GITHUB_TOKEN=YOUR_TOKEN
    • Windows (cmd.exe): set GITHUB_TOKEN=YOUR TOKEN
    • Windows (Powershell): $env:GITHUB_TOKEN=YOUR TOKEN
  • npm install

  • node index.js

  • Point browser to localhost:5000

Running the app within docker

As an alternative to the section above, you can run the app within a docker container.

  • docker build -t hacktoberfest-checker .

  • docker run -p 5000:5000 -e "GITHUB_TOKEN=YOUR_TOKEN" hacktoberfest-checker

Testing

The chosen test runner is Jest a Facebook project, you can learn more about Jest in series of videos on Egghead.io.

Jest can be installed both locally (package.json) or globally:

  • locally it will be installed when you run npm install
  • globally you can install it by using npm install -g jest-cli
  • (BONUS) you can also use Yarn as npm alternative, just install Yarn with npm install -g yarn and then use yarn to install dependencies

Once jest is installed you're ready to start testing, to ease everything up we provided some pre-build commands in the package.json:

  • npm run test or npm t will run all the test suites
  • npm run test:watch will run jest in watch mode
  • npm run test:coverage will run all the test suites and it will provide code coverage
  • npm run test:updateSnapshot will run all the test suites and it will update obsolete or unused snapshot (for more info on snapshots see this video)
  • npm run test:full it will run jest in watch mode and will provide code coverage

TODO (2015)

  • Ajax form submission
  • Fix ability to link to users that ajax fix above broke (e.g. http://localhost:5000/?username=jenkoian)
  • Implement an actual web page using Bootstrap or something
  • Add field for entering GitHub username
  • Cache usernames and etags to make use of If-None-Match to reduce risk of reaching rate limit on github API.
  • Show a list of pull requests in question
  • Add disclaimer (GitHub API only allows max of 300 events, so if you're a busy github bee, it probably won't do you justice)
  • or even better than the above disclaimer, use the search API rather than the event API
  • Add contextual message, e.g. 2/4 PRs done "Half way there", 4/4 PRs done "Way to go", 12/4 PRs done "Now you're showing off"

License

MIT (c) 2015-2016 Ian Jenkins

hacktoberfest-checker's People

Contributors

aj07 avatar andeersg avatar artemgrinn avatar drewvolz avatar fdocr avatar ferbla avatar furikuri avatar games647 avatar irregularshed avatar jenkoian avatar jvt avatar matteo-hertel avatar matthamil avatar myrridin avatar ne3l avatar petk avatar pjhampton avatar rafaelstz avatar robbyoconnor avatar semicolonexpected 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.