base structure of web app