Just wanted to mention that I stumbled upon another option recently: Supabase. It's basically Firebase, but open source if you care about that. The other thing that makes it different is it uses Postgres, so if you're a fan of relational DBs (Firebase uses Cloud Firestore, a NoSQL/non-relational DB), it's an option worth considering. If you don't care though, Firebase is much more mature & has a lot more functionality than Supabase.
Hey folks! Vercel CEO here (nevermind my auto-generated Reddit username 😅).
There are a couple things at play here:
Let's go over some of those:
As always, ensure that the cold start is actually the problem as well. When I look at different serverless workloads, I encounter other hidden latency, like choosing the wrong function region (you can customize this in your Project Settings), so the function and database end up having lots of latency, or the database connection taking a long time (I recommend erring on consuming HTTP database gateways like Supabase if you don't have the time to measure that).
Check out Supabase! It aims to be similar in experience to Firebase, except it’s based on PostgreSQL and is open-source, so no vendor lock-in. You’ll find tons of tutorials (even Flutter-Supabase-specific ones) on YouTube.
I haven’t tried it with Flutter, but Supabase made it incredibly easy to deploy a test Svelte app on Vercel, including multi-login, passwordless auth, avatar images, etc.
So there's two main part you are asking about: code generation to give your user access to a list, and then the realtime part. Both require backend support. You can use something like Firebase or Supabase for that.
Both are capable of setting up listener for real time updates to the data stored. So when some data changes you'll get notified in the React app, and you can display the change.
For the code generation part you'll probably want to generate a code that's stored in the backend, and only gives access / redirect users that do have the code to the list.
Just a quick note: using a free Heroku database is fine for practice and a hobby app that doesn't get real traffic, but Heroku's free databases aren't intended for this use-case, and this setup will eventually break. There are two reasons:
If you want to use Prisma and a cloud Postgres offering with Next's /api pages, I'd recommend Supabase's cloud Postgres database, which is well-suited to this kind of use case and offers a free tier. The team developing it is super responsive, too (in fact, I bet a developer for their team will chip in soon :))
I would look out for two major competitors. Parse Platform and Superbase . I think a lot of people are getting sick of firebases prices so there's a lot of competition to be the next one.
Have you tried Supabase? Last I checked they support auth with social logins: https://supabase.io/docs/guides/auth
Haven't used it personally, but I've been wanting to try Supabase out for a while!
Huge time saver.
Developers have a bad habit where they build everything themselves (myself included).
I have seen 1000s of customers use no/low code and the ones who pay for solutions usually grow a lot quicker.
The saddest thing for me as a developer is to spend time building something that never gets used. By using no-code you can test if people actually care before investing time.
Not a fan of most no-code platforms as they're built on non open source tech.
Solutions like https://supabase.io/ are amazing.
For a website builder i'm working on https://versoly.com/ which can export clean HTML and TailwindCSS. Hopefully will also build an open source CMS so you can export that as well so you're never locked in.
Also huge red flag when picking a no-code service is they haven't shipped features but raised a ton of money. That means they're going up market and have no plans on improving the product.
If you are looking to build a SaaS MVP on a lean stack, I'd suggest you explore these two tools:
ClutchCreator ($0/month): This lets you visually build your front-end components. You can either hire a developer or learn how to do this yourself by learning the basics of React. The reason why I love Clutch more than buildingBlocks, which Darian shows in the video demo, is because you can integrate your API straight into Clutch and build data-driven components. From the MVP standpoint, that's massive, because it saves so much time evaluating if the design will actually work with live data.
Supabase ($0/month): The best serverless backend that you can get to build your SaaS. They have a super generous free-tier, and the query performance is simply phenomenal. I have seen startups use Supabase for even transactional use-cases, and it just works phenomenally well.
Those are the two suggestions that I have from my side.
They are not as simple as WP, to be honest, but the things that you can do with Clutch.io + Supabase.io is insane.
I'm working on an MVP myself. Will publish and share with the community when it's ready.
Para o backend voce pode usar o https://supabase.io/
Para o mobile eu recomendo ir direto para o React Native, dessa forma voce pode eventualmente pular para Swift/Objective C ou Joava/Kotlin quando precisar adicionar módulos customizados (spoiler: quase nunca vai precisar)
Stick to JS, give https://supabase.io/ a try.
The "hard" part of JS is frontend, so trying building a complex frontend. The go to is a todo app.
I started with Django and Python 6 years ago. I only code in JS now. I recently rewrote a few 1000 lines of Python code so I could share them between front and backend.
You'll need to create the cron inside a server that is always running. Since you're using supabase, you can actually do that with Postgres: https://supabase.io/blog/2021/03/05/postgres-as-a-cron-server
Supabase developer here. All the examples in the Supabase documentation are already asynchronous by default, using the async/await
pattern. For example:
https://supabase.io/docs/reference/javascript/select
const { data, error } = await supabase
.from('cities')
.select();
if (error) { console.error('we got an error:', error); }
else { console.log('we got data:', data);
because implementing all that stuff costs you time, and a lot of people just don't have the skills and knowledge to do it. Are you gonna implement all these Oauth integrations from scratch yourself?
[supabase cofounder]
> Any reasons not to use?
My current "why not supabase" list:
That said
> a good personal investment to set everything up from scratch
100%. If you have no timelines then learning backend architecture - how to deploy, set up, debug, etc - is very important knowledge. I would love for you to use Supabase, but if you're leveling up yourself then there's no better investment.
<self-promotion> You could also consider using just the database from Supabase and provision the rest yourself (middleware, apis, etc) </self-promotion>
If you want a straightforward introduction to using a relational database with Firebase-like approachability, I highly recommend trying out Supabase (https://supabase.io). I’ve been loving it so far, and it has in-built Auth, Database (PostgreSQL), and Storage.
This is a great poll in my opinion.
When I started my #nocode journey with "Bubble", I was all pumped up, because I could build an MVP in just a few days, which otherwise would have taken me weeks.
However, as I looked to add more features based on the early feedback I gathered from clients, I realised how limited the platform is when it comes to building custom components.
I also realised that my app was nowhere as responsive and fast as I'd want it to be, and there's nothing I could do about it. It was just how Bubble architected the app experience for every app built on the platform.
That's when I started moving away from the platform. It was a tough choice, to be honest, given that I had spent a lot of time learning the platform. However, I hated being cornered by walls, and I just wanted to find a platform that would break them all.
I'm currently building my SaaS with Clutch.io + Supabase.io, and I think that my stack is limitless.
While Clutch is nowhere near as established as Bubble, I can build pretty much anything I want by importing npm libraries or just writing plain code.
The same goes for Superbase. I can build any type of backend that I want, without worrying about server architecture.
Using this combination, I feel pretty much limitless.
Yes, it isn't as easy as Bubble or Webflow to build with these tools, as they're more on the advanced side, but it's a small price to pay for freedom IMO.
I was in the process of building a website like Cameo using a no-code builder.
Started my journey with Bubble, but found it too restrictive, especially in terms of third-party integrations and private hosting.
Adalo is good, but again, it has its own set of primatives defined.
I eventually gave up on the project, as I got a few freelancing gigs, but if I had to do it again, I'd build it using: clutch.io (front-end) and supabase.io (backend).
An extremely powerful combo. You can build pretty much anything with it, and never really hit any limits.
check out the "Policies with Joins" here: https://supabase.io/docs/guides/auth#policies-with-joins
It looks like you are storing the "text" in the author table though - is that correct? Perhaps there should be a table like "posts" which has an author_id?
create table posts ( id serial primary key, content text, author_id uuid references auth.users.id );
?
Well, if I were you, I would build with Clutch.IO + Supabase.
While both these platforms are not easy to learn from the #nocode perspective, they give you unparalleled flexibility and freedom.
For instance, you can build literally any layout, interaction, UX animation in Clutch, since it has its base in React.
Same goes for Supabase.IO. It's a serverless DB architecture that you can self-host if you want and is 100% open-source as well (just like React).
Apart from this stack, there are other frameworks to build a CRM SaaS like Bubble for instance, but I don't really like the performance of Bubble apps at scale. Plus, they lock you into the platform forever, and I can't imagine re-building a SaaS due to performance issues.
Those are just my 2 cents.
All the best!
If I were to build this, I'd probably pick:
Clutch is much more powerful than Bubble because it allows you to integrate any third-party API, and also lets you import thousands on NPM libraries.
For instance, you can use React Formik to build out the form experience, and then build custom logic.
Clutch also provides the ability to switch between custom code <> visual editor, which means you can always write code (ReactJS) to implement custom use-cases.
Supabase.io can be your serverless backend for storing data and authentication. Xano and Backendless are also good choices, but nothing beats the flexibility that Supabase provides (their documentation is also great)
Supabase also has a pretty generous free tier, so you can get started for $0.
If the data has a structured format, I suggest using any relational database and simply query the results.
There's this cool open-source Firebase alternative called Supabase (no affiliation) which leverages Postgres as a backend. You might want to check them out. Feel free to DM me if you have more questions.
It's really sad, App Engine used to be SUPER powerful, the deferred queue system was my favorite feature, and the ndb datastore. Having everything baked into the python2 runtime environment was a treat. Now they expect you to provision and manage separate services, and are deprecating everything else.
The previous App Engine developer experience was one of our inspirations for building Supabase, we don't have all the features yet, but it's the direction we're heading.
Thanks, I was curious about this. Super encouraging!
> If you're just using the database, then it's just as easy as migrating in.
Intrigued, I dug into the docs: https://supabase.io/docs/guides/database#migrating-between-projects
...whoa, you give everyone direct access to their db! It hadn't clicked for me with your previous answer. That's wonderful and sorta terrifying--it would have seemed to me this would be too much attack surface to manage. I really hope this is sustainable because I'm quite sold at this point. Wow.
Well, maybe not for sensitive data, I'd be worried at having it on the same hardware as other free tier users. But I see there are "Optimized database instances", I assume those have better isolation if one feels the need. Really compelling, not surprised at the backing, congrats.
I'd recommend checking out the examples and guides: https://supabase.io/docs/guides/examples
There are plenty of tutorials there, in both written and video format.
You could also try out the QuickStart in the API Docs which explains how to create tables and query them: https://supabase.io/docs/guides/api#getting-started
As mentioned by everyone else, SWR/React-Query is the most common approach to this, however, if that stale period doesn't work for you and you need actually instant updates, you may have to consider something like the realtime functionality offered by Supabase. https://supabase.io/docs/reference/javascript/subscribe
I use generated types (https://supabase.io/docs/reference/javascript/generating-types) with Typescript on tables. Is there a way to generate types for views?
Bubble is great, but in my opinion, you won't be able to build truly responsive, performance-driven apps on top of it.
If you're open-minded about the stack, you should explore Clutch.io + Supabase.io.
I find both these tools extremely powerful, and potentially limitless in terms of execution.
What I also like about them is that they don't lock you into a hosting plan, where you cannot export your code and can't even move the data to your own server.
Supabase.io is open-source and can be privately hosted. Same goes for app you build within Clutch.
P.S: Both these tools are slightly more complex to learn than Bubble, so, if you are choosing Bubble from the speed of execution perspective, you're definitely right in going forward with it.
Thanks. Sounds like a neat idea. Will definitely evaluate DrapCode for future projects.
I'm currently building my backend in Supabase.io, and using Clutch.io as the front-end visual builder.
I have used Backendless/Firebase/Xano in the past, but just find Supabase incredibly easy to use and powerful.
The same goes for Clutch.
Supabase already supports Apple Sign in. Here's a step-by-step guide for setting it up:
https://supabase.io/docs/guides/auth/auth-apple
Supabase also supports: Bitbucket, Discord, Facebook, Github, Gitlab, Google, Twitter, Twitch, Email / Password, Password-less (Magic Link), and Phone Auth using Twilio.
Never looked into them, I'll check it out.
Fauna has the advantage of a pretty generous free tier and affordable pricing afterwards. My main gripe with them is that I don't have total ownership of the data.
Another alternative I'm considering is Supabase
I was seeing https://supabase.io/docs/guides/database#realtime (which is what the documentation directs and there is no implementation). The GitHub for realtime is really chaotic and got me more confused than it helped. I thought I needed to enable replication in Supabase for it to work.
But... I asked someone if Supabase had stream support and they told me not yet, so I thought it didn't have any support.
Happy to see I was wrong, thanks for that!
Having experienced this exact problem I would recommend just moving to a SQL-based database as soon as you can. If you like Firebase then a great SQL alternative is https://supabase.io/ (I have no link with this company I have just used their services). They also have firebase-like auth (and soon functions...I think).
Supabase developer here. Here's the Supabase realtime implementation:
[Supabase Realtime Documentation](https://supabase.io/docs/reference/javascript/subscribe)
I've personally found it super easy to implement, and flexible, too -- I can listen for events even on a row-level with a specific filter (where) clause.
Supabase dev here. Our Supabase implementation is here: https://supabase.io/docs/reference/javascript/subscribe
It’s pretty cool as you can easily listen to very specific row-level changes only if you want.
Hey @MathematicianWhole29, we're working on Workflows first, which will be the "co-ordinator" of the functions
https://supabase.io/blog/2021/04/02/supabase-workflows
Should have something released by next quarter
If you're not sure about how to do backend side of this project, I would suggest you using a service like Supabase (https://supabase.io/). Then you can use JavaScript to call and show data and manage the data from the service basically. Community involved data might be a bit bigger problem to solve for you right now. Wouldn't suggest going that route just yet (security problems, etc.)
Thank you for your reply! I like the website and really am excited to see how appwrite progresses. I say this in the most well intentioned, constructive way possible. From one founder to another, I strongly recommend leaning in to more product differentiation from supabase.io apart from what you had mentioned above. Supabase is already quite simple and they already offer a self-hosted version.
On the other hand, I do see that you aren't forced folks into using Postgres - cool, then really push that on your site and via tutorials, whitepapers etc (plenty of pros/cons to using a RDBMS). i.e. for lots of folks writing things that are relationship heavy, such as social apps, Postgres doesn't work so well (joins are expensive!). Will then you offer a graph database option? That'd be super useful. That's just one of many examples where you all can differentiate yourselves.
Also, maybe there are other features that Supabase doesn't offer (yet) that you can offer developers, say, things that Firebase may already offer. Specifically, push notifications, crash reporting. That'd be also awesome to see. As a mobile engineer, at the moment, I am forced to use _both_ Supabase and Firebase - yuck.
Mind you, this is all from very shallow, brief observations about your product. All the best!
Just out of curiosity how do you compare to supabase.io? Why pick one over the other?
I'm currently playing around and testing their features, will do the same on Appwrite now.
If you for a BaaS like Firebase, look at Supabase.
Question is if the 5m records have a lot of data, Supabase gives you a 500mb PostgresDB and a Firebase-like API for it for free.
And pricing beyond that is predictable instead of paying for everything you do on Firebase.
Selfhosting Supabase is still soon:tm: (you wont get the fancy Supabase UI), but if pricing is your issue with Firebase thats the solution.
If you don't mind renting and maintaining(!) a VPS but don't want to write your own backend, appwrite is neat.
Pull the docker container and you got a selfhosted Firebase.
Another question if this is scaling well to your needs.
Another one I tried is Directus, it's more a Content Managing plattform, but it connects to a database, provides you with a REST/GraphQL API and gives you a nice admin interface to manage the database.
Thing with those selfhosted backends is that you have no idea how well it'll scale (on your limited VPS), they should have more overhead than a tailor-made backend.
Directus feels more like a modern PHPMyAdmin (written in Vue btw) with an API and CMS features.
You'll setup tables, fields and relations manually. Should make it easy to reuse the database in the future should you outgrow Directus.
Would assume you can do the same with Appwrites database, but haven't looked at its internal structure.
If you want to create a new BaaS, the question is: what specific problem would your BaaS product solve that existing BaaS products don't solve? Did you run into a specific scenario where none of the above BaaS products were suitable? Or are you focusing on a specific niche of BaaS?
I'm a big fan of Supabase (supabase.io). It's an open source BaaS with a PostgreSQL database and wide range of features. Definitely worth checking out :)
There is an open-source alternative called Supabase. But unless you are planning to self-host it, I would recommend avoiding that. There were other attempts, but many went under. Firebase survived because Google bought it.
> Do I have to master Complete JS before moving on firebase.?
Well, not really. You should have a bit idea of how to call an API but that's it. Then you can figure things out. Front end communicates to backend using API, so that's what you have pick up anyways in your learning journey.
Don't go after learning "Complete JS" though. Just enough, to be dangerous.
Bubble doesn't charge for end-users, so you're good to go there!
I've also built apps with Zoho Creator before and found their pricing to be crazy expensive. Bubble is much powerful than Zoho Creator and has a much better pricing model.
If you're concerned about costs, you should look at leveraging open-source tools.
For instance, Supabase.io provides 50,000 users in their free tier.
You can connect the serverless backend with front-end tools like:
P.S: Going this way would require you to learn a bit of code.
My 2-cents: don't do this.
Use firebase or supabase.io to build a serverless backend and call the APIs straight from your react-app.
If you're a beginner, use a tool like Clutch.io to quickly build components, and connect the APIs using Axios connector.
I'm using Miro to brainstorm ideas, and prefer to run 1:1 interviews over Slack/Discord. Also find it incredibly useful to research Reddit threads to get more MVP validation.
I also like to have a very quick MVP ready during my feedback sessions, which I build using a combination of two tools:
- Clutch.io (for frontend)
- Supabase.io (for backend)
I'd probably go with Postgres and its jsonb field type as the easiest replacement. You might be able to draw inspiration from open source Firebase alternatives like supabase.
Don't assume relational tables will be slow though until you have created indexes and done benchmarking -- relational databases are crazy fast and can do all sorts of optimizations on the fly.
Of course! Supabase is build on PostgreSQL, the worlds leading open-source database! It should be trivial to set up what. you need. Just check out our Javascript APIs: https://supabase.io/docs/reference/javascript/insert
If you have questions, jump on our Discord -- there's lots of enthusiastic help there.
It's Free, 25$ Pro and Pay as you go 25$ + usage costs
For me they are offering a very good value for the price, especially considering that they have just entered the beta phase.
I work on building MVPs, and the stack that has worked for me is:
Front-end: Clutch.io (Visually build ReactJS components)
Backend: Supabase.io (for serverless backend management)
Deployment: Vercel (clean and easy)
Design: Figma (you can't go wrong with it)
Plans to learn/explore: Tailwindcss, Sveltejs
Supabase dev here. Check out our auth docs here: https://supabase.io/docs/reference/javascript/auth-signup
And our guides on setting up third party auth: https://supabase.io/docs/guides/auth/auth-bitbucket
Hi folks, Rory from Supabase here.
Sorry for any confusion caused. We have been building furiously to ship features for launch week. This led to an internal communication error for a change to the pricing page.
To clarify, Pay As You Go still starts at $25 per project per month, plus usage. We have updated the Pay As You Go tier (back to the previous pricing) and added a clarification for optimized database instances to include "starting at $50 per project per month".
This is for our enterprise users. They are already aware of this change as we worked with them to understand what this figure should be based on their needs. This change is now updated on our pricing page, and we have now included a changelog at the bottom of the page. For any future changes to the pricing page, we will email every single user.
I have included a link to the updated pricing page and the PR below :)
https://supabase.io/pricing
https://github.com/supabase/supabase/commit/b42019e09a55ac0073c1501f5551b0d4087399e4
you'll want to filter on the subscription itself https://supabase.io/docs/reference/javascript/subscribe#listening-to-row-level-changes
like
const mySubscription = supabase
.from('countries:id=eq.200')
.on('UPDATE', handleRecordUpdated)
.subscribe()
Hey everyone!
I've got a question, hopefully someone knows the solution, if there is one. I had the idea to create additional schemas to group related tables together. So namespaces, basically.
I created a schema reports and a table reports.unsuppressed_inventory_data, however I have not been able to insert data using the supabase client. Can the client only be used to interact with the public schema? I tried some some things like GRANT USAGE ON SCHEMA public TO postgres; I also fiddled around with some PRIVILEGES stuff, but to no avail.
The supabase docs mention Schemas (https://supabase.io/docs/reference/postgres/schemas) and no word about issues regarding the client. Am I missing something?
Short answer - you can't. You have the current situation because when you load your page, it's calling your WP API, getting the posts and that's it. It doesn't have any "trigger" or "listener" to know when you have a new item added. In general this is the way how the main part of the web is working.
Reloading the posts with a timer (js) - I'd advise against this for couple of reasons - waste of resources, data fetching without it actually be wanted/needed (how often will you add posts, every 1h?), and in general... that's just not ok (for me personally).
Alternatives - in general yes, you can have such workflow, but I'm not really sure if you can mix/connect this with WP - maybe you can use websockets with WP, but I won't have very high hopes. Also check stuff like firebase or supabase, I think NestJS can also do this kind of stuff.
I would start simple with something like supabase (https://supabase.io/) they are a hosted db that you can use with none of your own infrastructure. Writing to supabase from a local express server is probably less than an hour project start to finish.
If you are familiar with AWS and lambda functions you could also set up a POST endpoint to store the scores in a Dynamo DB table and a GET endpoint to fetch the scores from each time.
Chalice is a python library that would let you do the above and create the infrastructure at AWS for you automatically.
Yeah as you grow you will need to start paying. One option there tho (and not sure if this is possible with what you are looking to build) is to look at how you monetise your application, adding perhaps a paid layer? Or advertisements within your app. This could cover the added costs.
Also you could take a look at https://supabase.io. I’ve not used yet but looks promising! Not 100% sure about their RN integration, but perhaps the web API’s will work (need to verify)
You’ll get it, hang in there! SQL is actually a lot of fun.
Read up on doing “joins” or in this case it’s an “INNER JOIN”. You join the two tables using an expression (usually a simple matching field like auth.users.id = public.profile.id but it can be more complex).
Once the tables are “joined” you can think of it like adding a bunch of columns to your spreadsheet. Now you have access to all the columns from both of those tables and you can select individual fields from them:
select auth.users.email, public.profile.webpage from ….
Or you can filter on these fields with a where clause:
… where public.profile.webpage = ‘https://supabase.io’ or auth.users.email like ‘%@supabase.io’
> Can you guys share some form of roadmap beyond that Functions are coming soon?
We're really focused on the database, so mostly tooling to make Postgres extremely simple. Our CLI will have migrations and type generators, make it easy to write DB tests, run branching etc.
Our Functions implementation is going to be part of a full Workflow engine (https://supabase.io/blog/2021/04/02/supabase-workflows).
A lot of work on offline support (mobile etc).
Firebase is really an amazing product - they have built a lot - so it will take time to reach parity even for the "core" features.
I was in your position 2 months ago. I chose Firebase.
Now I have mixed feelings. On one hand Firebase has been great due to the enormous amounts of useful features in their surrounding eco system, that has helped me develop with incredible speed.
BUT data replication is annoying as hell. For instance:
I have users who can write blog posts. In order to show the blog posts author (name and profile pic) next to each post I have to duplicate the user object into each blog post.
BUT if a user changes their profile picture I'm screwed when it comes to all old posts they've written. Either I have to update ALL old posts, costing tremendous amount of read/writes, or just ignore the problem and let old posts show old author info.
Also, Firestore doesn't have any way to search for strings. You can only do exact matches. For instance, you can't do:
This makes implementing freetext search literally impossible. You'd have to implement 3rd party solutions like Algolia which costs additional money.
If you have the time I'd go with PostgreSQL. If you value development speed, Firebase is great but beware of its limitations.
Note! It might be worth keeping an eye out for Supabase. It's still very early in development but it's basically an open source Firebase clone that uses a PostgreSQL database.
PostgreSQL has complex data types available.
One of the extensions to PostgreSQL that Supabase makes available is intarray:
Do you have a timeline on when security for realtime data will be available? I noticed the docs say Q1 2021. And is there a page somewhere tracking in-progress and/or planned upcoming work?
Check out Umami. You can host it on Vercel, you just need a database. I suggest Supabase as it’s currently free, and it’s easy to setup. They shared a tutorial on how to do it on Twitter.
First and foremost, congrats on building an entire app. It is a massive accomplishment and if I were your parents, I would be incredibly proud. Doesn't matter the age, it is tough and extremely rewarding work.
I see that y'all are using Electron and React. Were y'all able to make the app truly cross-platform (Desktop, iOS, Android)? Did y'all face any challenges while doing so?
I caught a ref to Firebase (assuming Firestore). What led you to use Firebase? And why NoSQL?
If at all interested in exploring Firebase alternatives in the future, there's a SQL based alternative called Supabase (hosted Postgres instance with an auto generated API and user management system). It is in beta and free to use
Most of the problems you'll be facing on the app development are not really that much of a problem if you use Flutters for this kind of app it's performant enough if you do architect correctly. And if eventually some specific area lacks performance, you can write native code only for this specific part.
This problems about going with Firebase are mostly the closed API, which keeps you closed within Firebase's cloud (you cannot migrate you entire DB to another cloud without needing to "fix" the data as well, since it's standardized for Firebase) and also costs. Firebase is perfect for validating prototypes, but once you reach some level of scale, it'll just become really EXPENSIVE to maintain.
But if you really wanna use something like Firebase, maybe you could give Supabase a try: https://supabase.io/
An upcoming alternative to Firebase seems to be https://supabase.io/
Personally I use a NodeJS backend with Express Server and NGINX Reverse Proxy. Usually go with a mix of MongoDB and other NoSQL databases based on the use case, and PostgreSQL for relational.
Thank you for the thorough reply this is great advice for me because I see where I may lack further knowledge / experience.
I am glad to hear that there is still value in building stuff on your own because sometimes I feel like I might just not have dealt with Firebase etc. enough to really understand it's benefits and wondered if it is worth my time to build things on my own anymore.
Especially payment handling is a topic I fear to do things wrong and experimenting with this is not exactly backed by some security net to let you "fail softly".
Your stack sounds interesting and I have great respect for your path learning to deal with all the setups, backups and security.
I was happy to see supabase.io as an alternative to Firebase but in the end it is probably a lot of time and know-how one has to put in to get it running on bare metal.
Maybe I should start with manual sign up for select customers and gain more experience until I build a real SaaS first.
Thanks for sharing and a happy new year to you!
Thanks for this post it looks quite interesting!
The examples page could use a bit of love. Mainly:
Hey everyone, Supabase is an open source Firebase alternative. We're building the features of Firebase using enterprise-grade open source tools. We're particularly focused on scalability. We take proven tools like Postgres, and we make them as easy to use as Firebase.
After 9 months of building, 3102 databases launched, 505 issues fixed, and 238,000 lines of code written - we're moving into Beta.
Hey everyone, Supabase is an open source Firebase alternative. We're building the features of Firebase using enterprise-grade open source tools. We're particularly focused on scalability. We take proven tools like Postgres, and we make them as easy to use as Firebase.
After 9 months of building, 3102 databases launched, 505 issues fixed, and 238,000 lines of code written - we're moving into Beta.
Thanks for the heads up. Rockset looks interesting. I wasn't aware of it since I don't keep up with anything mongo related.
There is also supabase for postgres: https://supabase.io/ which I started using a week ago. I had a specific use case in mind for materialize, yeah.