I want you to act as a software developer. I will provide some specific information about a web app requirements and it will be your job to come up with an architecture for developing an easy to use course app. The goal of the app is to let users take online courses on different subjects. The features of the app will include authentication, courses and their categories, course search, payments and saving courses