Picking a front end for my single page application was trying. The deeper you go in development the more overwhelming it can all feel, with too many choices that are 90% the same, but that last 10% is critical and not just edge cases and... you get the point.

I had decided to use Django as a backend already, and I'll say I do not regret that decision at all. For someone more 'code headed' as I can be, the ORM system is great, and not having to do SQL directly doesn't hamper things at my scale at all. Instagram being written in Django should is also comforting, though who knows how much of that is a custom job at this point.

As for the front switching from Angular to React ended up being a non-starter. Nothing wrong with React, it just wasn't clicking. In the past (as with Angular for example), I'd just have powered through and figured it out, but frankly there was no pressing NEED for me to learn React, and the javascript ecosystem is large and varied. Browsing reddit, i stumbled upon this article here and the syntax for Vuejs really spoke to me.

So after 2 days trying to understand React, I cleaned up the workspace and switched to Vuejs. I couldn't find a clean tutorial that covered all versions of everything I wanted, but after some reading and searching I ended up using these resources.

https://github.com/Dunebook/crud-vuejs-django-rest-framework

https://github.com/jomarca/Youtube_rater/blob/master/youtubefront/src/App.vue

https://thewebdev.info/2020/08/03/vee-validate%e2%80%8a-%e2%80%8avalidation-states-and-form-validation/

Special package wise

  1. axios for restful calls
  2. vee-validate for client side validation
  3. vue-confirm-dialog as I'm lazy and wanted a fast better looking confirm box
  4. bootstrap-vue for general styling

I'm about 5 days into the process and I'm pleasantly surprised at how well its going. But see for yourself.

safehabour-demo.png