The goal of this tutorial is to guide you through the creation of a Slack clone called fireSlack. Upon completion, you will learn how to build a real time collaborative chat application using angularFire to integrate Firebase with AngularJS. Your application will be able to provide the following features:

Sign up for an account

Join/create channels to chat in

Have a user profile

Direct message other users

See who's online

We'll be using Firebase 3 and AngularFire 2 for this tutorial which are both the latest versions for each library.

Prerequisites

This course assumes knowledge of programming and at least basic knowledge of JavaScript and AngularJS. We recommend going through A Better Way to Learn AngularJS if you're not familiar with AngularJS. We've created a seed repo based off of the Yeoman AngularJS Generator to help you get started faster. Before you begin, you will need to have Node.js, npm, and Git installed. We'll need Node.js and npm in order to install Grunt and Bower for managing dependencies. Follow these instructions for installing Node.js and npm, and these instructions for installing Git. Additionally, you'll need to have a free Firebase account and create a Firebase for this tutorial.

Install Node.js

Install Git

Clone or fork the seed repo Clone using ssh: git clone git@github.com:gothinkster/angularfire-slack.git Clone using HTTPS: git clone https://github.com/gothinkster/angularfire-slack.git

Create a new Firebase from the Firebase Dashboard

Final Notes About the Tutorial

You should never copy and paste code from this text unless we tell you to, as we've found that the skills being taught will stick better if you write out all of the code yourself. If you need more clarification on a certain part of the tutorial, we recommend that viewing the supplementary screencast series as we go into far more detail in each of the videos. It's also significantly easier to learn from the screencast series than the text, as you can actually see how a skilled developer manipulates the concepts in AngularJS to build a working application.

Getting Started

Once the initial codebase is cloned locally, we'll need to run a few commands to install dependencies and get our application up and running. Within our codebase, run the following commands:

Run npm install to install our node dependencies

Run npm install -g bower grunt-cli to install Bower and Grunt.

Run bower install to install our bower dependencies

Run grunt serve to start our application.