QetriX


QetriX

About QetriX

QetriX is a paradigm for creating digital apps with semantic data. Its main focus is on HTML5, which has been popular in both online and offline solutions for the past few years.

With QetriX Framework you build apps using just three components: QView, QList and QForm. Each component transforms data provided by datastores to a representation defined by converters.

QetriX introduces data particles, whose unique structure allows to store dynamically structured and interlinked semantic data of any kind.

QetriX Family

Framework

Many platforms, single coding style. Quick and easy way how to make apps for various targets, using components, converters and datastores. Scriptable with Que language.

Qedy

JSON-based Framework extension for rapid development of rich HTML5 applications.

QPDB

Particle database schema for dynamically structured and interlinked semantic data. Also features geographical extension.

QB

Database for anything (and maybe one day of everything): people, food, songs, products, places, machines, software, movies, companies etc. QB allows to add, view, edit and compare them.

Quid

ERP for companies and individuals. Contains basic Project Management with Time Tracker, CRM, Asset Management, Service Desk, CMDB and more.

Qarate

Social network, where users can rate anything on a scale from 1 (worst) to 5 (best). Uses data from QB.

Quiky

Quick Wiki - easy to use online and offline wiki with QPDB support. Also works as CMS for websites, blogs and galleries.

Qua

Trip planner, flight log and geo tracker. Works great in connection with Qarate and Quid. Online or offline usage.

Quly

Cross-genre multiplatform videogame, where you can groom your family of Qules in an open world and in the real world.

QeX

Czech internet multiportal, featuring news, articles, discussion boards and forums, Q/A, games, blogs, reviews and more.

Showcase

Examples

Page in Java

public class PageInJava extends QModule
{
	public String main()
	{
		var view = new QView("form");
		view.heading("Page in Java");
		view.add("This is a HTML page in Java.");
		return view.convert("page");
	}
}

Table in PHP

class TableInPHP extends QModule
{
	public function table()
	{
		$tbl = new QList("table");
		$tbl->heading("Table in PHP");
		$tbl->add($this->ds()->getTableData());
		$tbl->addCol("id", "ID");
		$tbl->addCol("name", "Name");
		return $tbl->convert("table");
	}
}

Form in C#

public class FormInCS : QModule
{
	public String form()
	{
		var frm = new QForm("form");
		frm.heading("Form in C#");
		frm.add(new Det(ValueType.email, "email", "E-mail", "", 10));
		frm.add((new Det(ValueType.button)).action("formSubmit"));
		return frm.convert();
	}
}

Navigation in Python

class NavInPython(QModule):
	def nav()
		nav = QList("nav");
		nav.add({"text":"First", "action":"first.html"});
		nav.add({"text":"Second", "action":"second.html"});
		nav.add({"text":"third", "action":"third.html"});
		nav.actionBase(self.page().pathBase());
		nav.value(self.page().path());
		return nav.convert();

DataStore method in Ruby

class RubyOracleDS < DataStore
	def self.getTableData()
		return self.get("SELECT a, b, c FROM ".self.prefix()."table WHERE c = 1 ORDER BY a, b DESC");
	end
end

Module in Que

qview:page	heading:Module in Que
#1.add	Lorem ipsum dolor sit amet
qform:search
#3.add:text
#3.add:button
#1.add	#3
#1.convert	html	page
			

Module in Rust

fn rustmod(x: Dict) -> string
{
	def self.getTableData()
	return self.get("SELECT a, b, c FROM ".self.prefix()."table WHERE c = 1 ORDER BY a, b DESC");
}
			

Particle structure in MySQL

CREATE TABLE `p` (
	`p_pk` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Primary Key (ID)',
	`pp_fk` INT(10) UNSIGNED NOT NULL COMMENT 'Entity (p.p_pk of a parent Particle)',
	`pt_fk` INT(10) UNSIGNED NOT NULL COMMENT 'Classification or Type (t.t_pk)',
	`pv` VARCHAR(200) NULL DEFAULT NULL COMMENT 'Value' COLLATE 'utf8_unicode_ci',
	`pr_fk` INT(10) UNSIGNED NULL DEFAULT NULL COMMENT 'Relation (p.p_pk of a foreign Particle)',
	`po` INT(10) NOT NULL DEFAULT '0' COMMENT 'Order',
	PRIMARY KEY (`p_pk`),
	INDEX `pt` (`pt_fk`),
	INDEX `pp` (`pp_fk`),
	INDEX `pr` (`pr_fk`)
)
COLLATE='utf8_unicode_ci';

Particle data in JSON

{
	"p_pk": 24,
	"pp_fk": 24,
	"pt_fk": 7,
	"pv": "QetriX",
	"pr_fk": null,
	"po": 999
}

Downloads

Sorry, no downloads are available at the moment. Please, stay tuned.
You can also check our progress on GitHub.

History

2017

  • Qedy Mk. II released.

2016

  • Qedy added to the QetriX Family.
  • Framework Mk. VI released.
    • Dict,
    • QApp replaced by QPage,
    • QType and QListRow replaced by QElem.
  • Added trip planner to Qua.

2015

  • Qua, Qarate and Quid added to the QetriX Family.
  • Quly added to the QetriX Family.

2014

  • Mravenci (Ants), running on cross platform QWebApp, released.
  • Framework Mk. V released.
    • Renderers replaced by converters,
    • multiplatform coding standards.
  • Quiky for Windows reengineered.
    • WPF instead of WinForms,
    • using C# QetriX Framework.
  • Framework Mk. IV released.
    • Modules instead of plugins,
    • components introduced,
    • renderers introduced.

2013

  • Quiky added to the QetriX Family.
  • G-Particle introduced with GeoEdit.
  • QB offers personal semantic databases.
  • Framework Mk. III released.
  • QB Mk. II released.

2012

  • Quiky added to the QetriX Family.
  • QetriX got a logo.
  • Framework Mk. II released.

2011

  • QB finished.
  • QB reengineered.
  • QetriX name developed.

2010

  • QB released.

2009

  • Data Particle was invented and QPDB was born.

2008

Contact

Social networks

Stay Tuned