Backend

Backend choices for Create Full Stack. Hasura is recommended for most cases.

Apollo Server Express

GitHub stars

This choice scaffolds out a TypeScript Node server at packages/server/.

Apollo Server Express uses Node.js and the Express web framework to create a GraphQL API. Developers explicitly define the GraphQL resolvers. This makes use cases with lots of custom business logic simpler at the expense of manually coding everything.

Features

  • GraphQL: Yes
  • Automatic resolvers: No
  • Developer console: No
  • GraphQL playground: Yes
  • Permissions/Auth support: Yes
  • Database: Postgres
  • ORM: TypeORM
  • Migration support: Yes
  • Custom business logic: Yes

Stack

Hasura

GitHub stars

This choice includes the Hasura Docker image and configuration files at hasura/.

Given a Postgres database Hasura provides a GraphQL API and a web console. From the web console developers can modify the Postgres schema, API permissions on a column level or add hooks for custom business logic. Schema changes from the console automatically create migration files which are applied anytime Hasura is spun up. Hasura is open-source and runs in a Docker container.

Features

  • GraphQL: Yes
  • Automatic resolvers: Yes
  • Developer console: No
  • GraphQL playground: Yes
  • Permissions/Auth support: Yes
  • Database: Postgres
  • ORM: N/A
  • Migration support: Yes
  • Custom business logic: Requires additional service