Documentation

GET /api/projects/search

For information on the structure of a project, see GET /api/project/:id. Returns results as a list of all projects that were found using the given search query. All results are in order of best match to worst match. Matches are found using the project creator's name, project name, keywords and description (with short version as fallback). Currently the search uses stemming of keywords and a balance of all attributes to reach a score for a result, but this may become more sophisticated in the future (with e.g. word similarity and word frequency).

GET Params

Param: q

a query for search (any string)

Example of returned JSON

{
	"success": true,
	"projects:": [
		...,
		{
			"success": true,
			"project": {
				"id": 1,
				"date_added": 1694617285452,
				"date_updated": 0,
				"date_release": 0,
				"date_publish": 1694617285452,
				"owner_discord": "302427405023313920",
				"owner_name": "Xella",
				"name": "CCDoom",
				"install_command": "pastebin run xLC8mABU",
				"download_url": null,
				"target_file": "Doom.lua",
				"tags": [
					"fun",
					"action"
				],
				"repository": "https://github.com/Xella37/CCDoom",
				"description_short": "CCDoom is a 3d first-person shooter in ComputerCraft made using the Pine3D graphics library. It is inspired by the game \"Doom\" as the name implies.",
				"description": "CCDoom is a 3d first-person shooter ... truncated for example",
				"description_markdown": "CCDoom is a 3d first-person shooter ... truncated for example",
				"has_thumbnail": true,
				"hide_thumbnail": false,
				"media_count": 5,
				"keywords": [
					"pine",
					"pine3d",
					"3d",
					"shooter",
					"doom",
					"graphics",
					"first",
					"person"
				],
				"downloads": 22,
				"downloads_recent": 20,
				"views": 58,
				"views_recent": 50,
				"likes": 3,
				"visible": true
			}
		},
		...
	]
}