What do you call someone who is a singer and write/compose all his/her songs?
Native Brit, not a teacher
"Singer-songwriter" is the usual term. I'm not 100% sure if it should be hyphenated though.
Wikipedia has an entry, and they hyphenate it, whereas others write two words. Some even use a slash: Singer/songwriter. My preference would be to hyphenate.
Singer-songwriter - Wikipedia, the free encyclopedia