Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ kestrel Public

An idea board web app for sprint retrospective meetings implemented using Ember and Firebase

Notifications You must be signed in to change notification settings

donny/kestrel

Repository files navigation

kestrel

Kestrel is an idea board web app for sprint retrospective meetings implemented using Ember and Firebase.

Background

This project is part of 52projects and the new stuff that I learn through this project: Ember (revisit), EmberFire, Ember Paper, and Firebase Web.

Project

Kestrel utilises the Firebase Realtime Database that synchronises in realtime to every connected client (using WebSocket). This allows changes made by one user (e.g. new card creation, card voting, etc) to be propagated to other connected Kestrel users. Kestrel facilitates sprint retrospective meetings among distributed team members.

After cloning Kestrel and running npm install && ember build && firebase deploy. Ensure that we change config/environment.js to add Firebase API key. And then, we need to login to Firebase console and create a new shared user account. Give this account to participating team members. The screenshot of Kestrel:

Screenshot

Implementation

Kestrel is implemented using Ember using several addons: EmberFire, the officially supported adapter for using Firebase with Ember Data; and Ember Paper, an addon that brings Google's Material Design to Ember.

Take a look at the directory components for the Ember components that we've implemented. And the models, for board list and board cards respectively, as shown below:

import DS from 'ember-data';

export default DS.Model.extend({
  title: DS.attr('string')
});
import DS from 'ember-data';

export default DS.Model.extend({
  title: DS.attr('string'),
  score: DS.attr('number'),
  list: DS.attr('string')
});

The implementation of Kestrel was relatively straight forward. EmberFire takes care of the possible synchronisation issues with Firebase. From the point of view of the app, the user data can be treated just like a normal dictionary. Ember Paper provides the Material Design styling for the app and the Cards design is a natural fit for the the idea board cards.

Conclusion

I have done development work with Ember before and I quite like it because it is an opinionated framework and a good ecosystem. It provides default choices for tooling, e.g. Ember CLI, and recommends standard best practices. We can just follow the recommended Ember way and concentrate on developing our apps.

I like Firebase. It's really great to open Kestrel on desktop and on mobile phone; and see that the changes are reflected straight away. I'm pretty sure that I'll use this great combination of Ember and Firebase in future projects.

About

An idea board web app for sprint retrospective meetings implemented using Ember and Firebase

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published