2

I'm looking for advice choosing a back-end architecture for a web app. In the app, users upload tabular data from multiple files. Their data is then processed, aggregated and visualized. Data is private and each user has their own dashboard.

I believe Cube.js is an excellent choice for the dashboard, but I am wondering what back-end web framework I should integrate it with. I have experience of Django, but would use Express if it had significant advantages.

Thanks for any advice!

John
  • 949
  • 1
  • 9
  • 20

1 Answers1

1

Cube.js is designed to run as a microservice. It means there's no requirement for you to use Node.js or Express as a stack for the rest of your backend implementation. However usually you'd need to have separate backend for storing data about users, reports and dashboards if those are dynamic. Cube.js server handles only analytic queries.

Cube.js dashboard templates are designed to work with GraphQL. So any backend web framework where there's a solid support of GraphQL will be a good choice. Most notable ones in Node.js world are apollo-server, Prisma, Hasura. Seems like Python has it's own champion as well: https://github.com/graphql-python/graphene.

Pavel Tiunov
  • 1,163
  • 6
  • 8
  • Pavel - In John's case, users would be uploading the files. Joins, aggregation columns cannot be pre-determined (Like to be done in schema/.js files by ourselves). Does cube.js have any UI interface to play with joins and other data set operations? So that user can do the joins on his own. – Dinesh Kumar P Feb 01 '21 at 08:44