Should I move to GraphQL? - Business View


#1

Hey everyone,

I’m CTO at Edools and we currently have over 200 happy clients and 200k students using our tech. You could consider that we are Shopify for E-learning. You can create an online school (whitelabel) using our SaaS.

I’ve been working with meteor since 0.6 and we are currently rebuilding our admin interface (the one that schools owners use). Our stack is:

  • Rails + Liquid - Whitelabel Student View
  • Rails - API
  • Angular - Admin
  • Meteor - Business (our) admin

At the moment we are starting to rebuild the Angular app with Meteor + Blaze + Blaze Components. (Our team is going to help maintain blaze :slight_smile: ). So, researching about the best practices at the moment I’ve been always checking Apollo and GraphQL topics and posts.

Honestly, I’m very used with classic meteor. But my choice needs to consider other factors. I would like to have some external opinions and, if possible, shared experiences.

Thanks a lot,


#2

Congrats on your successful product. I’m curious on the reasons for having multiple stacks for the product…


#3

I’m in the process of finishing up a migration to Apollo from using subscriptions. It boils down to use case primarily, if you are running with multiple client frontends or your backend is comprised of multiple database connectors then GraphQL is the way to go. Regardless, it’s the way to go, but if you’re trying to solve either of those problems then I’d start from the ground up with Apollo.


#4

@alawi, here’s the reason of all that:

In version 2 (current stack is now version 3) we decided that it was time to change the market and allow our customer to have full control of their frontend (only if needed, of course). To accomplish that we developed the Rails API and 2 frontends - one focusing on school owners and the other the student view. The student view was the one that could be replaced with a custom code.

Those 2 frontend were built with Angular, and that was a bad choice. In Brazil we do not have a lot of good Angular developers and that caused us a lot of problems, because the schools were hiring poor devs to customize their code and in the end they had a bad UI, bad UX, bad SEO (basically everything that happens when you implement Angular in a bad way).

So we started studying again and decided to move to Liquid (by Shopify - recommend you to take a look). Liquid allows you to write pure HTML but also extend with simple syntax. Simple documentations and everything. So we destroyed the old frontend app and now we have:

  • Rails + Liquid - Whitelabel Student View (shares code with API)
  • Rails - API
  • Angular - Admin

Now we are moving to a new admin interface using Meteor + API. Why this? Single Page Apps allows us to quickly create amazing UX, and that’s what I want for my clients at the moment :slight_smile:

The other app Meteor - Business (our) admin is focused on our internal KPI’s and Meteor quick development allows me to move in a good speed here as I always need to add new stuff.

Hope I answered your question (:smile:


#5

Thanks merotti, appreciate the background and I’ll take a closer look at Liquid. Good luck in your Business Admin App :slight_smile: