All Projects β†’ weld-io β†’ bug-hunter-game

weld-io / bug-hunter-game

Licence: MIT license
Bug Hunter Game is an web service that turns GitHub Issues into a game.

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to bug-hunter-game

citationhunt
A fun tool for quickly browsing unsourced snippets on Wikipedia.
Stars: ✭ 83 (+196.43%)
Mutual labels:  gamification
awesome-gamified
πŸ‘“ Awesome Gamified - See your progress and save awesome links you've already seen!
Stars: ✭ 56 (+100%)
Mutual labels:  gamification
issue-inspector
πŸ”Ž Preview and jump to the most upvoted comments in github issues (which are probably solutions)
Stars: ✭ 41 (+46.43%)
Mutual labels:  github-issues
Streak-Tasks
Streak Tasks Habit Tracker
Stars: ✭ 27 (-3.57%)
Mutual labels:  gamification
classgame
Ruby on Rails, course platform with gamification, here you can learn to play. It is classgame.
Stars: ✭ 16 (-42.86%)
Mutual labels:  gamification
issue-collab
A GitHub Issues searcher inspired by Hacktoberfest
Stars: ✭ 26 (-7.14%)
Mutual labels:  github-issues
security-belt
πŸ₯‹ Framework for continuously improving the IT-Security of your teams through gamification and self-assessment.
Stars: ✭ 73 (+160.71%)
Mutual labels:  gamification
probot-messages
Probot extension for communicating with repository maintainers
Stars: ✭ 13 (-53.57%)
Mutual labels:  github-issues
tutorial-quest
As you delve deep into the Dungeons to take on the biggest baddest bosses, DON'T GO ALONE!! Take THE Open Source Raid Guild with you!
Stars: ✭ 35 (+25%)
Mutual labels:  gamification
new-issue
A fully customizable Github issues interface. Setup for your repo today!
Stars: ✭ 22 (-21.43%)
Mutual labels:  github-issues
escapp
Platform for organizing and managing educational escape rooms
Stars: ✭ 33 (+17.86%)
Mutual labels:  gamification
microservices-v9
Learn Microservices with Spring Boot - v9
Stars: ✭ 40 (+42.86%)
Mutual labels:  gamification
moodle-block xp
A gamification plugin for Moodle allowing students to gain experience points and level up.
Stars: ✭ 138 (+392.86%)
Mutual labels:  gamification
arsnova.click
arsnova.click is a little bit Kahoot! and a little bit ARSnova.
Stars: ✭ 26 (-7.14%)
Mutual labels:  gamification
GitInfo-Git-for-Google-Assistant
GitInfo is a conversational data retrieval bot for Github repositories. It provides a conversational experience to access information. Information that can be retrieved using GitInfo include: stars, latest commit details , no of forks , no of issues etc.
Stars: ✭ 18 (-35.71%)
Mutual labels:  github-issues
habitus
πŸ„ State-of-the-art Tracker for emotions, habits and thoughts. | Gamified. | Anonymous and open source. | Healthiest version of you
Stars: ✭ 23 (-17.86%)
Mutual labels:  gamification
tex image link generator
generate <img src="https://render.githubusercontent.com/render/math?math={tex}">
Stars: ✭ 54 (+92.86%)
Mutual labels:  github-issues
obsidian-success-plan
Manage your tasks, projects, key results, and goals within Obsidian. This plugin follows #theGamificationProject's Success Plan Framework.
Stars: ✭ 29 (+3.57%)
Mutual labels:  gamification
ultron-ele
The world’s fastest LMS engine based on Gatsby -- Deliver knowledge with fun!
Stars: ✭ 27 (-3.57%)
Mutual labels:  gamification
badger
Gamification platform to motivate your team with badges, adventures & other cool stuff!
Stars: ✭ 77 (+175%)
Mutual labels:  gamification

Bug Hunter Game

Bug Hunter Game is an web service that turns GitHub Issues into a game.

Bug Hunter Game

Made by the team at Weld (www.weld.io), the #codefree web and app creation tool:

Weld

How to Run

Set environment variables:

export SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...
export GITHUB_PROJECT_ID=username/projectname  // Note: Bug Hunter Game supports multiple projects for posting issues, but here you can only have one

Start with:

npm run-script dev # development mode

or

npm start # production mode

Server will default to http://localhost:3033

How to Test

npm test

Entities

  • Bug: similar to GitHub issue.
  • Bug Update: a change e.g. bug opened/closed.

REST API

Bugs

Bug Updates

List bug updates

curl http://localhost:3033/api/updates

Get a specific bug update

curl http://localhost:3033/api/updates/[UPDATE_ID]

Create new bug update:

curl -X POST -H "Content-Type: application/json" -d '{}' http://localhost:3033/api/updates

Update a bug update:

curl -X PUT -H "Content-Type: application/json" -d '{}' http://localhost:3033/api/updates/[UPDATE_ID]

Recalculate a bug update:

curl -X PUT -H "Content-Type: application/json" http://localhost:3033/api/updates/recalculate # Recalculate all
curl -X PUT -H "Content-Type: application/json" -d '{ "ids": ["592ba447c8ab0281d22bfae3"] }' http://localhost:3033/api/updates/recalculate

Delete bug update:

curl -X DELETE http://localhost:3033/api/updates/[UPDATE_ID]

Delete all bug updates:

curl -X DELETE http://localhost:3033/api/updates/ALL

GitHub integration

  1. Go to the GitHub Webhooks page for your repository, e.g. https://github.com/USERNAME/REPOSITORY/settings/hooks
  2. Create a new webhook:
    • Payload URL: https://YOUR-SERVER-NAME/api/github-issues
    • Content type: application/json
    • Individual events: Issues + Issue comment

Note: Bug Hunter Game supports multiple repositorys for posting issues. Each will need it’s a webhook set up.

GitHub Webhooks page

Slack integration

  1. Create a new Slack app: https://api.slack.com/apps
  2. Set the environment variable SLACK_WEBHOOK_URL to the URL that Slack generated for you.
  3. Set up a scheduled task (e.g. using Heroku Scheduler) that runs node app/scheduler/postToSlack.js for instance once a day.

Deploying on Heroku

# Set up and configure app
heroku create MYAPPNAME
heroku config:set NODE_ENV=production
heroku config:set HOSTNAME=https://MYAPPNAME.herokuapp.com
heroku config:set SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...
heroku config:set GITHUB_PROJECT_ID=username/projectname
heroku addons:create mongolab
git push heroku master

GitHub webhook

Adapted from GitHub’s example.

curl -X POST http://localhost:3033/api/github-issues -H "Content-Type: application/json" -d \
'{
	"action": "opened",
	"sender": {
		"login": "baxterthehacker",
		"id": 6752317
	},
	"issue": {
		"url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/2",
		"id": 73464126,
		"number": 2,
		"title": "Spelling error in the README file",
		"body": "It looks like you accidently spelled commit with two ts.",
		"user": {
			"login": "baxterthehacker",
			"id": 6752317
		},
		"state": "open",
		"locked": false,
		"assignee": null,
		"milestone": null,
		"comments": 0,
		"created_at": "2015-05-05T23:40:28Z",
		"updated_at": "2015-05-05T23:40:28Z",
		"closed_at": null,
		"labels": [
			{
				"id": 208045946,
				"name": "bug",
				"color": "fc2929",
				"default": true
			}
		]
	},
	"repository": {
		"id": 35129377,
		"name": "public-repo"
	}
}'
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].