Hockeylink Website

January 15, 2013 ยท 3 min read

about the project

HockeyLink was a social network for Hockey Field enthusiasts. The project was basically to build a full social network around this sport, including timeline, friendships, competition schedulings and an advanced search (I strongly recommended to the client to create a mobile app instead of a website but I ended implementing a draft of the last one)

The project ended up being quite interesting, there was a lot of features to be implemented, and the design was also on me so it was a great opportunity to increase my experience.

The project didn't have much budget so I had to choose a framework to save some time and reuse some code. Also, the idea was to develop a prototype and then in the case of finding investors, we would build the website scalable from scratch.

I decided to go with Drupal. I had experience with the platform, it had a lot of community ready features, it also contained and extendable admin so it looked like the best choice.

But building a community was not only about registering, logging in and out but there were a lot of specific modules that had to be build to satisfy the client requirements.

These are some of the Modules that I had to develop myself:

  1. News Module: Basically a page with the excerpt of the last news from all the specialized sources on the internet. During the phase 2 of the project, I had to implement some Python Spiders to gather that information. As I said only the excerpt would be used, the user would be redirected to the source website on click.

  2. History Module: The History module tracked all the activity from a user. For example, when modifying his career, uploading new pictures, making new friends and of course you could also just write a message for others to see. Once you friended someone, you could also see specific information such us the phone number or email address.

  3. Friendship Module: This module allowed to make friends to any other user in the community. You could send a friend request, accept it and unfriend. Once you accepted the friendship, all new friend updates would appear on its timeline.

  4. Competition, Team, Season and Match Modules: Well that was a big one.

The platform should allow admin users to create competitions with the options such as size (International, National, Local and Friendly), modality (Regularity or Season, Regularity with Back Counting, Sudden Death - 1 leg, Sudden Death - 2 legs and Final Four), category (Senior, Senior Elite, U21, U18, U16), recurrence (Seasonal, Seasonal - Spanish, Every 2 years, Every 4 years or Other) and finally how much points was a victory worth.

For the Seasonal recurrence, you had the chance to create multiple seasons and therefore having the whole history of matches of a certain league or championship. For example, you should be able to check the ranking of the Spanish league on the Season 2001-2002 if entered on the database.

All these combinations would be enough so any competition could be entered on the platform without problems.

In addition, once the information was available in the database, each ranking was rendered dynamically. So for example, if you would change the punctuation for a victory or a draw, that would also change the way it would be displayed.

Finally, the user was also able to display a full calendar and subscribe to the iCal / Calendar file.

But if there was a module I enjoyed building that was the Advanced Search Module. This module allowed searching for any kind of profile quite easily.

For example, you could type attacker sweeper active and the result would be displayed on the map. Or you could type coach inactive to search for people looking for a Coach job.

When users edited their profile they had the chance to activate the job search visibility, so they would appear in the advanced search for similar jobs they had in their career.

Also, there was an even more advanced search so you could specify the Country, Nationality, Age and much more.

image gallery

skills

  • Javascript (+8 years)
    Includes technologies such as JQuery, ECMAScript 6, WebGL, Node.js and Backbone. Also good experience with React and React Native
  • Adobe Photoshop (+6 years)
    Normally used for Web Design and Photo manipulation
  • Adobe Illustrator (+5 years)
  • PHP (+3 years)
    Includes frameworks such as Drupal and Wordpress, also developing modules and extending them