Full project with .gitignore

The code for the whole project. The .gitignore file has also been added.