add gitignore
update docs, add uml_diagram