Answer the question
In order to leave comments, you need to log in
Choosing an architecture for a web application
A web application prototype is created. Neo4j has already been chosen as the base. Now the choice is for everything else (BL, interface, etc.). An idea arose: to implement the application completely on the client, for example, AngularJS, and communicate with the DBMS via REST (for example, using this ). We get a fairly lightweight and flexible application, written to the maximum in one language and relative non-attachment to the base.
What do you think could come of this. If anyone has a similar experience, maybe not with Neo4j, but for example with CouchDB or something else?
Answer the question
In order to leave comments, you need to log in
I would actually write a RESTful JSON API, instead of communicating directly with the DB, at least more options for managing access policies.
With CouchDB, you can also do this and transfer all the logic directly to the database, and they communicate there via HTTP-JSON.
If you are writing a prototype (and this is indicated in the topic), then I would recommend not to pervert with technologies, but to take what you know best and write on it as quickly as possible in order to understand the bottlenecks of the application, including from the point business perspective. Then, when the prototype is ready and there is more understanding of what you are doing and why, throw out all or almost all of this code, think over the architecture normally, choose technologies and do everything wisely. Because in the current situation it looks more like you just want to play around with fashionable technologies, this is not bad at all, but not the best option for prototyping.
You don’t implement EVERYTHING on the client side, but the more you take out, the better. In the case of AngularJS, you can generally serve HTML pages from the server and then fill them with data after ajax requests. But directly from the database without a backend at all ... There is such a movement, No Backend !, but even there they understand that completely getting rid of the backend is unattainable. For example, consider integrating with PayPal.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question