Compiling works fine but Uploading takes forever

Probably then that you're using pins 0 and 1 for the BT, which the Arduino needs to upload.

Leave the BT off until it's uploaded, or move the BT to two other pins and use SoftwareSerial.