Fuse Day 2013 - LiveCast v0.2
We divided the project to 3 sub projects: Server, Client, UI/UX
The server is responsible for authenticating the users, delegating the messages between the peers and storing session information. We used the following NodeJS based Technologies and frameworks:
- Architect - a framework to keep the different modules structured and loosely coupled.
- Socket.IO - a framework for real time socket based client-server-client communication
To keep the server scalable we avoided from saving any state information in memory - so we threw a Redis server into the mix. Redis was chosen for it's speed and simplicity.
The client is a single page application. As mentioned, it uses AngularJS as it's MV* framework.
The UI/UX part was to define and apply the applications layout and styling. We used basic Bootstrap styles. In the future we will want to use AngularUI for the styling.
Other Stuff Worth Mentioning
We also wanted to get a taste of modern development and deployment processes so we used Grunt as a basis for the development/build/deployment tool. We started off with a pretty thorough boiler-plate.
On the server side we used Jasmine-Node run by Grunt with the grunt-jasmine-node plugin.
The fused Day was very productive and we all got a chance to get a lot of real experience with relatively cutting edge technologies and frameworks. Our project is not yet complete but we have plenty to work with in the near future.
The project is stored @ https://github.com/tikalk/LiveCast