Building Real World MEAN… por Cris Mihalache [PDF/iPad/Kindle]
Building Real World MEAN Apps
Building Real World MEAN Apps
Building Real World MEAN Apps

Last updated on 2014-04-26

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

About the Author

Cris Mihalache
Cris Mihalache

I'm a full-stack developer and entreprenuer living in Vienna, Austria. I'm constantly working to improve both my productivity and learn as much about the world as possible.

I'm primarily a MEAN+ stack developer, but I tend to dabble in Ruby, Python, and sometimes even unrelated topics like philosophy.

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.
See full terms

Write and Publish on Leanpub

Authors and publishers use Leanpub to publish amazing in-progress and completed ebooks, just like this one. You can use Leanpub to write, publish and sell your book as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub