For a familiar person project, you need a primitive backend, a CRUD for a dozen resources, authorization, and simple authentication.The main difficulties of the project will be on the front end.
There are no backenders in the team, but there is a good front end vendor.

What tools can act as a backend for such a project?

Who can give feedback on PostgREST, Firebase, Horizon REST API, Hasura GraphQL, Graphcool and analogues? What is mainstream?
  • What seems primitive from the front line on the back can serve a lot of code

    If everything is really simple there, then FIrebase is enough for you. But when you migrate to your decision, you will be hurt

    All that you will host will require backender and the whole point of the limitations of"ready simple solutions"
    – Disney's88 Jun 30 '19 at 20:27
  • Disney's88,
    All that you host will require backender and the whole point of the limitations of"ready-made simple solutions"
    is lost, why do you need?
    I, as a backlogist, do not agree.
    – Panicky96 Jun 30 '19 at 20:55
  • Panicky96, who will customize, deploy and monitor the entire farm? – Disney's88 Jun 30 '19 at 20:58
  • Disney's88, backendors and front-end users are treated the same in such things(usually poorly or satisfactorily).Usually admins/devops do this. – Panicky96 Jun 30 '19 at 21:22
  • Panicky96,
    Then for your front-end workers there is no problem to roll on your knee api and install postgres and the essence of the question disappears in principle
    – Disney's88 Jun 30 '19 at 21:25
  • Disney's88, And this frontend will be of the same foul quality as the frontend made by the backend. – Panicky96 Jun 30 '19 at 21:54
  • Disney's88, besides, the cost will come out significantly more than the basic ready-made solution – Panicky96 Jul 1 '19 at 00:57
  • Panicky96Disney's88 I see there is a discussion about who can/should deploy, and I can say that there are very very different opinions among people in general.
    Personally, I always thought that the backend mid-level just have to be able to pack/deploy your application.A-la to rent vps, log in via ssh, configure there what you need through all sorts of supervisor/ansible/pm2/capistrano/etc...Make complex scalable solutions are not necessary, but at least a basic deployment so that I can.
    Accordingly, for the frontend it will be able to build its static application and upload it to the server.
    And that week, in the kitchen, I asked about 5-6 colleagues what they think about “should the mid-backend be able to deploy?”, To which the guys were reduced to the opinion that they shouldn't.
    At this moment I just hung)
    – Horrifying Theme Jul 1 '19 at 20:15
  • Horrifying Theme, with what joy? For example, I want to just write code.I like it and sometimes it turns out something more or less adequate.I tried to figure out all the virtues of the devops - I broke the keyboard(figuratively) with mats and cries.I just ran across what for me personally, writing a service/creak/application is much easier than then putting it somewhere.I found several template solutions for myself + there are several freelance admins at hand.Now there is a bunch of standard solutions, ready-made assemblies, etc., that is .everything that would separate and split back, deploy, fro t for different industries and in each industry there are more and more solutions.Seriously, I somehow wrote the required code in a couple of hours, and then I tried to run it on the server for almost a day, it shouldn’t be like that fuck after writing a working code, I have to think about how it should somehow start somewhere, just like fronts should not care how their forms will be processed and back-ends should not worry how they will look on the front of their processing . – Leisure Suit Jul 1 '19 at 21:00
  • Horrifying Theme, should not be professionally, for this there is a separate profession - an engineer devops, at some basic level(build the application for production, move it to another computer and run it).
    Accordingly, the front-end manager, whom we are talking about, is able to do all this, of course.

    Leisure Suit, the developer has the maximum expertise on how to build your application. The devops-engineer is not required to know the subtleties of the development stack, and the developer is not required to know the automation tools.But the devops culture itself will force them to work together within their competence.
    – Panicky96 Jul 1 '19 at 21:23
  • Panicky96, I say that for at least my beloved one should be able to do it.When I started to work, the words"devops" did not exist.All of them tuned up.experiencing how their creation goes to the prod. – Horrifying Theme Jul 1 '19 at 22:12
  • Horrifying Theme, there was no devops, and administrators were engaged in automation, and the developers had expertise in the assembly.Nothing had changed, just the word"devops" did not exist. – Panicky96 Jul 2 '19 at 00:32

7 Answers 7

Recently I came across the Python Eve
library You need very little to start:
  1. Specify the connection string to the database: natively MongoDB, you can use a free instance on cloud.mongodb.com with a limit of 512 MB, but also declared the presence of adapters to other databases
  2. In the configuration file, describe the models of the stored data using JSON Schema and specify other necessary parameters
  3. Write literally 5 lines in Python to start the server

The result is as close as possible to a RESTful server.Examples of work and in general an article about using here
Authorization is also announced on the official website, just connect and configure
  • Thank you, only the choice has become even more difficult due to the increase in the number of candidates :) – Panicky96 Jun 30 '19 at 15:21
  • [[OnYourLips]], the advantage of this candidate will be that he can be raised very quickly and at no cost and try/see :) – Brave66 Jun 30 '19 at 15:58
loopback makes an excellent CRUD over any commonly used database.Models are described simply, concisely and flexibly.From the box, a bunch of methods for searching and filtering, plus swagger.
I once did a universal api https://github.com/grinat/faap that covers crud.Generate Nothing is needed, all by itself, express + Monga is used.In general, the essence of this thing is, if we need a blog with posts and comments, then we send requests:
post/post create post
get/post get posts, filtering, pagination, and so on comes
post/comment create comments
get/comment we get their list.Instead of post/comment, you can substitute any name.That is, we come up with the name of the collection on the front and send the data, they are recorded in the database and the whole crud is available, there is authorization(bearer token)/loading files/filters by sampling from-to/sorting/even there is a full-text search.As a side effect of all this dynamics, there is no validation, but you can manually register it.I do not recommend, because there is no built-in th validation, you can write it with pens, but then in my opinion the whole essence of this application is lost.In turnips there are examples, docks in swagger/open-api, and so on.
  • Yes, you correctly understood what I want, only I want a turnkey solution with the community. – Panicky96 Jul 1 '19 at 00:57
  • [[OnYourLips]], when I searched, they were not there, or analogues of jsonplaceholder(that is, you need to generate schemas) or frameworks.
    In general, for such purposes it is the best and fastest Monga plus koa/express, or go plus Monga.Monga will get rid of the crap with migrations and the requirements for describing the scheme, koa/express is very simple and there are no models/services/repositories and other stuff in which on a simple back-up, there is no need to describe models in go, but in general everything is the same as in koa/express.If the front has zero experience in back-up, it’s better that no one has thought up go, it will not give a shot in the foot and it’s hard to hit abstractions that will be clear only to the front and no one else, he encourages simplicity, this is the ideal language Ak for a beginner, and there are analogs of nodemon, for example fresh(that is, a hot reload to which all fronts are used to).
    – Xerothermic Xenomorph Jul 1 '19 at 01:37
  • [[grinat]], the front end vendor has little experience in nodejs, but the problem is not to train, not to spend extra time. – Panicky96 Jul 1 '19 at 08:49
1 strapi(node)
2 microwebber(lara)
I used https://www.dreamfactory.com/ on several small projects.I can do CRUD on popular DBMS, You can make resources on external APIs, write scripts(including on JS).There is an as a service, but you can also put it on your server.
From graphql quickly-deployable CRUD shells(Prisma/Graphcool, Postgraphile, Hasura, and self-written) I personally liked Hasura, now I am introducing it to production.
  • From graphql, I also looked at her as the most popular option.And if you need to enter some of your handler? I'm embarrassed by the extremely hipster choice of technology stack. – Panicky96 Jul 2 '19 at 08:53
  • Nobody bothers to raise express along with their handlers and business logic.3 years graphql in production, the flight is excellent, and you can always roll back to REST. – The88 Jul 2 '19 at 10:01
https://api-platform.com/ - CRUD, REST/GraphQL, Authorization, Customizable AF, Built on top of symfony