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.

Comments
  • DB Connection string not available

    DB Connection string not available

    Hi, I need the connection string to be able to connect to the postgres db in Nhost v2.


    Update: NHost team now provides postgres DB Connection string 🚀

    enhancement 
    opened by fabioespinosa 36
  • Possibility to integrate with existing authentication provider

    Possibility to integrate with existing authentication provider

    Hello nHost team, thanks for the great product!

    But may I know if it's possible to reuse any existing authentication provider for the JWT authentication in hasura? For example, can I also support Firebase for authentication in addition to nHost auth?

    https://hasura.io/docs/latest/graphql/core/auth/authentication/jwt/#introduction

    Currently, the system doesn't allow me to set the HASURA_GRAPHQL_JWT_SECRET ENV, which is how hasura adds a JWT authentication.

    image enhancement dashboard 
    opened by samuelchanx 28
  • Functions ignored during deploy when base directory is not repo root

    Functions ignored during deploy when base directory is not repo root

    I have a function that I am using as a Hasura action. Everything works as expected locally, using the CLI, however when the project deploys in the cloud the functions do not get built.

    I am I doing something wrong? Or is there somewhere I can see detailed deployment logs?

    Version: Nhost CLI v0.6.12 for darwin-amd64

    Functions located in functions directory: 180446920-58ddde16-7d00-431f-acb0-4c77068ee470

    Deploy occurs after committing to repo, but no functions were built: Screen Shot 2022-07-22 at 8 05 51 AM

    No functions listed: Screen Shot 2022-07-22 at 8 06 17 AM

    Server returns generic error, if I change the function name to gibberish I get the same error message returned: Screen Shot 2022-07-22 at 8 09 22 AM

    It works when running locally: Screen Shot 2022-07-22 at 8 09 08 AM

    bug functions 
    opened by joserocha3 23
  • NhostNextProvider broken SSG(static site generation) on NextJS application

    NhostNextProvider broken SSG(static site generation) on NextJS application

    I'm trying to use NhostNextProvider on NextJS application. But once I used the provider, SSG is not working at all. If I remove it, then everything is fine. How can I solve this?

    image

    bug nextjs 
    opened by pumpkin46 22
  • Started getting error  - Can't import the named export 'ApolloProvider' from non EcmaScript module

    Started getting error - Can't import the named export 'ApolloProvider' from non EcmaScript module

    I've started getting this error while compiling suddenly when updated the Nhost dependencies

    The version for Nhost libraries are - "@nhost/nhost-js": "^1.2.1", "@nhost/react": "^0.7.10", "@nhost/react-apollo": "^4.2.11",

    ./node_modules/@nhost/react-apollo/dist/index.esm.mjs Can't import the named export 'ApolloProvider' from non EcmaScript module (only default export is available)

    Tried with downgrading and install the dependencies but the issue is not resolved and now the my portal is broken. "@nhost/nhost-js": "^1.1.14", "@nhost/react": "^0.7.8", "@nhost/react-apollo": "^4.2.9",

    bug sdk 
    opened by dikshatekriwal 21
  • Dashboard - Cannot read properties of null (reading 'awsName')

    Dashboard - Cannot read properties of null (reading 'awsName')

    Describe the bug This bug is on the local development with nhost cli - then on http://localhost:3030/ I see error (screenshot below). This error is on the another pages. GraphQL, Auth and storage dont work too.

    To Reproduce Steps to reproduce the behavior:

    1. nhost up
    2. Open http://localhost:3030/
    3. On main screen see error "awsName"

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots image image image

    Desktop:

    • OS: Windows + WSL2
    • Browser Chrome
    • Version Nhost CLI v0.8.12 for linux-amd64
    bug dashboard 
    opened by suplere 17
  • Refactor/merge core

    Refactor/merge core

    problems:

    • @nhost/hasura-storage-js depends on @nhost/hasura-auth-js for its types
    • not new: when A depends on B depends on C, A needs to define both B and C as a dependency. Annoying.
    opened by plmercereau 17
  • Unexplained cancelled requests

    Unexplained cancelled requests

    Hi folks 👋

    We've started seeing cancelled fetch requests in production.

    They only happen for our customers in Thailand. Instance is in europe.

    Situation

    • Local machine based in the EU
    • Works: no requests fail.
    • Use VPN to pretend to be in other EU destinations. Always works. Screenshot 2022-11-29 at 13 48 54

    Unexpected

    • Visit URL from Thailand
    • Use VPN to pretend to be outside of the EU. Always fails.
    • requests get cancelled. No Errors Screenshot 2022-11-29 at 13 49 53

    I've rolled back commits. Doesn't look like it's our application code that changed. So, I'm naturally thinking: nhost infra?

    Looks like it could be one of two things. Either:

    1. User data is inside the EU instance. So nhost is cancelling and failing silently.
    2. The round-trip is taking too long, so the server is giving-up early

    Any suggestions?

    cloud 
    opened by mmmoli 11
  • empty session when new user signUp

    empty session when new user signUp

    I remember it worked fine when I tried it couple months ago, but now when I'm running const { session, error} = await nhostTestStore.nhost.auth.signUp({...}) the resulting session is null - but the user is created fine

    opened by yureckey 11
  • `hasura-auth-js` breaking on Vercel

    `hasura-auth-js` breaking on Vercel

    While deploying my NuxtJS application on Vercel, the hasura-auth-js is breaking for some reason. This wasn't happening until a month ago. And I didn't even change anything on my end. I'm also not getting this error locally. Everything is working fine locally.

    I've tried changing multiple versions of @nhost/nhost-js. But none of them could solve this issue. Even tried falling back on v0.3.12. Even that didn't work.

    Something is happening in @nhost/hasura-auth-js. Something that wasn't happening a month before.

    Maybe @plmercereau can take a look at this.

    ERROR in ./node_modules_dev/@nhost/hasura-auth-js/dist/index.cjs.js 1:8801
      Module parse failed: Unexpected token (1:8801)
      You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
      > var A=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols;var y=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable;var P=(i,e,n)=>e in i?A(i,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):i[e]=n,d=(i,e)=>{for(var n in e||(e={}))y.call(e,n)&&P(i,n,e[n]);if(p)for(var n of p(e))I.call(e,n)&&P(i,n,e[n]);return i};var N=i=>A(i,"__esModule",{value:!0});var T=(i,e)=>{var n={};for(var t in i)y.call(i,t)&&e.indexOf(t)<0&&(n[t]=i[t]);if(i!=null&&p)for(var t of p(i))e.indexOf(t)<0&&I.call(i,t)&&(n[t]=i[t]);return n};var x=(i,e)=>{for(var n in e)A(i,n,{get:e[n],enumerable:!0})},k=(i,e,n,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of U(e))!y.call(i,r)&&(n||r!=="default")&&A(i,r,{get:()=>e[r],enumerable:!(t=O(e,r))||t.enumerable});return i};var D=(i=>(e,n)=>i&&i.get(e)||(n=k(N({}),e,1),i&&i.set(e,n),n))(typeof WeakMap!="undefined"?new WeakMap:0);var L={};x(L,{HasuraAuthClient:()=>C});var m=require("xstate"),o=require("@nhost/core");var E=require("@nhost/core"),g=()=>typeof window<"u",c=i=>!i||!i.accessToken.value||!i.refreshToken.value?null:{accessToken:i.accessToken.value,accessTokenExpiresIn:(i.accessToken.expiresAt.getTime()-Date.now())/1e3,refreshToken:i.refreshToken.value,user:i.user},l=(i,e)=>{e.forEach(n=>{typeof i[n]!="function"&&console.error(`clientStorage.${n} is not a function`)})},w=(i,e)=>{if(e){if(i==="react-native"||i==="custom")return l(e,["getItem"]),n=>{var t;return(t=e.getItem)==null?void 0:t.call(e,n)};if(i==="capacitor")return l(e,["get"]),n=>{var t;return(t=e.get)==null?void 0:t.call(e,{key:n})};if(i==="expo-secure-storage")return l(e,["getItemAsync"]),n=>{var t;return(t=e.getItemAsync)==null?void 0:t.call(e,n)}}return E.defaultClientStorageGetter},R=(i,e)=>{if(e){if(i==="react-native"||i==="custom")return l(e,["setItem","removeItem"]),(n,t)=>{var r,s;t?(r=e.setItem)==null||r.call(e,n,t):(s=e.removeItem)==null||s.call(e,n)};if(i==="capacitor")return l(e,["set","remove"]),(n,t)=>{var r,s;t?(r=e.set)==null||r.call(e,{key:n,value:t}):(s=e.remove)==null||s.call(e,{key:n})};if(i==="expo-secure-storage")return l(e,["setItemAsync","deleteItemAsync"]),async(n,t)=>{var r,s;t?await((r=e.setItemAsync)==null?void 0:r.call(e,n,t)):(s=e.deleteItemAsync)==null||s.call(e,n)}}return E.defaultClientStorageSetter};var S={message:"User is already signed in",status:100},b={message:"User is not authenticated",status:101},G={message:"User is not anonymous",status:101},M={message:"Email needs verification",status:102},C=class{constructor({url:e,autoRefreshToken:n=!0,autoLogin:t=!0,clientStorage:r,clientStorageType:s="web",clientStorageGetter:u,clientStorageSetter:a,refreshIntervalTime:f,start:h=!0,Client:_=o.AuthClient}){this._client=new _({backendUrl:e,autoRefreshToken:n,autoSignIn:t,start:h,clientStorageGetter:u||w(s,r),clientStorageSetter:a||R(s,r),refreshIntervalTime:f})}async signUp(e){let n=await this.waitUntilReady(),{email:t,password:r,options:s}=e;return this.isAuthenticated()?{session:null,error:S}:new Promise(u=>{n.send({type:"SIGNUP_EMAIL_PASSWORD",email:t,password:r,options:s}),n.onTransition(a=>{if(a.matches({authentication:{signedOut:"needsEmailVerification"}}))return u({session:null,error:null});if(a.matches({authentication:{signedOut:"failed"}}))return u({session:null,error:a.context.errors.registration||null});if(a.matches({authentication:"signedIn"}))return u({session:c(a.context),error:null})})})}async signIn(e){let n=await this.waitUntilReady();if(this.isAuthenticated())return{session:null,mfa:null,error:S};if("provider"in e){let{provider:t,options:r}=e,s=(0,o.encodeQueryParameters)(`${this._client.backendUrl}/signin/provider/${t}`,(0,o.rewriteRedirectTo)(this._client.clientUrl,r));return g()&&(window.location.href=s),{providerUrl:s,provider:t,session:null,mfa:null,error:null}}return"email"in e&&"password"in e?new Promise(t=>{n.send(d({type:"SIGNIN_PASSWORD"},e)),n.onTransition(r=>{r.matches({authentication:"signedIn"})?t({session:c(r.context),mfa:null,error:null}):r.matches({authentication:{si
    message.txt
    5 KB
    

    Screenshot from Vercel deployment:

    Screen Shot 2022-04-15 at 08 35 11 AM

    opened by mrinalwahal 11
  • feat: use the `graphql-request` client at `nhost.graphql`

    feat: use the `graphql-request` client at `nhost.graphql`

    • Plug a graphql-request client to nhost.graphql
    • Add new getters nhost.graphql.httpUrl and nhost.graphql.wsUrl, and deprecate nhost.graphql.getUrl()
    • Update the documentation

    Package is bumped to major as this introduces a breaking change - let me know if you want to bump it to major instead.

    Closes #1177 and #1229

    documentation dashboard sdk 
    opened by plmercereau 10
  • make a user authenticate with phone also

    make a user authenticate with phone also

    It is a feature request : When a new user is asked to verify the email after signing up in local mode via mobile not with laptop , redirects to the localhost error.

    Sol'n I would like to have : As user authentication is being tested locally , he should be able to verify email via mobile and would be redirected to a page acknowledgement about the verification.

    enhancement 
    opened by chandhuDev 3
  • signUpEmailPassword function is deprecated?

    signUpEmailPassword function is deprecated?

    Discussed in https://github.com/nhost/nhost/discussions/1464

    Originally posted by ankur1163 January 3, 2023 In vs code, i see strike through on signupemailpassword. Is this deprecated or its something else?

    https://prnt.sc/2CYzqW8P4G48

    sdk 
    opened by elitan 0
  • Possible bug: users could assign themselves roles from the list of allowed roles list even if I don't want them to

    Possible bug: users could assign themselves roles from the list of allowed roles list even if I don't want them to

    I would like to enforce allowed roles on the backend side instead of the client like mentioned in the doc with: await nhost.auth.signUp({ email: '[email protected]', password: 'secret-password' options: { allowedRoles: ['user'] } })

    This poses a security vulnerability as it could be modified client side to give other allowed roles (like admin for example?)

    Is there a good way to do this ?

    I was thinking of using event triggers but it would occur after the user insert and is not really advisable Another way to do it is either with postgre constraints or actions ?

    The potential requirement here is: I want to securely assign a subset of allowed roles to certain user profiles. e.g. a regular user will not be able to have the role appAdmin

    Thanks a lot in advance !!

    opened by juicygoose 0
  • feat: image transformation parameters

    feat: image transformation parameters

    It is now possible to pass on image transformation parameters in nhost.storage.getPublicUrl(). Available parameters:

    • height
    • width
    • blur
    • quality

    For instance:

    const url = nhost.storage.getPublicUrl({
      fileId: 'cd8eaca3-30a9-460e-b4d7-b4b7afc759c1',
      width: 800,
      blur: 20
    })
    

    missing part: test on the quality parameter, that doesn't seem to work correctly in hasura-storage

    enhancement sdk 
    opened by plmercereau 3
  • Cannot connect to Github from separate nhost accounts.

    Cannot connect to Github from separate nhost accounts.

    Hello 🙂 I'm having trouble connecting my nhost project to a github repository. The NHost app is already installed on github and several repositories are already linked to other NHost workspaces on different accounts. As shown on the screenshots, I can only "Connect to Github", then "Configure the app". 3 repositories are supposed to be accessible, but none is available when back on my dashboard.

    Thanks for the help 🙂

    Screenshot_2023-01-02_at_17 00 34 Screenshot_2023-01-02_at_17 00 49 Screenshot_2023-01-02_at_17 03 04
    opened by Shinlun 2
Releases(@nhost/[email protected])
  • @nhost/[email protected](Jan 4, 2023)

    Patch Changes

    • 85683547: Allow useFileUpload to be reused Once a file were uploaded with useFileUpload, it was not possible to reuse it as the returned file id were kept in memory and sent again to hasura-storage, leading to a conflict error. File upload now makes sure to clear the metadata information from the first file before uploading the second file.
    Source code(tar.gz)
    Source code(zip)
  • @nhost/[email protected](Jan 4, 2023)

    Patch Changes

    • 1be6d324: Only export what is required by the user or @nhost/nextjs
    • 2e8f73df: Improve the error message when the application is not wrapped in <NhostProvider></NhostProvider>
    • 85683547: Allow useFileUpload to be reused Once a file were uploaded with useFileUpload, it was not possible to reuse it as the returned file id were kept in memory and sent again to hasura-storage, leading to a conflict error. File upload now makes sure to clear the metadata information from the first file before uploading the second file.
    Source code(tar.gz)
    Source code(zip)
  • @nhost/[email protected](Jan 4, 2023)

  • @nhost/[email protected](Jan 4, 2023)

  • @nhost/[email protected](Jan 4, 2023)

  • @nhost/[email protected](Jan 4, 2023)

  • @nhost/[email protected](Jan 4, 2023)

    Patch Changes

    • 85683547: Allow useFileUpload to be reused Once a file were uploaded with useFileUpload, it was not possible to reuse it as the returned file id were kept in memory and sent again to hasura-storage, leading to a conflict error. File upload now makes sure to clear the metadata information from the first file before uploading the second file.
    Source code(tar.gz)
    Source code(zip)
  • @nhost/[email protected](Jan 4, 2023)

  • @nhost/[email protected](Jan 2, 2023)

    Patch Changes

    • b21222b3: chore(deps): update dependency @types/node to v16
    • 54df0df4: Remove unused immer dependency
    • Updated dependencies [b21222b3]
    • Updated dependencies [19cca7f4]
    • Updated dependencies [65687bee]
    • Updated dependencies [54df0df4]
    • Updated dependencies [1a9e1fde]
    • Updated dependencies [5be9abb0]
    • Updated dependencies [54df0df4]
    Source code(tar.gz)
    Source code(zip)
  • @nhost/[email protected](Jan 2, 2023)

  • @nhost/[email protected](Jan 2, 2023)

    Minor Changes

    • 65687bee: Remove @nhost/nhost-js from peerDepencencies

      The contents of the @nhost/nhost-js package are now exported by @nhost/react.

    Patch Changes

    • b21222b3: chore(deps): update dependency @types/node to v16
    • 54df0df4: Remove unused immer dependency
    • 54df0df4: Improve the initialisation of the internal authentication state to support React 18 strict mode
    • Updated dependencies [b21222b3]
    • Updated dependencies [19cca7f4]
    • Updated dependencies [65687bee]
    • Updated dependencies [54df0df4]
    • Updated dependencies [1a9e1fde]
    • Updated dependencies [5be9abb0]
    • Updated dependencies [54df0df4]
    Source code(tar.gz)
    Source code(zip)
  • @nhost/[email protected](Jan 2, 2023)

    Patch Changes

    • b21222b3: chore(deps): update dependency @types/node to v16
    • Updated dependencies [b21222b3]
    • Updated dependencies [54df0df4]
    • Updated dependencies [54df0df4]
    • Updated dependencies [65687bee]
    Source code(tar.gz)
    Source code(zip)
  • @nhost/[email protected](Jan 2, 2023)

  • @nhost/[email protected](Jan 2, 2023)

    Minor Changes

    • 19cca7f4: Deprecate Axios

      Axios will be replaced by cross-fetch in the near future.

      To prepare for the transition, we are deprecating the old signature for the following methods:

      • nhost.functions.call()
      • nhost.graphql.request()

      Both methods now accept an optional useAxios parameter that can be used to opt-in ({ useAxios: false }) to the new method signature. By default, useAxios is set to true so you can update it on your own time.

      When using useAxios: false:

      • the only allowed option is headers: Record<string,string>
      • the returned value matches values foreseen in the next major version:
        • nhost.functions.call:
          • error is using the same standard error type as in hasura-auth-js and hasura-storage-js
          • res is using { status: number; statusText: string; data: T }
        • nhost.graphql.request:
          • error is either using the standard error type, or GraphQlError[]
    • 65687bee: Remove @nhost/hasura-auth-js and @nhost/hasura-storage-js from peerDepencencies

      The contents of both clients are now available from @nhost/nhost-js.

    Patch Changes

    • b21222b3: chore(deps): update dependency @types/node to v16

    • 54df0df4: Improve the initialisation of the internal authentication state to support React 18 strict mode

    • 1a9e1fde: Remove unused query-string dependency

    • 5be9abb0: Allow custom values for the Accept-Encoding header in nhost.graphql.request

    • 54df0df4: Use initial session sent from the server

      When running a SSR page, the session was correctly created from the refresh token on the server side and was sent to the client side, but was not used correctly on the client side. As a result, the client was refreshing the access token when loading the page, rather than using the access token sent by the server. The client now uses the session sent from the server.

    • Updated dependencies [b21222b3]

    • Updated dependencies [19cca7f4]

    • Updated dependencies [54df0df4]

    Source code(tar.gz)
    Source code(zip)
  • @nhost/[email protected](Jan 2, 2023)

    Minor Changes

    • 65687bee: Remove @nhost/react from peerDepencencies

      The contents of the @nhost/react package are now exported by @nhost/nextjs. As a result, It is not required to install @nhost/react alongside @nhost/nextjs.

      Before:

      yarn add @nhost/react @nhost/nextjs graphql
      

      After:

      yarn add @nhost/nextjs graphql
      

      Closes #1335

    Patch Changes

    • b21222b3: chore(deps): update dependency @types/node to v16

    • 54df0df4: Use initial session sent from the server

      When running a SSR page, the session was correctly created from the refresh token on the server side and was sent to the client side, but was not used correctly on the client side. As a result, the client was refreshing the access token when loading the page, rather than using the access token sent by the server. The client now uses the session sent from the server.

    • Updated dependencies [b21222b3]

    • Updated dependencies [54df0df4]

    • Updated dependencies [54df0df4]

    • Updated dependencies [65687bee]

    Source code(tar.gz)
    Source code(zip)
  • @nhost/[email protected](Jan 2, 2023)

  • @nhost/[email protected](Jan 2, 2023)

    Minor Changes

    • 19cca7f4: Deprecate Axios

      Axios will be replaced by cross-fetch in the near future.

      To prepare for the transition, we are deprecating the old signature for the following methods:

      • nhost.functions.call()
      • nhost.graphql.request()

      Both methods now accept an optional useAxios parameter that can be used to opt-in ({ useAxios: false }) to the new method signature. By default, useAxios is set to true so you can update it on your own time.

      When using useAxios: false:

      • the only allowed option is headers: Record<string,string>
      • the returned value matches values foreseen in the next major version:
        • nhost.functions.call:
          • error is using the same standard error type as in hasura-auth-js and hasura-storage-js
          • res is using { status: number; statusText: string; data: T }
        • nhost.graphql.request:
          • error is either using the standard error type, or GraphQlError[]

    Patch Changes

    • b21222b3: chore(deps): update dependency @types/node to v16
    • 54df0df4: Improve the initialisation of the internal authentication state to support React 18 strict mode
    Source code(tar.gz)
    Source code(zip)
  • @nhost/[email protected](Jan 2, 2023)

  • @nhost/[email protected](Jan 2, 2023)

  • @nhost/[email protected](Jan 2, 2023)

    Patch Changes

    • b21222b3: chore(deps): update dependency @types/node to v16
    • Updated dependencies [b21222b3]
    • Updated dependencies [19cca7f4]
    • Updated dependencies [65687bee]
    • Updated dependencies [54df0df4]
    • Updated dependencies [1a9e1fde]
    • Updated dependencies [5be9abb0]
    • Updated dependencies [54df0df4]
    Source code(tar.gz)
    Source code(zip)
  • @nhost/[email protected](Dec 14, 2022)

  • @nhost/[email protected](Dec 13, 2022)

  • @nhost/[email protected](Dec 13, 2022)

  • @nhost/[email protected](Dec 13, 2022)

    Minor Changes

    • 7f251111: Use NhostProvider instead of NhostReactProvider and NhostNextProvider

      NhostReactProvider and NhostNextProvider are now deprecated

    Source code(tar.gz)
    Source code(zip)
  • @nhost/[email protected](Dec 13, 2022)

  • @nhost/[email protected](Dec 13, 2022)

  • @nhost/[email protected](Dec 13, 2022)

  • @nhost/[email protected](Dec 13, 2022)

  • @nhost/[email protected](Dec 13, 2022)

An Open Source alternative to dbdiagram.io

dbdiagram-oss An Open Source alternative to dbdiagram.io, aiming to have the same basic features+more. Motivation behind the project was that $9/month

Dan Spiteri 50 Dec 29, 2022
Goldfish Social - Free open source alternative for Vine / TikTok (alpha). ActivityPub will come later!

Goldfish Social Meow there! Welcome to the Goldfish Social repo, this project is intended as a free open source alternative to (former) Vine and (curr

Goldfish 188 Jan 3, 2023
Laqu-l 130 Dec 27, 2022
Nuxt.js Universal App with SSR via Firebase Functions and Firebase Hosting

Nuxt.js Universal App with SSR via Firebase Functions and Firebase Hosting Host a Nuxt Universal app or site by combining Nuxt.js with Firebase Cloud

David Royer 282 Aug 20, 2022
Vue-firebase - New Project Firebase, BD no relacional

vue-firebase-start Project setup npm install Compiles and hot-reloads for development npm run serve Compiles and minifies for production npm run bui

Jose Carlos 1 Jan 3, 2022
Expensave is a MEVN + GraphQL web application which allows expense tracking over time.

Expensave Expensave is a MEVN + GraphQL web application created to track expenses over time. These expenses need to be added in form of items and are

Jikesh Thapa 0 Nov 14, 2021
🏎 A tiny and fast GraphQL client for Vue.js

villus Villus is a finger-like structures in the small intestine. They help to absorb digested food. A small and fast GraphQL client for Vue.js 3.x Th

Abdelrahman Awad 636 Jan 3, 2023
A terminating Apollo Link for Apollo Client that allows FileList, File, Blob instances within query or mutation variables and sends GraphQL multipart requests

A terminating Apollo Link for Apollo Client that allows FileList, File, Blob instances within query or mutation variables and sends GraphQL multipart requests

chandu 0 Sep 1, 2020
Connect and play with Supabase REST API / Graphql easily

Connect and play with Supabase REST API / Graphql easily

zernonia 36 Nov 29, 2022
This repository provides an automated solution for adding AWS Backup to AWS Amplify applications that use AWS AppSync with default GraphQL resolvers for DynamoDB tables.

aws-backup-amplify-appsync AWS Amplify makes it easy to build full stack front end UI apps with backends and authentication. AWS AppSync adds serverle

AWS Samples 3 Dec 26, 2022
▶️ ViewTube is an alternative YouTube frontend.

▶️ ViewTube is an alternative YouTube frontend.

ViewTube 626 Jan 1, 2023
DADT - Deniz AEM Dev Tools A alternative to AEM Chrome Plug-in

DADT A alternative to AEM Chrome Plug-in Installation Download the production zip (aem-dev-tools-{version}-production.zip) from the release tab. And a

eggs unimedia GmbH 2 Oct 24, 2021
A Vite based alternative for @quasar/app

Quasar App Vite This package aims to be a Vite based alternative for @quasar/app. Install pnpm add -D @stefanvh/quasar-app-vite Example Clone the exa

Stefan van Herwijnen 9 Aug 28, 2022
Serverless LinkTree alternative that converts CSV file containing list of links in to LinkTree-like webpage.

CSV to Link Tree This is my personal project as a free alternative to LinkTree. And make the advantage of CSV file to add the links. Built on Gridsome

Akhyar 2 Nov 7, 2021
An alternative privacy-friendly YouTube frontend which is efficient by design.

Piped An open-source alternative frontend for YouTube which is efficient by design. The Problem YouTube has an extremely invasive privacy policy which

Team Piped 3.7k Jan 3, 2023
Zinc Search engine. A lightweight alternative to elasticsearch that requires minimal resources, written in Go.

Zinc Zinc is a search engine that does full text indexing. It is a lightweight alternative to elasticsearch and runs in less than 100 MB of RAM. It us

Prabhat Sharma 13.1k Jan 3, 2023
A fantastic alternative for the Traccar platform web app.

?? Traccar Remix A fantastic alternative for the Traccar platform web app. This App is under development and it's not ready yet ?? Goals for v1 Authen

Ario Team 4 Aug 23, 2022
:star2: PJ Blog is an open source blog built with Laravel and Vue.js.

?? PJ Blog is an open source blog built with Laravel and Vue.js. https://pigjian.com Special thanks to the generous sponsorship by: PJ Blog This is a

Jiajian Chan 2.8k Jan 8, 2023