The Open Source Firebase Alternative with GraphQL

Overview

Nhost


Nhost

Quickstart   •   Website   •   Docs   •   Blog   •   Discord   •   Twitter

What is Nhost?

Nhost is a modern open-source Firebase alternative with the same developer experience on the backend as Netlify and Vercel on the frontend.

Nhost's goal is to provide the most productive developer experience to build apps. We use the most popular and powerful technologies and make them easy to use with zero vendor lock-in.

We also provide a workflow from your local development, to staging (coming soon), and finally to production. We try to make your life as a developer as efficient as possible.

A Nhost backend includes a PostgreSQL database, a GraphQL API (with Hasura), Authentication, Storage, and Serverless Functions.

Getting started

Create a Nhost project for free and get your backend in less than a minute.

Start your Nhost project →

How Nhost works

The Nhost stack consists of:

Database PostgreSQL

  • The World's Most Advanced Open Source Relational Database.

Realtime GraphQL (Hasura's GraphQL Engine)

  • Instant GraphQL API based on your database schema.
  • Event trigger webhooks on database changes (insert / update / delete).
  • Connect remote GraphQL schemas.
  • Hasura Actions to extend the GraphQL API with custom business logic.
  • Powerful permission system based on JWT tokens.

Authentication (Hasura Backend Plus)

  • Email / Password.
  • OAuth providers (Google, GitHub, Facebook, Twitter, Apple, Spotify, LinkedIn, Windows Live).

Storage (Hasura Backend Plus)

  • Let your users upload and download files / documents / images.
  • S3 like storage API.
  • On-the-fly image transformation.

Custom API / serverless functions

  • Add any business logic to your backend.

Community

Use Nhost GitHub Discussions and join our Discord Server.

Issues
  • Nothing rendering when NhostAuthProvider/NhostApolloProvider used

    Nothing rendering when NhostAuthProvider/NhostApolloProvider used

    I've added these in but nothing is rendered. If I remove them then everything renders as normal. Has anybody seen this?

    E.g.

    const App: FC<AppProps> = ({ Component, pageProps }: AppProps) => { return ( <NhostAuthProvider auth={auth}> <NhostApolloProvider auth={auth} gqlEndpoint={process.env.GRAPHQL_ENDPOINT}> <ChakraProvider> <Component {...pageProps} /> </ChakraProvider> </NhostApolloProvider> </NhostAuthProvider> ); }

    this just renders a blank page, but if I remove the Nhost providers it works as normal.

    opened by JavaJamie 3
  • Stuck at Creating Project

    Stuck at Creating Project

    Hi. I am evaluating this new product. I've just following the getting started guide and tried to create a "todos" app but now the process has been stuck on the "Creating your project..." step (Nhost console) for days now. Even when I pick my answers and move ahead, the process does not complete and stays at this step for hours.

    image

    opened by seyaobey-dev 2
  • ALLOWED_EMAIL_DOMAINS

    ALLOWED_EMAIL_DOMAINS

    Set ALLOWED_EMAIL_DOMAINS in the Nhost console to specify what email domain names are allowed to register accounts.

    opened by elitan 1
  • feat(examples): added example for Nhost with React-Query

    feat(examples): added example for Nhost with React-Query

    This PR adds a new example for Nhost with React-Query

    opened by alveshelio 1
  • Custom API - Allow for use of ES6 import

    Custom API - Allow for use of ES6 import

    Environment - Local/Nhost Dev Machine - Apple M1 Macbook Pro

    Issue When trying to create a custom API, I installed the Twilio package and the nhost_api server crashed and logged the following

    nhost_api | import net from 'net';
    
    nhost_api | ^^^^^^
    
    nhost_api |
    
    nhost_api | SyntaxError: Cannot use import statement outside a module
    
    nhost_api | at wrapSafe (internal/modules/cjs/loader.js:979:16)
    
    nhost_api | at Module._compile (internal/modules/cjs/loader.js:1027:27)
    
    nhost_api | at Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    
    nhost_api | at Object.require.extensions.<computed> [as .ts] (/usr/src/app/node_modules/ts-node/src/index.ts:1286:43)
    
    nhost_api | at Module.load (internal/modules/cjs/loader.js:928:32)
    
    nhost_api | at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    
    nhost_api | at Module.require (internal/modules/cjs/loader.js:952:19)
    
    nhost_api | at require (internal/modules/cjs/helpers.js:88:18)
    
    nhost_api | at /usr/src/app/index.ts:17:26
    
    nhost_api | at Array.forEach (<anonymous>)
    

    Expectation I should be able to import an npm package without issue

    opened by wontwon 1
  • next.js-apollo example

    next.js-apollo example

    opened by elitan 0
  • feat: example with vitedge

    feat: example with vitedge

    opened by subhendukundu 0
  • Fix login and register for Nhost with React-Query example

    Fix login and register for Nhost with React-Query example

    Fixed two minor issues in the Nhost with React-Query example example:

    • The register form was not passing the email and password to the auth.register function correctly.
    • The login form is never shown due to the user === null check
    opened by rustyb 0
  • selfhost how-to missing

    selfhost how-to missing

    assumption: every OSS app, is written for the people to use. for that a setup-instruction is a necassary part.

    please publish a how-to, docker-compose etc. TIA

    opened by chymian 0
  • [Feature Request] Hasura Pro Version Option

    [Feature Request] Hasura Pro Version Option

    Hi @elitan , For hasura's backend, testing and monitoring are almost non-existent right now. Hasura basic console does not offer the features for us to run regression testing and monitor the traffic. Is it possible to include this feature in the near future? Thanks

    opened by henry-huynh-3508 0
  • Versioning of storage rules

    Versioning of storage rules

    A versioning of the last saved storage rule settings would be great to "fallback" to the last working version.

    Probably someone screwed up his rules and has a struggle right now.. probably that someone is me ...:-|

    opened by MaxSchilling 1
  • Allow Disabling Anonymous Registration in Projects

    Allow Disabling Anonymous Registration in Projects

    It would be great to disable Anonymous registration from so that it cannot be controlled by an account admin. It seems that this could potentially be a security hole for some applications.

    I am not sure if this belongs here or the backend plus.

    opened by jmarbutt 0
  • Support Gitmojis on Deployments screen

    Support Gitmojis on Deployments screen

    image

    On the Deployment screen it would be awesome to support gitmojis. This is a minor suggestion but would line up with github support

    opened by jmarbutt 2
  • [Feature Request] Custom API Repository Path

    [Feature Request] Custom API Repository Path

    Dear @elitan ,

    in the docs, i read about Custom APIs ( https://docs.nhost.io/custom-api ), which would really be an awesome feature. Prior, i worked a lot with NestJS ( https://nestjs.com/ ), which is (at least for me) the go-to backend framework when i need to develop an API.

    For larger project, i always followed a monorepository approach (i.e., all of my applications (api, web application, mobile application, admin web application, ...) are stored within the same git repository. In this context, i used nrwl/nx to structure / maintain my monorepository. However, nrwl/nx has a predefined folder structure. For example, your apps are located within apps/!

    In this context, the custom api would not work, because the api would be stored in apps/awesome-api or whatever ;) Could you please make the api path within the repository customizable? Somewhere in the Settings page or whatever?

    All the best, Johannes

    opened by johannesschobel 2
  • [Question]: Export DB / Hasura Schema

    [Question]: Export DB / Hasura Schema

    Dear @elitan ,

    first of all, thanks for creating this awesome project. Really happy to take a look, read the docs and find my way around. Looks very promising.

    I am currently evaluating nhost as a BaaS solution here at university for our next projects. I am not sure if this repository is the correct place to ask some general questions or request features - but i will try anyway. Please feel free to transfer this issue to any other repository, if it is more suitable.

    In our institute, we support researchers from different domains in collecting, visualizing and analyzing (medical) health data. Based on our partners, we have a lot of "repeating projects" (i.e., deploy the same application over and over again for different scenarios, like tinnitus, diabetes, ...).

    In order to easily manage these projects, i would like to have :

    • some kind of export feature, that allows to quickly dump the entire project (i.e., the entire database schema with all relations, and so on)
    • import this schema within a newly created project and have everything setup.

    Can you point me into the right direction? Is this (already) possible? If so, how? Can we add such a "schema description" file to our git repository and keep track of changes?

    All the best, Johannes

    opened by johannesschobel 4
  • Move Sign in Methods & Authentication Settings to Authentication Section

    Move Sign in Methods & Authentication Settings to Authentication Section

    This also seems like the experience could be easier if the Sign in methods and Authentication settings where moved under the Authentication section at the top of the console.

    opened by jmarbutt 0
  • Move Storage Rules to Storage Tab in Console

    Move Storage Rules to Storage Tab in Console

    From a usability standpoint having the Storage Rules under settings is confusing. It would be great to have it under the storage section.

    opened by jmarbutt 2
  • Allow Specifying roles on User Create UI

    Allow Specifying roles on User Create UI

    When creating a user, it would be great to specify roles in the UI on this screen. image

    opened by jmarbutt 0
The Open Source Firebase Alternative with GraphQL

Nhost is a modern open-source Firebase alternative with the same developer experience on the backend as Netlify and Vercel on the frontend.

Nhost 428 Jun 10, 2021
JSON Schema Editor is an intuitive editor for JSON schema. It provides a tree view to present the structure of schema, and a property inspector to edit the properties of schema element. Develop with Vue.js 2 and Firebase.

json-schema-editor An intuitive editor for JSON schema which provides a tree view to present structure of schema and a property inspector to edit the

TangramJs 193 May 20, 2021
:sailboat: Vuejs and Firebase based CMS

Tamiat CMS Tamiat headless CMS Made with ❤︎ by Mahmoud Nouman and contributors Support our development with What It Looks Like Getting Started To get

Tamiat CMS 517 Jun 2, 2021
🌵 Web application to manage plants

?? Application ⁃ ?? Website ⁃ ?? Roadmap ⁃ ?? Issues Current version: 1.7.3 ?? About HappyPlants is all about collecting, organising, and adding all k

Moritz Kröger 182 May 31, 2021
🔥From a little spark may burst a flame.

Wildfire A drop-in replacement for other comment plug-ins. Please visit the brand new Wildfire Home Page (https://wildfire.js.org). Detailed documenta

程康 175 Apr 22, 2021
webchat via WebSockets/WebRTC that allows messaging/video call/screen sharing

Live demo: pychat.org, video Table of contents About When should I use pychat How to host pychat Run test docker image Run prod docker image Native se

Andrew 167 Jun 3, 2021
A beautiful chat rooms component made with Vue.js - compatible with Vue, React & Angular

A beautiful chat rooms component made with Vue.js - compatible with Vue, React & Angular

Antoine Dupont 441 Jun 13, 2021
Tomato5 is a real-time collaboration tool.

Tomato5 is a real-time collaboration tool. It combines Pomodoro Technique with a team status share board. Homepage: http://tomato5.io Updates 1.3.0 Ne

Zhang Xin 237 Mar 4, 2021
Social Ideation application to manage Ideas. Developed with Vue, Firebase & Vuetify

Idea Re-Vue ?? Social ideation platform that helps you brainstorm Ideas. Create, edit, collaborate & share ideas in a fun, visual way ?? TRY IT FREE ?

Muhammad Muhaddis 15 May 8, 2021
🍯 Measure cloud providers and check which fits better for your Jamstack App.

?? Measure cloud providers and check which fits better for your Jamstack App. Overview The process is quite simple. It starts creating a basic Nuxt.js

Checkly 13 May 10, 2021
FHEMApp ist eine Web-Application zur Steuerung deiner Smarthome Umgebung.

FHEMApp ist eine Web-Application zur Steuerung deiner Smarthome Umgebung. Sie wurde als Frontend für den Einsatz mit FHEM(tm) entwickelt. FHE

jens 12 Jun 2, 2021
A website for all the live youtube channels.

YT Live A list of live youtube tv channels. Why did I make this? A friend had a list of live youtube channels saved as a Google sheet and mentioned th

Fayaz Ahmed 12 Jun 2, 2021
A sample shop built with Nuxt, Stripe, Firebase and Serverless Functions

buefy-shop Demo production - dev Inspired by sample-vue-shop Serverless lambda function used for stripe Build Setup # install dependencies $ yarn inst

null 217 Jun 8, 2021