You are asking just about the same as "what do I need to build a car?"...
The answer would be: a motor, a chassis, 5 wheels, exhaust, etc...
Then you would ask "which motor should I use?"... And the answer would be "one that suits your needs!"...
Your question is way to vague... First establish what you need your app to do, and in which order it should be done... then we will be able to help you find your way through your coding...