The rapid growth of population and industrialization has paved way for the use of technologies like the Internet of Things which gave rise to the concept of smart cities. India as a developing country has a great prospect in developing technologies to make the cities smart. As urbanization occurs the demand for resources and efficient servicing will increase. To achieve this in a smart and efficient way, connected device (IoT) could be used. The possible design of an IoT system based on surveys performed on similar smart solutions implemented has been discussed in this paper. Urbanization and population growth has led to higher demand for resources like water which are of scarce. There is a keen interest from the organizations and government to make proper usage of water. The same can be achieved by proper monitoring and management of water distribution systems. The paper discusses the use of Machine learning techniques to smart city management aspects like smart water management which include water demand forecasting, water quality monitoring and anomaly detection.