Forum Feedback Which database would you recommend for a social application

Status
Not open for further replies.

Renegade

Staff member
Mastermind
So the Xello project did not go at the consistency I had hoped for. Mostly because of a few consecutive reasons.

I started with choosing Firebase as the backend for the project prototype but realised that it would serve only the minimum viable product and not a full feature replacement. Simply because firebase is not suited for the data a social application would generate. Too many relations between entities and I would end up duplicating the data and won't be able to scale beyond a point. So the search for an alternative stalled the initial momentum.

At this point let me point out that since I am the only person working on this, and even if I had a few hands working on this, I prefer a serverless solution as it reduces the overhead of managing the infrastructure significantly and also reduces development time due to the available APIs.

Next I also got busy with my job which was going through a post covid launch phase. Not much to write here, we all know how that works out.

By this time I narrowed down on Fauna DB, which seems to check all the boxes with it being serverless, supports relations between entities while being a NoSQL DB and has drivers for most development frameworks. Though I keep questioning my decision given that I still need to figure out how the pricing would end up being for our workload and that it is not a very popular solution like Mongo or Firebase.

I could go with MySQL and Node for backend and AWS Cognito or firebase for user management but then I fall back to what I did not want to do in the first place, build the entire backend from scratch.

Lastly, my MacBook is unable to handle the load of iOS and Android simulators running simultaneously so that dampened the sprits to some extent. All that is set to change in a month or so.

So all the history done, what stack do you all suggest based on your experience to run the backend? Just wanted to get some alternative perspective and spread some learning in the process.
 
I was working a small community app (using Flutter) for my alma mater and was evaluating options which came down to - custom built vs Firebase vs Parse (https://parseplatform.org/)
But other than building custom backend, I don't have hands on experience on others.
(the app hasn't materialized yet, blames goes to my laziness/procrastinations and also due to some disruptive change in workplace) :(

FaunaDB looks good. GraphQL is nifty feature. But as you said, pricing is a bit difficult to gauge may be.

Btw, which framework are you using for UI - ReactNative / Flutter / Ionic etc or native ?

I have exp in backend - primarily in SpringBoot. I had worked in my workplace as well as for personal project too.
Let me know if you need help somewhere. I can spare few hours weekly.
 
Last edited:
Parse, Firebase and Mongo are more or less similar with some intricacies which will dictate how you will design the tables and how much duplication you would allow.

On Fauna FQL is even more powerful than GQL. Though the advantage of GQL is that you would be able to switch the backend without significant changes to the frontend later if you stick to GQL for next backend too.

Using Flutter. React Native and other frameworks are not really a match for Flutter I realized after dabbling a bit with them. I have two working prototypes on my Android phone right now, first which I built and discarded, and second I rebuilt from scratch with the improved design based on the inputs/wishlist that I read here on TechEnclave.

Maybe will share a video recording sometime next month for other to see.

Thanks for the offer, I might cash in on it. Let me first finalize a database and then the middleware. BTW, also looked at Cosmos DB but it seems very expensive. The most straightforward (and time consuming) approach to begin I feel would be a PostGRES/MySQL DB and API running on Lambda (NodeJS) and API Gateway.
 
  • Like
Reactions: mathrisk
Status
Not open for further replies.