This is an open source project I made this in my free time for learning purposes, and also sharing the process to those who also wish to learn. Contribution is always welcome. You may open new issue if you found any.