Tikal's Fuseday - Javascript Group Summary

Introduction

This year, the project for the fuseday (a day we're all experimenting new technologies) was a remote youtube controller application. 

The idea is having an app which will functions as 2 clients: 

  1. remote controller application - html +js based - which serves as a remote for a youtube client on another machine 
  2. screen application - which serves as the screen app (aka slave) - it will get notifications from the remote app 

The FullStack 

As a javascript group, we chose new to experiment with rather new emerging technologies in the javascript world. 

Server Side

node.js - we chose sails.js - an mvc framework which runs on nodejs and inspired by ruby on rails framework. sails was rather easy to follow, and since its very well structured nature, it allowed us to work separately on modular features without interrupting each other and integrating all with ease.

Also, sails.js is already bundled with socket.io, structured MVC methodology wiring, built in REST api for creation and much more (if digged in).

we chose passport.js for supporting social login to the app - so the app can connect its screen and remote instance to the current user and identify the relevant screens and remotes easily.

Along passport.js, we used the cloud based mongohq service for user management, and specifically, for saving the user's session.

Client Side

For client side we chose to experiment with the future standard of web components implemented by Google's Polymer.js project.

We used Polymer for creating encapsulated custom elements (aka web components). Polymer really felt like angular's directive - and even took it to higher new levels.

Polymer brings good and solid methodology and a new era of development while taking into consideration good work flows such as:

  1. easy data binding ()
  2. template engine
  3. expressions
  4. large ready to use ui polymers elements as well as functional elements (polymer-ajax)
  5. modular approach for creating modular components
  6. simple syntax and above all (imho) - vanilla javascript and simple api's above (jquery style api).

Frontend Styling and Grid layout

we chose to work with zurb's Foundation 5 framework plain css. The docs are very resourceful, easy to follow examples and nice flat design as a starting point. One of its strongest points is the mobile first approach which is implemented nicely into its selector's api.

Database

we chose to work with mongodb. eventualy, we worked with a cloud base monog hosting service - mongohq - which was quite easy to configure with sails.js

Deployment

As a final note, along side grunt as a build & deployment tool, we deployed the application to the cloude service of nodejitsu. The deployment process is quite easy and saves many configuration steps which are done behind the scenes.

Eventually, the fuseday was a very productive and fun day. We learned a lot, experimented with the new technologies we chose and it still feels like javascript is everywhere - fullstack all the way.

This project is open sourced on tikal's github and for 30 days (as of 25/12/2013) can be accessed here.

Thank you for your interest!

We will contact you as soon as possible.

Send us a message

Oops, something went wrong
Please try again or contact us by email at info@tikalk.com