People contribute to the open source community as they find it useful for their own work. The first starting point for many new users is finding the right community to get started on coding and software development. Having a leaderboard on which repository is moving up or down in the community helps us see the big picture. 'Trending in Bitbucket ' is for open source projects like Hackernews is for technology related news.

What it does

'Trending in Bitbucket ' basically collects the top trending repositories and user information through Bitbucket API which provides a limited steady access for hosted data in Bitbucket . I have made the program to periodically download the top trending repository and developer data and sort and rank to publish them through easy to use interface. This allows us to see the top trending repositories and developers and filter the data according to language, followers counts. More feature on data visualization is on the way.

How I built it

Python backend The back end task of data collection is done by using python scripts. The original seed data is downloaded from top google results through some inherent hacks in google products. Then through the process of filtering, conversion the final data in the form of JSON file is produced everyday to update the top trending list. Currently I'm undertaking automation and refractoring to automate 95% of the tasks involved in a bare minimum server. The data is stored in Amazon AWS S3 storage. JSON file is stored in static hosting in Bitbucket and accessed through secure API call, as JSON calls in BitBucket addon demands secures communications. For more information visit: How I built it

Challenges I ran into

This is my first attempt in building anything steardier than sand castle. Having said that, it haven't stopped me from trying hard to learn, while trying to build a good quality product. I have to learn many things while building this app. This makes the challenge driven project extremely good learning experience. Most of all, I have learned to write a lot of code and just get fewer and fewer errors as I improve my coding. Debug like callback hell has been calmed down. I thank you for that success.

Accomplishments that I'm proud of

Building something, that's useful for the community is a way of thanking the open source community, which stands on many peoples tireless efforts with not much return in expectations. Altruism is best trait for the survival. Open source community (and my small efforts) is the living proof.

I have been wanted this feature for very long time. I think the lack of this feature on core Bitbucket offering really turned down many open source core coders from spreading their web of codes and collaborations in Bitbucket.

What I learned

Building MVP in short time and putting enough efforts in short time, enable us to break our own barriers and push ourself in our efforts. By focusing on one small problem, we can find an entirely new opportunity to build our career on.

What's next for Trending in BitBucket

Next task would be to improve the user experience in serving the json data in front end.

Data visualization using D3

D3 driven plots and charts clearly gives a better look and feel in analyzing technology trends and development through change in patterns in open source repository contribution and activities. I gave few more thoughts on this feature. I have decided to go forward with implementing on trending results page. If some user would like to know more about a particular trending repository or developer, it extends its height and brings in graphs and plots via live json request from corresponding username and repository name. -Feasibility: Easy~moderate -When : 1 to 2 Weeks.

Curated list.

Curated list provides the top recommendation repositories from experienced technology users. The rating, likes and other features would help self automate in the long run.

This requires back end database infrastructure to save the content and serve it for every user. Also, as a ranking feature needed for trend driven ranking based on user feedback, I have to include 'like' feature for signed in user. Needs commitments and work. If I win, then this is definitely on the short term. -Feasibility: moderate~difficult -When : 1~2 months.

Suggestion box

Suggestion box on right sidebar of every project will inspire users to look into new projects, which increases exposure to open source projects. ~Feasibility:difficult ( I need to talk to Bitbucket team) -When : not sure.

Long term outlook

I really want this addon's feature to be core offering of Bitbucket. This essential feature along with other commits, stats plots, better search results should be offered in best form for all the users. These minor features really improves the core offering against the armed competitor. I hope this creation inspires Bitbucket team to further improve their basic offering of hosting service.

For more information visit:

How to add this Addon:

  1. [edited] You can directly add from Bitbucket add on listing after logging into Bitbucket
  2. From addon listings, click on 'Install addon from url' and use this url link.

Once installed, go to{USERNAME} page. You should see a tab to view the trends.


19, October 2015

  • The addon is pending approval at Bitbucket.
  • To try out the addon, use this link

21, October 2015

  • Improved front end look of profiletab page
  • Good news on data conservation. All the trending iframe is served from one master json file.

23, October 2015

25, October 2015

  • Blog is created. Thanks to jekyll maker. I'll add some contents soon.

27, October 2015

  • The filter option for the add on is updated. Now language filter is working for trending repositories as well as trending developers.

Built With

Share this project:


posted an update

Finally, after a lot of request and email back and forth, I have got the addon listed in Bitbucket add-on listing.

To add the add-on, click on top-right corner on your bitbucket profile page, click on 'Add on'. On the new page, find the addon 'Trending in Bitbucket'

Log in or sign up for Devpost to join the conversation.