Initial commit with project structure and .gitignore file