Fork me on GitHub
#fulcro
<
2019-10-07
>
Arto Kalishian07:10:44

I have a theoretical question in mind. Can GraphQL prevent the scalability limitations of Datascript as DB in the back-end? And even if the answer is unknown has anyone tried this combination? I am curious.

Arto Kalishian07:10:34

Reasonsing: If Fulcro is data driven wouldn't it be more compatible (simple) to just use a backend DB that is as simple as data (code) as in the language itself.

Björn Ebbinghaus08:10:41

@tony.kay Anything to do for Hacktoberfest?

Arto Kalishian08:10:13

Follow-up on previous question: As I can see from the Fulcro documentation it is Database agnostic, and searching on Reddit there was a discussion that Fulcro considered using Datascript as DB but decided to use "atoms" instead. I am trying to figure out the database part of the web-application because for me it is very important. My default mind-set goes to PostgreSQL but I would prefer an approach where the DB back-end language is closer to the EDN query language for more simplicity in maintaining the code. If it is not too much time can anyone post a link that explains the database back-end options for Fulcro? The documentation seems agnostic and mentions there is no need for any DB back-end at all, but I don't understand how persistence is possible in that way as well as scalability.

tony.kay14:10:44

Pathom really makes it irrelevant for most apps. Treat pathom as your data provider and quit thinking of the back-end in terms of databases at alll…that’s my recommend. It’s an implementation detail the front-end should not need to care about.

Arto Kalishian15:10:38

Thank you for your reply. I think there are things I still don't understand preventing me from the getting the full picture you are explaining. So far as the Fulcro documentation is concerned all the graph database is stored on the client side right? If I want to save them permanently somewhere other than the browser (client), and I want to store data on the server because this data is not like UI states.. they are data I would like to be able to retrieve later like for example medical records... Will pathom store it somewhere on the server and in which data format? I know that my questions may sound naive to you but I am still trying to catch up with technology 🙂

tony.kay15:10:06

Yeah, keep going on the videos 😉

Abhinav Sharma06:10:31

@arto.eg, could you please share the reddit link - I’d be interested in learning the reasons there 🙂

Vachi09:10:27

@arto.eg you could use walkable to provide a EQL backend for fulcro https://github.com/walkable-server/walkable

❤️ 4
Arto Kalishian09:10:25

@vachichng Thanks a lot. Will check it right away.

Vachi09:10:26

maybe you will find this interesting too , https://github.com/walkable-server/realworld-fulcro

Arto Kalishian09:10:24

Thank you. This is a very good addition to my learning resources.

Arto Kalishian09:10:42

To elaborate more, I was thinking of a complete PostgreSQL replacement.

Arto Kalishian10:10:02

"Fulcro makes no assumptions nor does it have any requirements about back-end databases. You don’t even have to have a back-end: You can easily simulate one with the browser (like this book does), wrap browser local storage, or simply not use one at all."

Arto Kalishian10:10:08

This is from the documentation

Arto Kalishian10:10:36

Does this approach alone without any server backend DB scales? If not, how many records it can have before being un-usable or break?

Arto Kalishian10:10:55

So I can estimate the proper use cases.

Vachi11:10:14

well, if I'm not mistaken, the limit is your ram, since it is loaded in your browser

Arto Kalishian11:10:49

So there is no storage on the server-end at all.

Vachi11:10:32

yeah, fulcro is for SPA mostly

Arto Kalishian11:10:07

Ok. And if you have to choose between Datascript, Datahike and Crux, which would you choose for scalable web app solutions?

Vachi11:10:00

Datascript is browser only , well, I would stick with a relational db to be honest, unless you need time storage , then Crux

Arto Kalishian11:10:21

Thanks a lot Vachi for your help and time.

Vachi11:10:34

you are welcome 🙂

😊 4
Arto Kalishian11:10:12

I just stumbled on Neo4J DB, which claims to be neither SQL nor NO-SQL and Graph compliant. Would be curious to know if anyone tried it with Fulcro 🙂

kszabo11:10:27

I would just use Postgres if you don’t know what you want. Community support > everything if you are still prototyping

👍 4
Arto Kalishian11:10:53

Thank you @thenonameguy for your feedback.

Arto Kalishian11:10:07

For those of you beginning to learn Fulcro, I have created a public Trello board with all the of the official Fulcro documentation index which makes it easier for structured learning. You can take a copy of the checklist directly to your private board. This way each section you finish you can mark on the checklist as well as note the sections you need to get back later (if you decide to skip some sections), and note questions. This approach will help you to keep track of progress of what you learned as learning a full stack solution like this needs time and patience. Good luck to everyone: https://trello.com/b/JopxRvaE

👍 4