[PHP] Breadly - The missing backend for App Inventor apps (beta)

Let me try currently i am working in php side of my website

2 Likes

I still have enough editing, but it is very useful, even the Json API requires authentication (Very useful for applications that store user data)

Some screenshots:

4 Likes

Can anyone tell me how to set up it u am learning

This post was flagged by the community and is temporarily hidden.

Requeriments:

  • Composer
  • SSH Access (If you will use a web hosting)
  • MySQL/MariaDB
  • PHP
1 Like

Hi, I remembered your comment, I will do a tutorial later

1 Like

If you have the time that would be greatly appreciated.

1 Like

3 posts were merged into an existing topic: easy online database (free and safe)

Hello everyone,

I’m the author of Breadly. Feel free to ask anything about it, I’d be glad to help :slight_smile:

11 Likes

Just published a new release with two small features added:

  1. Your Breadly is now a Tiny Web DB storage service too! It’s there, enabled by default and ready to store your data!
  2. Added a GUID authentication so you can quickly register/log in with device ID only!

To update, first pull a new version from git:

git pull

After that update Laravel components:

composer install

And finally, migrate the database:

php artisan migrate

Tiny Web DB

Not much philosophy here, just put your Breadly URL as your Tiny Web DB service URL and it will work.

To clear all data from Tiny Web DB at this moment you have to run the following command:

php artisan tinywebdb:purge

GUID authentication

Truth is, in most apps you just want to store some data related to the user and you usually do not need user email or name. Or you just don’t want to bother your users with registration/login process. This new API endpoint allows you to register/login user with GUID only. If the user does not exist, it will be created. If it exists, it will be logged in and you will receive a JSON token which you can then use with other endpoints.

/api/auth/guid

What is GUID? Short for “global unique identifier”, it can be any string, but it has to be unique to the user/device. A good idea is to use device ID or OneSignal ID as the guid, because those will most likely be unique, but it’s up to you to ensure it is unique. That’s why this option is disabled by default and can be turned on in Settings page. I’ll add more info about this in the docs (wiki) in the coming days.

3 Likes

Excellent :slight_smile:

Just published a new release, with following improvements:

  • fixed not sending welcome email on web registration
  • installer improvements
  • added support for caffeinated/modules

As always, to update first pull a new version from git:

git pull

After that update Laravel components:

composer install

And finally, migrate the database:

php artisan migrate

I’ve added caffeinated/modules, which is a well known module package for Laravel so I hope in future we can have drop-in support for modules (similar like how Wordpress plugins work) to allow users to extend and modify Breadly behavior without the need to modify Breadly code.

To test the module system I started working on https://breadly.cloud, which is a Breadly SaaS (software as a service) powered by vanilla Breadly + a module which I developed. Just register on the site and you’ll get your own copy of Breadly (on a subdomain) and an SQLite database to play with. Do note that it’s still under construction and things may break. Also, I’m not enforcing any limitations on the database/storage size but please do not abuse that :slight_smile:

2 Likes

This is very, very nice. It is not for everyone but even those who can’t work on it by themselves can pay someone to do it once and work alone most of the time without big problems.

1 Like

Yeah, I realized it’s not that easy to set up a Laravel application so that’s why I made the hosted version.

It’s easier to get started, but there are some limitations, like no customization of the web site, no extending by modifying the code / adding modules, you’re basically limited to (default) API only, as all subdomains share the same code (but different database)… and for more serious players who want everything under their control there is still option to host it on your own server.

2 Likes

Hello my dears,
The links above are no longer working. I’m also looking for a way to use PHP to access my website and my Redis server.

Does anyone know this and can tell me how to write a php script to store sortset, hash etc?

Hello thanks for this.
can you more explain what this? This is backend for app inventor?

It’s a PHP web application, pretty much similar to Wordpress, but not the same. It doesn’t have web front-end (some would call that a headless CMS), all it provides to you is a REST API which consists of an authentication system and basic CRUD operations for database tables. It doesn’t even have a database structure (like Wordpress has with categories, posts and pages), it will come with a users table to store user data for authentication, and a couple of other tables to make web admin panel work, but it’s up to you as an app developer to design and build your database tables in any of the supported DB engines.

As I said, out of the box it supports only basic data manipulation through the API, but:

  • It is open source and written in the most popular PHP framework (Laravel), which means anyone who knows PHP/Laravel can extend it
  • It supports a module (plugin) system, so it can be easily extended and those extensions (modules) could be easily distributed. In fact, breadly.cloud is just a module for Breadly, no original files were modified in the making of that site :slight_smile:

It is built with App Inventor in mind, but in reality you could use it with any type of (front-end) application.

Also, with PHP/Laravel knowledge, by modifying Breadly, one could build a website for their app/service which would then share all data with the mobile app.

2 Likes

thanks for the explanation

Hello

I’m looking for a way to upload pictures from my APP to my own server / Raspberry.
Here I got no further-> Build a request for a WEB-API to upload photos #need help - #17 by TimAi2

Now I have again become aware of Breadly.

Can you help me? What do the Kodular blocks look like to upload images?

Sorry for the late reply. You can use Web component to communicate with Breadly, and it also supports file uploads, but only as an attachment to the existing row in the database table: https://github.com/avramovic/breadly/wiki/uploading

Set URL following the explanation linked above (/api/<table>/upload/<column>/<id>), then POST file to that URL: