×

Building Real World MEAN Apps cover page
Building Real World MEAN Apps

Building Real World MEAN Apps

Maintainable code with modern technologies


Covering not only the essentials of building MEAN apps, but also what developers need to know to survive in the "real world". Automating deploys, testing, thinking about scaling, and cultivating a codebase that you can be proud of.

Interested in this book? Show your support by saying what you'd like to pay for it!

$

About the Book

My goal is to teach others all that I've had to learn while building MEAN apps. This means not only the basics of the M/E/A/N components, but best practices when it comes to writing "Clean" code, debugging strategies for both Node and CoffeeScript programs in general, and the pitfalls devs likely meet when working on medium-large Node apps.

Besides the code itself, I'll cover things like automating deploys, testing, database setup and concerns (sharding, etc), and everything else I've had to learn as CTO at Adefy. This may take quite some time to finish, but when it's done it will be a self-contained manual for building MEAN apps that can survive the "real world," and make developers proud to be a part of.

This is the planned outline (chapter headings):

  * What is MEAN
    * NodeJS
      * Evented server-side JS
      * One familiar language for all parts of your stack
      * Huge community, npm
    * MongoDB
      * Document-based data storage
      * Mongoose
      * References and populate()
    * ExpressJS
      * NodeJS web app framework
      * app.get "/", ->
    * AngularJS
      * Client-side MVC framework
      * Lets you completely seperate your client and backend
      * Controllers/Directives/Services (Won't go into detail here)

  * Technologies
    * CoffeeScript vs JavaScript
    * Stylus vs Less vs Sass
    * Jade
    * Gulp vs Grunt

  * Git
    * Knowing when to commit
    * git commit -p and git add -p
    * Writing proper commit messages
    * Branching

  * Development environment
    * Docker
    * Vagrant

  * Writing Good Code
    * Coupling (avoiding it)
    * Naming conventions
    * Reusability
    * What is testable code?
    * Private means private!

  * Application structure
    * 12 factor app
      * Summary of 12 factors
      * What this means for us
        * Managing config, etc
    * For coffee users, classes
    * Split client and server

  * Making server-side rock
    * Store logic in models
    * Handling errors
      * Node domains
    * Proper HTTP verbs and error codes
    * Documentation! Codo
    * Clustering

  * The magic of AngularJS (client-side)
    * Understanding directives
    * Class-based AJS pattern
    * Websockets with Socket.IO
    * RequireJS
    * Gracefully degrading when JS is disabled

  * Testing
    * Unit tests (client & server)
    * Integration tests

  * Deploying
    * PM2, forever
    * Ansible
    * Fabric

  * Scaling
    * Monitoring
    * Load balancers
    * Redis sharding and slaves
    * Mongo sharding and slaves

Read More

About the Author

The Leanpub Unconditional, No Risk, 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks. We process the refunds manually, so they may take a few days to show up.
See full terms