add coffeelint and refactor the codebase to make it more readable

Currently the codebase is too messy for the others to jump in, in this way, I just quickly do a cleanup and include coffeelint to help us make the code more consistent.