Demo project to share SOLID principals of OOAD