HackerRank (hackerrank.com) is the go to tool for enhancing algorithm skills. It's a website that allows you to perform coding exercises with any popular programming language at varying levels of difficulty. But what if you want to improve your code review and debugging skills? This is where DebugRank comes into play, a native Android app built to challenge your ability to find and fix bugs in existing code. DebugRank gamifies debugging code by giving you a time limit to add that extra challenge.

About DebugRank

DebugRank is our own extension of HackerRank's concept with a focus on debugging code. Get the DebugRank app directly from Google Play now to start having fun enhancing your debugging skills!

hackerrank1 hackerrank2 hackerrank3 hackerrank4

How DebugRank Works

The possible programming languages and puzzles are pulled directly from the GitHub repository (using Retrofit2), meaning any developer can add new languages or puzzles. The code is compiled and executed in the cloud by utilizing HackerRank's API (hackerrank.com/api). Their API is very easy to use, and it allows for you to execute test cases and get the results. How do we achieve an awesome bi-directional code editor with syntax highlighting and inline editing? We use our very own Xuni FlexGrid. Some technologies that DebugRank uses include:

  • Realm
  • Dagger2
  • Retrofit2
  • Picasso
  • Gson
  • RxJava / RxAndroid
  • Butterknife
  • Dart
  • Mockito
  • Robolectric
  • Espresso
  • SVG Assets
  • Xuni

Contributing to DebugRank

Want to help improve DebugRank? There are two ways to help:

  1. Provide updates to the actual app itself
  2. Help create more code puzzles for developers to debug

Head over to the github page to learn more about contributing or to just checkout the code. https://github.com/grapecity/DebugRank

Blog Series

DebugRank will serve as a case study app for a blog series to analyze architecture and popular android open source libraries. First we will cover what the Model View Presenter (MVP) pattern is and how/why it was used for the primary architecture of DebugRank. After covering MVP itself this series will dive into other blogs about: