Hi sh4ring4n, welcome to OSM
You might reuse existing components http://wiki.openstreetmap.org/wiki/Develop/Frameworks