In recent times, the advancements in Brain-Computer Interface has not only been instrumental in achieving its fundamental purpose of aiding disabled people, but also in creating novel applications like playing games without physical controls or operating home appliances merely by the power of your brain. The electrical activity generated in the brain is measured by an EEG device after which the collected raw data undergoes through various steps, namely: Signal acquisition, Data Preprocessing, Feature Extraction, and Classification. This paper helps the reader in understanding the different algorithms and methods used in each of these processes. A detailed survey of various applications of BCI using different feature extraction and classification techniques is done. Finally, we have compiled all the current issues which hinder the efficiency of BCI systems. © 2019 IEEE.