Coder Social home page Coder Social logo

niledatabase / niledatabase Goto Github PK

View Code? Open in Web Editor NEW
532.0 7.0 21.0 249.42 MB

Serverless Postgres for modern SaaS

Home Page: https://thenile.dev

License: Apache License 2.0

TypeScript 31.24% CSS 1.31% JavaScript 1.65% MDX 65.79%
authentication multiregion multitenant postgresql saas vector serverless

niledatabase's Introduction

Screen Shot 2023-06-21 at 7 35 32 PM


Nile

Nile is serverless Postgres built for modern SaaS applications. All B2B SaaS applications and most B2C SaaS are multi-tenant. A tenant is primarily a company, an organization, or a workspace in your product that contains a group of users. A SaaS application provides services to multiple tenants. Tenant is the basic building block of all SaaS applications.

Nile virtualizes tenants/customers/organizations into Postgres to enable native tenant data isolation, performance isolation between tenants, per-tenant backups, and tenant placement on shared or dedicated compute globally for latency or compliance. You can do all this with the experience of a single Postgres! You don’t have to manage multiple databases, build complex permissions for isolation, or write buggy scripts to read specific tenant data from backups. On top of the tenant model, we provide opt-in user management capabilities, customer-specific vector embeddings, and instant tenant admin dashboards. Moreover, Nile's Postgres is built for the cloud, enabling effortless scaling and a true serverless experience.

We are in private beta currently. You can get an invite by signing up at https://www.thenile.dev/

This is a great resource to read more about Nile in 3 minutes https://www.thenile.dev/docs/nile-in-3-minutes

Features

  • Built-in tenant virtualization
  • Drop-in tenant and user management
  • Onboard tenants once and place them globally - any region, edge or infrastructure
  • Instant customer dashboards
  • Domain and tenant specific AI embeddings
  • Effortlessly elastic
  • Fully integrated ready to use UI components
  • Extensive support for popular Postgres extensions
Screen Shot 2023-10-15 at 5 52 35 PM

Documentation

Nile is in private beta. For documentation, you can check out https://www.thenile.dev/docs. You can get an invite by signing up at https://www.thenile.dev/.

Community & Support

niledatabase's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

niledatabase's Issues

Onboarding fail with 404

When starting for the first time the user-journey is great, but it ended for me at least, in a 404 page.

Of course is not a big deal because you can just reload the console and all was correctly created.

circular link in auth guide docs

This is minor. At the bottom of the auth guide for next.js , there is a link called "Query as a User with Next.js" under the "Next Up:" header. Clicking on this just redirects to the exact same guide url (https://www.thenile.dev/docs/user-authentication/email-login/nextjs) - and brings the scroll to the top since the page is re-rendered. This creates a circular navigation experience, and could be misleading for new users.

I'd suggest either removing this link, or updating to a different "next step" guide for querying users, if one exists.

the example implementation seems to set the userId and tenantId on a singleton

in the nodejs/react example the nile server is instantiated in the index.ts file (

)

and then in the middleware the following properties are set:

nile.token = getUserToken(req.cookies);

  nile.token = getUserToken(req.cookies);
  nile.userId = getUserId(req.cookies);

these values are used in other handlers. this looks like it is introducing a race condition where a next request can overwrite the values before the current request is fully handled? wouldn't it be better to pass the userid and token with the requestcontext?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.