Sachverhalt: A. Die 1966 geborene A._ ist Zahnarzthelferin von Beruf. Sie absolvierte in der Folge eine Ausbildung zur Kosmetikerin. Zuletzt arbeitete sie von Mai bis Juli 2002 als Betreuerin in einem Wohnheim. Gestützt auf medizinische Abklärungen, laut welchen ein psychisches Leiden vorlag, sprach die IV-Stelle des Kantons Zürich der Versicherten auf Anmeldung vom 15. Dezember 2003 hin mit Verfügungen vom 20. August 2004 und 17. Dezember 2004 rückwirkend ab 1. Dezember 2003 auf der Grundlage eines Invaliditätsgrades von 100 % eine ganze Invalidenrente zu. Diese Rentenzusprechung wurde im Rahmen von Revisionen wiederholt bestätigt. Nach Beizug eines Gutachtens der Psychiaterin med. pract. B._ vom 10. Oktober 2014 und einer Stellungnahme der Ärztin des Regionalen Ärztlichen Dienstes (RAD) hob die IV-Stelle des Kantons St. Gallen die Invalidenrente infolge Meldepflichtverletzung rückwirkend auf den 30. Juni 2012 revisionsweise auf, weil die Versicherte die Aufnahme der Erwerbstätigkeit als selbstständige Kosmetikerin im März 2012 nicht gemeldet habe (Verfügung vom 8. Mai 2015). B. A._ liess Beschwerde führen mit den Anträgen, unter Aufhebung der angefochtenen Verfügung sei ihr weiterhin eine ganze Invalidenrente zuzusprechen; eventuell sei die Sache zu neuer Entscheidung an die Vorinstanz zurückzuweisen; subeventuell sei die Invalidenrente ab 1. Juli 2015 aufzuheben. Mit Entscheid vom 28. November 2017 hiess das Versicherungsgericht des Kantons St. Gallen die Beschwerde teilweise gut und hob die bisherige ganze Invalidenrente auf den 31. Dezember 2014 auf. C. A._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten führen mit den Rechtsbegehren, unter Aufhebung des vorinstanzlichen Entscheids sei ihr weiterhin eine ganze Invalidenrente zu gewähren; eventuell sei die Sache zu neuer Beurteilung an das kantonale Gericht zurückzuweisen. Die IV-Stelle schliesst auf Abweisung der Beschwerde. Am 13. April 2018 äussert sich der Rechtsvertreter der Versicherten replikweise zur Sache.