Refactor app structure
Update gitignore to reflect new tmp directory