DRY: how to get a basic React/Apollo web app and python GraphQL backend API going with minimal duplication?

84 views Asked by At

I'm an experienced SWE but sort of new to modern web development. I'd like to build a demo/prototype website for a startup idea with minimal time. I'd like to have the frontend tied to a backend DB store up front so it's fully functional. I'd like advice on the best stack to use. I'd like a python backend, and I'm planning on React for the frontend, with GraphQL (unless this is a dumb idea for a prototype... I'd like to learn about it though.)

I feel like there is a ton of redundancy in terms of data object models. I can make a GraphQL schema (I was thinking of using ariadne + FastAPI) but then I still need to build DB tables, or create an object model e.g. in Django. And then of course there is all the React code to make forms to edit stuff. My app will require a significant amount of data entry on the website to set up users and lots of metadata. I built a ton of forms etc in React, backed by Apollo client.

Any suggestions -- am I on the right track or is there a quicker way to a prototype?

Are there any tools that autogenerate some of this code? E.g., I expected I could start with a GraphQL schema and there would be a way to auto-extract a reasonable object model like that used in Django. Or conversely, maybe I could build DB tables and auto-gen a basic GraphQL service. If these don't exist it seems like an opportunity, since I'm seeing so much redundancy... and in prototype phase I don't care about keeping the DB and the API totally independent; I'm okay to trash the DB over and over and re-generate until I get to a beta state, etc.

0

There are 0 answers