Skip to content

⚡️ High-availability distributed open source serverless NoSQL realtime database 🐰

License

Notifications You must be signed in to change notification settings

matisiekpl/enbase-go

Repository files navigation

DEPRECTATION WARNING: Following project is currently deprecated, cause of enbase-dotnet implementation. Pull requests and issues are ignored

Enbase 🍃

⚡️ High-availability distributed open source serverless NoSQL realtime database 🐰

Build powerful realtime cross-platform apps with high-availability backend solution

Enbase
⚡️ Launch your database in minutes no matter how big is your cluster
📈 Highly scalable from hundreds to tens of thousands of records
Reactive Built-in websocket support
📱 Cross-platform iOS, Android, and the web
Fast Powered by Go
🔗 NoSQL - store data like you want

Why

Creating reactive apps is the future. You can right now start building your high-performance and highly-avaiable mobile or web app with enbase. Enbase is a solution thats automates your backend functions and packs its into data access layer with powerful access permissions and realtime subscriptions

🚀 Quick deployment

with docker compose 🐳

$ wget https://raw.githubusercontent.com/enteam/enbase/master/docker-compose.yml
$ docker-compose up -d

with Helm

$ helm repo add enteam https://raw.githubusercontent.com/enteam/charts/gh-pages
$ helm install enteam/enbase

⚡️ Your app setup

const Enbase = require('enbase-js-sdk');
const database = new Enbase({
	databaseId: '<enbase-database-id>',
	databaseUrl: 'https://<enbase-address>',
	websocketUrl: 'https://<enbase-address>'
});

// Create new document in 'cats' collection
database.collection('cats').create({
  name: 'Kitty',
  age: 2
})

// Read documents from 'cats' collection, where age is equal to 2
database.collection('cats').read({
  age: 2
})

// Update new document in 'cats' collection
database.collection('cats').update('<id>', {
  age: 3
})

// Delete document in 'cats' collection
database.collection('cats').delete('<id>')

// Stream all documents from 'cats' collection, where age is equal to 2, in realtime
database.collection('cats').stream({
  age: 3
}, (cats) => console.log(cats))

Dashboard

Of course, you can manage your enbase database resources with enbase-dashboard. Just access enbase address with your favourite browser and manage create your next awesome app

Contributing

If you have comments, complaints, or ideas for improvements, feel free to open an issue or a pull request!

If you want to contribute, see Contributing guide for details about project setup, testing, etc. If you make a non-trivial contribution, email me, and I'll send you a nice 🐰 sticker!

Author and license

Enbase was created by @MatisiekPL. Main author and maintainer is Mateusz Woźniak.

Contributors: @MatisiekPL, @Radek-Wawrzyk

Enbase is available under the MIT license. See the LICENSE file for more info.

About

⚡️ High-availability distributed open source serverless NoSQL realtime database 🐰

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •