AngularJS & Git Workshop Made by: Nikola Novakovic
About me Software Engineer Fav lang: Ruby, Javascript Fav frameworks: Anguar, RoR
Agenda Day 1 Intro to Angular ( basic concepts and stuff) Coding simple “Hello World” examples in Angular Git Basics Deploying app we made previously to Bitbucket Day 2 Explaining more concepts of Angular Explaining those concepts in code Git more advanced commands and a possible workflow Day 3 Hack day ( winner gets a prize :) )
Intro To Angular
AngularJS is a client side mv* framework for rich client side apps. What the crud is Angular?
Why Angular ? Because reasons. Because everybody else is using it. No. Because cool kids are using it.
Ok so now for real. *Forces engineer to actually be engineers. And forces designers to be designers. * Desktop like apps * No refresh * No JQuery ( yayy! ) *Separation of backend and frontend * Scalable to a great degree * All Angular awesome features ( data-binding etc)
Even better. Why NOT Angular? When you make a website(not a web app) for a local bakery. But that sucks anyways :) Some fully featured legacy web apps with MVC frameworks ( RoR - Basecamp ) Some web apps in MVC frameworks that don’t require a lot of forms, user interaction, dom stuff etc. i.e. E-learning platform
What I expect you to know to use Angular? * OOP programming and OOP principles * Some knowledge of an fully featured MVC framework REALLY good to have: * Intermediate knowledge of JS ( closures, hoisting, prototype inheritance)
Angular Awesome Features * Modular architecture * Two way data binding * Controllers and logic separation into services * Directives * Community
Let’s code something finally :) code on: angular-vts angular-vts
Really brief intro to Git
Developed by great Linus. Father of Linux.
Why use it ? * You can always pull back to a previous version * Your product can be scalable and easily maintained * All of the team members can work on the app at the same time and develop features/bug fixes And much more
What I expect you to know to use Git ? * Basic Linux knowledge * Basic command prompt knowledge
Github is NOT Git!
Whats a repo ?
Basic commands * git init * git add filename * git commit -m “Message” * git pull * git push name_of_repo name_of_branch
git phases
Branches and stuff
Lets push this sh*t to remote repo.
Q&A
Day 1 END :)
Angular Building Blocks
****in cli `yo angular` for sample app*** *Providers *Scope *Controllers *Views *Directives *Services
Explaining each one and giving coding samples for each one.
Lets push this to our repo. Rebase, tools, workflows.
Lets put these together and build a beer app ( if there is time :) )
Q&A
End of day 2 :)
Hack day!!!!
Build a movie review app. User of the app has to be able to : * CRUD with Movies * List depending on a movie category * User needs to be able to search through list of movies * About page of a web app
Whats the prize you ask ? :)
A COOKIE!
Consulting with me ( btw I charge for consulting in a real world) for an hour with a winning team. :)
Good Luck And Hack Away!!!!!!!
Q&A
Thanks :)