Hi ! That's great I just finished publishing a small article on medium to compare all the solutions you have. Basically you can use Python for the backend, but if you are up to Node.js I warmly recomand it because it executes JavaScript (just like the front), so you can code it all in one language only. You have to pick a database (basically you should choose from SQL or NOSQL batabases. To store files online you can either store them in base64 in the database (bad idea, you will have big documents/entries), or store them on your server instance (bad idea, you risk is to loose them all if you don't manage it well), or you can use AWS buckets (there are an equivalents in Azure, Google Cloud, Digital Ocean and there must be extensions for it in Heroku). You will also need to learn a front-end library to build the client. They all are in JavaScript. For that you need to choose between React.js, Vue.js and Angular 2. Here is my article, don't hesitate if you have questions about it: https://adzaria.medium.com/a-full-picture-of-languages-for-web-development-6228efa77150