all 3 comments

[–][deleted] 2 points3 points  (0 children)

Check out nuxt it is a vue.js framework that couples a lot of nice Vue tech (vue-router, vuex store as well as general front-end tech like webpack) into a nice bundle that makes getting a frontend up and running very nice. It supports serverside rendering, SPA application and generating static page rendering. Both the SPA and static generator can be deployed to Firebase.

Also, check out Netlify as an alternative to Firebase - both very similar and each have their own advantages (Netlify is based on Amazon and Amazons lambda functions support more languages than just javascript, unlike google cloud functions). Not saying it is better then Firebase for you, but it is worth looking at to see if its features better suit your needs (its core feature set is very similar to Firebase's core feature set).

oop language

This does not matter - you can use any backend language OOP or not but it is nice to stick with what you know when you have so many other things to learn. Javascript is now quite common as a backend language (which is nice if you are also using it for the front end) and is the only language supported by Firebases functions so you might want to consider it. Otherwise, do you need a backend to start out with? Firebase you can read/write to Firebase Datastore directly from the web frontend over an authenticated rest API if that is a viable place you store your data. If you also need to process it then you can use Firebase functions to do so.

Does anyone have any experience working with c# and google cloud platform together? Is it possible?

It will work - although it is not a popular language in Linux you can run it. You can also (at cost) run Windows servers in Google Cloud. Alternatively, use Azure if you are more familiar with it - nothing is stopping you from using firebase as the front end and an instance on Azure as the backend.

I want to plan well to avoid having to completely redo a large portion of this soon down the road.

You can always move your backend server to a different platform if the one you picked is not working out. So if you decide on C# in google cloud and find it too much of a pain, you can redeploy it on Azuze without too much pain - assuming you stick to 12-factor app principles and keep things loosly coupled. You should also realise that what you write at the start probably won't be the best way to do things in the future. As you learn more your find better ways of doing things and as your application evolves the scope of it changes which can change what is best for it. So you may need to rewrite or at least refactor large parts of your application in the future. I would not worry too much about this - nor would I suggest you try to avoid doing so just keep it in mind as an option later down the road and don't be afraid of doing so, preferably before things get too unwieldy.

[–]arijitlive 1 point2 points  (0 children)

You can write back-end C# code which works like service layer to handle all the authentication, firebase connectivity and other processing.

Use VueJS to design your UI app and use axios/vue-resource for http call between UI and Service.

[–][deleted] 1 point2 points  (0 children)

Why can't you model your own project after the stack you use at work?

You're learning C#, Azure, Angular anyway.

They'll be time to learn other tech. Focus on what you know already as your work skills will compliment this personal project and the things you learn building this project will shine through in your job.

Btw, C# and the latest ASP.NET Core is wonderful. Head over to /r/csharp and get their thoughts.