Sentiment analysis or opinion mining involves systamtically extracting, identifying and quantifying subjective information using text analysis and natural language processing algorithms. The paper explores the recent research work in the field of sentiment analysis and categorizes the work into five unique domains. This paper proposes a three stage sentiment analysis framework involving the data gathering, data preparation and the sentiment analysis phases. The proposed framework is applied to the tweets on the Russia-Ukraine conflict in order to understand the current sentiment of the twitterati towards the conflict. The analysis was performed using lexicon based approach and machine learning based approach. The results of the analysis indicate that the machine learning approach provides better performance compared to lexicon based approach. Sentiment analysis also shows that there is still an overall negative sentiment towards the war.