Hi sh4ring4n, welcome to OSM :slight_smile:

You might reuse existing components
http://wiki.openstreetmap.org/wiki/Develop/Frameworks