This project is extracted from my first project restbus. Some code is reuseable, And I will keep maintaining.