What is Brainbox?

[content]


What is a server app?

[content]


App structure

	Your app will have the following files
	   /manifest.json
	   /index.php
	   /main.js
	   /main.css
	   /sw.js
	   /fallback_data.json
	   /data.json
	   /images/...
	   /db_commands.sql

Manifest file

add a manifest with the following headings
	{
	  "lang": "en",
	  "tags": ["news","information","aggregator"],
	  "app_category": "news/info",
	  "name": "Brainfeed News Feed",
	  "short_name": "Brainfeed",
	  "version":"0.6",
	  "description": "News to feed your brain",
	  "developer_name": "Rupert Poo",
	  "developer_url":"https://website.newton.house",
	  "developer_payment_address": {"bitcoin":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},
	  "theme_color": "#070934",
	  "background_color": "#448d76",
	  "display": "minimal-ui",
	  "start_url": ".",
	  "scope": "/apps/Brainfeed/",
	  "orientation": "portrait",
	  "icons": [
			{
			  "src": "images/box-72.png", 
			  "sizes": "72x72",
			  "type": "image/png"
			},
			{
			  "src": "images/box-144.png", 
			  "sizes": "144x144", 
			  "type": "image/png"
			},
			{
			  "src": "images/box-512.png", 
			  "sizes": "512x512", 
			  "type": "image/png"
			},
			{
			  "src": "images/maskable_icon.png",
			  "sizes": "196x196",
			  "type": "image/png",
			  "purpose": "any maskable"
			 }
		   ],
	   "splash_pages": null,
	   "screenshots": [
			  {
			    "src": "news_screenshot-1.png",
			    "sizes": "1532x734",
			    "type": "image/png"
			  },
			  {
			    "src": "news_screenshot-2.png",
			    "sizes": "1522x491",
			    "type": "image/png"
			  }

			]
	}
Notes Here are some notes on each line (object property) of the manifest file
language 
	how does the country code work?  en,  
	where is the list
app_category 
	must match one in the index found at
	https://datakey.io/server_apps/apps_index.json	
	ie "app_category": "news/info"

"tags": 
	["news","information","aggregator"],

"name": 
	"Brainfeed News Feed",
"short_name": 
	"Brainfeed",
"version":
	"0.6",
"description": 
	"News to feed your brain",
"developer_name": 
	"Rupert Poo",
"developer_url":
	"https://website.newton.house",
"developer_payment_address": 
	{"bitcoin":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},
"theme_color": 
	"#070934",
"background_color": 
	"#448d76",
"display": 
	"minimal-ui",
"start_url": 
	".",
"scope": 
	"/apps/Brainfeed/",
"orientation": 
	"portrait",
"icons": 
	an array of objects enclosed by []
	each object has 3 properties
	ie		{ "src": "images/box-72.png", "sizes": "72x72", "type": "image/png"}
		src  a relative path to the icon ie "images/box-144.png",
		sizes the h x w in pixels ie "72x72"
		type the image MIME type ie "image/png"
	maskable images are cool for web apps, see this url [] for more, and this url [] to test
	and this url [] to make a maskable icon from one of your own
	maskable images have one extra property to specify
		  "purpose": "any maskable"  see an example object in the array below

	each object is comma separated inside the array for example

		{
		  "src": "images/box-144.png", 
		  "sizes": "144x144", 
		  "type": "image/png"
		},
		{
		  "src": "images/box-512.png", 
		  "sizes": "512x512", 
		  "type": "image/png"
		},
		{
		  "src": "images/maskable_icon.png",
		  "sizes": "196x196",
		  "type": "image/png",
		  "purpose": "any maskable"
		 }

"splash_pages": 
	if no splash pages set this property to null ie 
		   "splash_pages": null,
	[what does it look like if there are splash pages]
	what are splash pages
	where do they go, and where are they used
	splash pages are used by the browser when the app is loading if there is a delay in fetching resources

"screenshots": 
	an array of objects
	each object has src, size, type properties
		src ...
		size ...
		type ...
	each object property is written in the same way that icons are (examples above)
	screenshots are used in Brainbox or other apps which list server apps available for download

Libraries/functions/APIs

Libriaries

There is a Natural Language Processing library (NLQ)

Functions

[content]

APIs

Datakey has these APIs which can be called from your app


Submitting

Checklist


Versions

If you improve or change your app you can upload a new version.


Rewards

Every install of your app will earn you crypto rewards. At install you will receive


Signing

[content]