You will need brushless dc motors for the propellers. “electronic speed controllers” or ESCs are required to control the BLDCs. An accelerometer for the balance part. An arduino uno board will be required to be their brain and control their actions.
Now for the controlling part you will need a Bluetooth module or a WiFi module connected to your arduino which will send or receive information from let’s say your Android device. Also you need to design an app that you will link the module and voila your drone can be controlled by your phone.
This is just the skeletal structure though. Hope this helped.