The project was inspired by the GitHub challenge to create a new development tool. We decided to make achievement system, so that it motivates developers to build quality code in a more entertaining way.

What it does

It adds several types of achievements, such as number of lines, number of commits and quality of code (i.e. number of comments weighed by the total number of lines in a file). Obtaining achievements allows users to gain experience and levels. Developers can also compete with their friends, whose information is fetched from GitHub.

How we built it

We used CoffeeScript, as it is the language of choice for Atom packages development. Some backend is implemented using Python. We divided the tasks, such that some of us were working mostly on frontend, while others focused on backend.

Challenges we ran into

None of us used CoffeeScript before, so it was a real challenge to go from JavaScript to developing in a similar, but at the same time very different language. We have never developed packages for Atom before, so we spent a fair amount of time learning that as well. Other difficulties were related to the GitHub API and efficient GitHub repository management.

Accomplishments that we're proud of

We are proud that we managed to build our first real Atom package and publish it to

What we learned

We improved our JavaScript knowledge, got to know GitHub API, learned CoffeeScript and Atom Package development.

Share this project: