project setup and .gitignore