Hi Anh,
That's looking great.
There are some ways to geocode without Google, the following is a reliable open source service with an accomplished API:
https://github.com/komoot/photon
http://photon.komoot.de/
A different (and maybe better) approach is a Metabox extension using Leaflet which handles nearly all of Google's paid services but using open source data/APIs:
https://github.com/Leaflet/Leaflet
Hope this helps.