Arranged project structure and other changes

- Arranged project structure for better development
- Change `new Date()` to `new Date().toUTCString()` to use UTC time so it won't print localized time string, eg. `GMT+0800 (中国标准时间)`
- Some other little changes