So I'm looking into building a dApp with standard app I functionality like user login/posts/likes/comments etc. Along with harnessing the power of ethereum to support betting and donations. Here is the tech stack I have planned so far.
On the front end side I'm using Truffle suite's drizzle box and that's going fine and dandy.
However on the backend side of things I'm running into walls. I want to use IPFS to store my data. My plan is to use a redux-esque idea where I store the global state of my data on IPFS under a single IPNS hash, kind of like a database. Any CRUD functionality will result in a publish to IPNS and a new version of the data state. With that in mind, I don't want the client to have access to this data state nor do I want them downloading a huge JSON all the time, so I will use a graphql server to query the state and return specific data fields to the client. This way I can keep private information from existing on the client side and keep the IPNS hash away from users.
So my question. Is this stack feasible? Will it secure my data from client access, while also allowing me to provide global content to my users using my discretion? I want to be able to include features like a live feed and user profiles, but I don't want users to have access to other users private data.