Become a member
to unlock all features

Level Up!

Access all courses & lessons on egghead today and lock-in your price for life.


    Introduction to AngularJS Architecture Series


    Ready to start learning about AngularJS Application Architecture? This lesson series is for you. Let's talk about what you will learn.



    Become a Member to view code

    You must be a Pro Member to view code

    Access all courses and lessons, track your progress, gain confidence and expertise.

    Become a Member
    and unlock code for this lesson
    orLog In




    Hello. Lukas Ruebbelke here, and welcome to the Eggly Architecture Series.

    In the previous series, we introduced a lot of AngularJS functionality over the course of building out Eggly, our bookmarking application. The end result is that we had a really neat application that essentially exists in two files, with all of the JavaScript living in a single controller.

    This is entirely appropriate for introducing new concepts and for illustration purposes. Eventually, we need to apply this to real-life scenarios.

    In this series, we are going to shift our focus from functionality to architecture, and how to architecture AngularJS application in the "real-world". We are going to cover four main topics that will help you create AngularJS applications that will scale and not fall apart as the demands and complexity increases.

    The first thing that we're going to cover is file structure. How do you actually structure your files and folders in a way that you can add in new features without getting lost in hierarchy?

    Then, once we've established that, we're going to talk about submodules and how to use submodules to organize your code into, essentially, containers so that the end result is that your main application is really just a composition of smaller, more specific pieces of code.

    Then, from there, we're going to learn how to actually navigate the unique states of our application using UI-Router.

    Then, from there, we are going to use services and models to abstract out our business logic and domain model into a place that the rest of our application can use, but it's not encumbered by that. What I mean is that your business logic is in the model, allowing your controllers and views to be lightweight and very specific.

    I'm absolutely thrilled to spend the next series of lessons with you, as I'm confident you're going to learn some great techniques that you can start to use immediately on your own projects and with your own team. I look forward to seeing you in the next video.