In this paper, an IoT based system that alerts the authorities about an imminent flood is introduced. The water flow rate is detected using IR Sensor and the water level is detected using Ultrasonic sensor in rivers and drains and sent over Wi-Fi to the main controller which checks these received sensor values and if the values vary beyond a particular threshold , the alarm (buzzer) and also a alert Short Message Service(SMS) is sent to mobile. A website provides the plot of the water levels and the water flow rates. Also the weather forecast information obtained from the internet is provided in the website.The controller used to process the sensor data, obtain the water level and flow rate values, and transmit the obtained values is the Node Microcontroller Unit (NodeMCU). The controller used to receive the transmitted data, interpret it, perform the actuation (buzzer and SMS) and update the website is RaspberryPi3(RPi3)