Project setup and file structure