Description
I'm essentially just one man (on the backend) trying to create a very large feature-rich site in a short amount of time. I'm mainly focused on functionality so the structure of the code is pretty haphazard. I know there are better ways to structure things but my initial implementation is going to be pretty straight forward with simple abstractions when it makes things easier. When the site is more stable and complete, we should go over the code and try to simplify it with better abstractions.
Note: There are a lot of nested async calls in the code. When a nested call depends on the result of the enclosing function async.series can be used. When the async calls are independent but something needs to be done upon completion of all the calls async.parallel can be used. These functions also make error handling easier.