bulid app structure