AsteroidDB - Simple but Powerful Database Service for your apps

asteroiddb-cropped    AsteroidDB
Hi Koders!

I want to introduce you my new project called AsteroidDB which helps you save data online (like Firebase, Airtable etc.) but AsteroidDB is much simplier to setup and its source is open-source. :grin:

Its structrue is based on TinyWebDB, and it is a cloned and improved project from Pavitra’s TinyWebDB repository which made with Python. I added new methods and named it as AsteroidDB, because it is not a “Tiny” database service anymore :sweat_smile: As it is improved version of TinyWebDB, it works with App Inventor apps directly.

I thought AsteroidDB can be useful for your apps, so I wanted to create this topic.

How data is stored?

AsteroidDB is 2 column data table, tags and values. When you want to get/delete or modify the value of a record you need to know its tags. Like you do in TinyDB, Firebase etc.

Features

  • A lot of methods
    It has +10 methods to manage your database easily such as get all tags, set password, format…

  • Password Protection
    AsteroidDB has built-in password protection. So if you set a password for database, all modify operations will require a password parameter.

  • Use Everywhere
    As you need to make HTTP requests to the AsteroidDB called GET, POST etc. You can manage your database almost every programming language.

Methods

TinyWebDB has only 2 methods for now; get value and store value.

But AsteroidDB has more methods than TinyWebDB:

  • Store - Stores a new record or changes existing one.
  • Get Value - Returns one record.
  • Get All Data - Returns all tags along with values.
  • Get All Tags - Returns all tags.
  • Delete - Deletes one record.
  • Format - Deletes all records.
  • Set Password - Sets a new password or changes the current one.
  • Unlock - Removes password protection.
  • Count - Counts records.
  • Is Locked - Returns true if database is locked with a password. Otherwise, false.
  • Is True - Returns true if database password is same with entered password, useful for checking the password before connecting to the database.

And as I said, AsteroidDB works with App Inventor directly. So I created an App Inventor extension to access your AsteroidDB instance. So don’t worry about integrating that to App Inventor. :wink:

Detailed descriptions can be found on AsteroidDB Docs.

Get Started

You can have your AsteroidDB instance with Heroku’s one-click to deploy feature. Just enter an app name after clicking that button.

Deploy
After deploying your app open your project, import the AsteroidDB extension and fill the properties.

image

After that, you can now use blocks to manage your database! That’s it! As you deployed your app on Heroku, it uses your Heroku account’s plan. And Heroku is a cloud application platform.

However, Heroku’s free plan offers 10.000 rows/records and maximum connection limit is 20. You should pay for Heroku if you want more storage. If you don’t want to host on Heroku, you can host AsteroidDB in somewhere else you know as its written in Python, Flask.

Example

Resources

Extension: AsteroidDB for App Inventor Extension (version v1.1)

Docs: AsteroidDB Docs

Source code:

Let me know if you have any questions about AsteroidDB. :slightly_smiling_face:

36 Likes

Amazing, i will try that… excellent work,

3 Likes

This is

Great Job.

I hope you post this also on the App Inventor forum.

12 Likes

Great work @yusufcihan!

A big thumbs up thumbs-up

4 Likes

Thank you for support Peter! :blush:

And also thanks @FahadAhmad and @ImranTariq!

Why not? :slightly_smiling_face: I can create a topic in App Inventor forum soon.

6 Likes

Maybe post some sample routines and blocks how it can be used?

3 Likes

My bad :man_facepalming:. I will update the topic with block snippets.

1 Like

Maybe as an extra service to users. Could you also make instructions for users that want to host AstroidDB on their own server instead of using Heroku?

10 Likes

I have a Wiki for AsteroidDB. So for don’t making this topic very long, I posted detailed example blocks there. Let me know if it is not enough :grin:

Of course!

4 Likes

Awesome contribution!
:smiley::+1::+1:

4 Likes

I think you can use it :wink:

3 Likes

I have no words to describe my feelings :astonished:

Amazing…awesome…cool…useful…and many more :slightly_smiling_face:
Thank you @yusufcihan for AsteroidDB

3 Likes

My provider says that for the requirements i would have to buy a vps.

image

1 Like

Yeap, I was thinking to use this instead of Firebase.

2 Likes

Looks like yes, I prefer hosting on a cloud platform like AWS, Heroku etc. as they are more simple to host AsteroidDB on.

1 Like

Awesome database!

1 Like

Is It possible jpg storage, upload and download?

It is just for storing strings. So maybe it would be possible to store the image as a string with an extension like this.

4 Likes

It’s Amazing @yusufcihan i will try it soon.

1 Like

The URL we input in the Extension settings in Kodular is the one we find in Heroku Git URL or the one that says “Your app can be found at https://xxxxxxxxxxxxxxxxxxxxxxx” ?
Or the one in Config Vars (postgres://xxxxxxx)?

1 Like