"Bullsh*tter" is a blunt term but in certain company it would be considered a very appropriate one for someone who behaves like that. However, it also has a more general meaning of someone who just regularly tells lies or speaks nonsense.
In Australia, the term for exactly the type of person you describe is a "big-noter".
"He's always big-noting himself, going on about his famous friends and how much money he makes".
I'm not sure if this term is used much outside of Aust.
not a teacher