Snap4City: A Scalable IOT/IOE Platform for Developing Smart City Applications